12.automatic toll gate billing system using rfid.

154
Automatic Toll Gate Billing System using RFID.

description

 

Transcript of 12.automatic toll gate billing system using rfid.

Page 1: 12.automatic toll gate billing system using rfid.

Automatic Toll Gate Billing System using RFID.

Page 2: 12.automatic toll gate billing system using rfid.

INDEX

CONTENTS

1. Abbreviations

2. Figures locations

3. Introduction

4. Block Diagram

5. Block Diagram Description

6. Schematic

7. Schematic Description

8. Hardware Components

HARDWARES:

b. Micro controller

c. Power supply

d. RFID Reader

e. SMART CARD READER

f. MAX-232

g. LCD

h. EEPROM

1. Circuit Description

2. Software componentsa. About Kielb. Embedded ‘C’

3. KEIL procedure description

4. Conclusion (or) Synopsis

5. Future Aspects

Page 3: 12.automatic toll gate billing system using rfid.

6. Bibliography

Abbreviations

Page 4: 12.automatic toll gate billing system using rfid.

Symbol Name

ACC Accumulator

B B register

PSW Program status word

SP Stack pointer

DPTR Data pointer 2 bytes

DPL Low byte

DPH High byte

P0 Port0

P1 Port1

P2 Port2

P3 Port3

IP Interrupt priority control

IE Interrupt enable control

TMOD Timer/counter mode control

TCON Timer/counter control

T2CON Timer/counter 2 control

T2MOD Timer/counter mode2 control

TH0 Timer/counter 0high byte

TL0 Timer/counter 0 low byte

TH1 Timer/counter 1 high byte

TL1 Timer/counter 1 low byte

TH2 Timer/counter 2 high byte

TL2 Timer/counter 2 low byte

SCON Serial control

SBUF Serial data buffer

Page 5: 12.automatic toll gate billing system using rfid.

Figure Locations

S.No. Figure Page No.

1 Components of Typical Linear Power Supply

2 An Electrical Transformer

3 Bridge Rectifier

4 Bridge Rectifier Positive Cycle

5 Bridge Rectifier Negative Cycle

6 Three terminal voltage Regulator

7 Functional Diagram of Microcontroller

8 Pin Diagram of Microcontroller

9 Oscillator connections

10 External clock drive connections

11 A register

12 B register

13 RAM

Page 6: 12.automatic toll gate billing system using rfid.

14 RAM Allocation

15 Register Banks

16 PSW

17 DPTR

18 SP

19 PORT 0

20 TL0 and TH0

21 DB9

22 Connecting Microcontroller to PC

23 Types of SIM Structures

24 Smart Card Pin-out

25 Smart Card Reader

26 LCD

27 MAX 232 Pin-out

28 MAX 232 Operating circuit

29 MAX 232 Logic output

30 Project

31 New Project

32 Select Target device

33 Select device for Target

34 Copy 8051 startup code

35 Source group 1

36 New file

37 Opened new file

Page 7: 12.automatic toll gate billing system using rfid.

38 File Save

39 Add files to the source group

40 Adding files to the source group

41 Compilation

42 After Compilation

43 Build

44 Selecting the Ports to be visualized

45 Start Debugging

INTRODUCTION

EMBEDDED SYSTEM:

An embedded system is a special-purpose system in which the computer is completely

encapsulated by or dedicated to the device or system it controls. Unlike a general-purpose computer,

such as a personal computer, an embedded system performs one or a few predefined tasks, usually with

very specific requirements. Since the system is dedicated to specific tasks, design engineers can optimize

it, reducing the size and cost of the product. Embedded systems are often mass-produced, benefiting

from economies of scale.

Personal digital assistants (PDAs) or handheld computers are generally considered embedded

devices because of the nature of their hardware design, even though they are more expandable in

software terms. This line of definition continues to blur as devices expand. With the introduction of the

Page 8: 12.automatic toll gate billing system using rfid.

OQO Model 2 with the Windows XP operating system and ports such as a USB port — both features

usually belong to "general purpose computers", — the line of nomenclature blurs even more.

Physically, embedded systems ranges from portable devices such as digital watches and MP3

players, to large stationary installations like traffic lights, factory controllers, or the systems controlling

nuclear power plants.

In terms of complexity embedded systems can range from very simple with a single

microcontroller chip, to very complex with multiple units, peripherals and networks mounted inside a

large chassis or enclosure.

Examples of Embedded Systems:

Avionics, such as inertial guidance systems, flight control hardware/software and other

integrated systems in aircraft and missiles

Cellular telephones and telephone switches

Engine controllers and antilock brake controllers for automobiles

Home automation products, such as thermostats, air conditioners, sprinklers, and security

monitoring systems

Page 9: 12.automatic toll gate billing system using rfid.

Handheld calculators

Handheld computers

Household appliances, including microwave ovens, washing machines, television sets,

DVD players and recorders

Medical equipment

Personal digital assistant

Videogame consoles

Computer peripherals such as routers and printers.

Industrial controllers for remote machine operation.

BLOCK DIAGRAM:

BLOCK DIAGRAM EXPLANATION:

MICRO CONTROLLER:

MICRO

CONTROLLER

POWER SUPPLY LCD

RFID READER

SMART CARD READER

MAX-232

Gate

System

Page 10: 12.automatic toll gate billing system using rfid.

In this project work the micro-controller is plays major role. Micro-controllers were originally

used as components in complicated process-control systems. However, because of their small

size and low price, Micro-controllers are now also being used in regulators for individual control

loops. In several areas Micro-controllers are now outperforming their analog counterparts and

are cheaper as well.

POWER SUPPLY:

A variable regulated power supply, also called a variable bench power supply, is one where

you can continuously adjust the output voltage to your requirements. Varying the output of the

power supply is the recommended way to test a project after having double checked parts

placement against circuit drawings and the parts placement guide. This type of regulation is ideal

for having a simple variable bench power supply. Actually this is quite important because one of

the first projects a hobbyist should undertake is the construction of a variable regulated power

supply. While a dedicated supply is quite handy e.g. 5V or 12V, it's much handier to have a

variable supply on hand, especially for testing. Most digital logic circuits and processors need a 5

volt power supply. To use these parts we need to build a regulated 5 volt source. Usually you

start with an unregulated power supply ranging from 9 volts to 24 volts DC (A 12 volt power

supply is included with the Beginner Kit and the Microcontroller Beginner Kit.). To make a 5

volt power supply, we use a LM7805 voltage regulator IC.

The LM7805 is simple to use. You simply connect the positive lead of your unregulated

DC power supply (anything from 9VDC to 24VDC) to the Input pin, connect the negative lead to

the Common pin and then when you turn on the power, you get a 5 volt supply from the Output

pin.

DESCRIPTION:

Here in this project drivers are given RFID cards which consist of total information about the

vehicle which includes vehicle number, vehicle type, owner’s name and contact number. Whenever

Page 11: 12.automatic toll gate billing system using rfid.

vehicle enters into the tollgate area, there the RFID reader reads the information from the RFID tag and

verifies whether the person is authorized or not.

If the person is authorized, then the amount will be deducted from the smart card depending on

vehicle type etc… and gate will be opened. If the person is unauthorized or no amount in the smart card

then a false indication is produced.

TECHNOLOGY:

RFID;

Radio Frequency Identification (RFID) is a silicon chip-based transponder that communicates via

radio waves. Radio Frequency Identification is a technology which uses tags as a component in an

integrated supply chain solution set that will evolve over the next several years. RFID tags contain a chip

which holds an electronic product code (EPC) number that points to additional data detailing the

contents of the package. Readers identify the EPC numbers at a distance, without line-of-sight scanning

or involving physical contact. Middleware can perform initial filtering on data from the readers.

Applications are evolving to comply with shipping products to automatically processing transactions

based on RFID technology.

The Identification of authorized persons is stored in the RFID module. when ever we want to

perform a task the authorized person keeps the RFID Tag on the RFID Reader it reads the and checks

whether it is a VALID or INVALID card, if the card belongs to the authorized person (if it is a valid one)

then it will allow for further operations i.e., it will send the information to the controller and controller

will reads the data. The data is received from particular reader, based on the technology used and is

compared with pre-stored values. The device is accessible or the task is performed if and only if the

received data equals pre-stored data (Authentication Success). Else it prompts that the Authentication

Failure is occurred and LCD displays the message that the concern person is an authorized person or not.

If the person is an unauthorized person then he can’t perform the task. If he is an authorized person he

can perform the task as specified in program.

Page 12: 12.automatic toll gate billing system using rfid.

SMART CARD:

Smart cards are secure tokens that have provided security services to a wide range of

applications for over thirty years. A smart card resembles a credit card in size and shape, but inside it is

completely different. A normal credit card is a simple piece of plastic. The smart card internally contains

a Microprocessor Embedded into it. The microprocessor is under a gold contact pad on one side of the

card. In smart card the microprocessor as replacing the usual magnetic strip on a credit card or debit

card.

SOFTWARES:

1. Embedded C

2. MP Lab IDE

3. PIC prog

HARDWARES:

1. Micro controller

2. Power supply

3. RFID Reader

4. SMART CARD READER

5. MAX-232

6. LCD

7. EEPROM

HARDWARE EXPLANATION:

Page 13: 12.automatic toll gate billing system using rfid.

MICRO CONTROLLER 89C51

Introduction

A Micro controller consists of a powerful CPU tightly coupled with memory, various I/O

interfaces such as serial port, parallel port timer or counter, interrupt controller, data acquisition

interfaces-Analog to Digital converter, Digital to Analog converter, integrated on to a single

silicon chip.

If a system is developed with a microprocessor, the designer has to go for external

memory such as RAM, ROM, EPROM and peripherals. But controller is provided all these

facilities on a single chip. Development of a Micro controller reduces PCB size and cost of

design.

One of the major differences between a Microprocessor and a Micro controller is that a

controller often deals with bits not bytes as in the real world application.

Intel has introduced a family of Micro controllers called the MCS-51.

The Major Features:

Compatible with MCS-51 products

4k Bytes of in-system Reprogrammable flash memory

Fully static operation: 0HZ to 24MHZ

Three level programmable clock

128 * 8 –bit timer/counters

Six interrupt sources

Programmable serial channel

Low power idle power-down modes

Why AT 89C51

Page 14: 12.automatic toll gate billing system using rfid.

The system requirements and control specifications clearly rule out the use of 16, 32 or 64 bit

micro controllers or microprocessors. Systems using these may be earlier to implement due to large

number of internal features. They are also faster and more reliable but, 8-bit micro controller

satisfactorily serves the above application. Using an inexpensive 8-bit Microcontroller will doom the 32-

bit product failure in any competitive market place.

Coming to the question of why to use AT89C51 of all the 8-bit microcontroller available

in the market the main answer would be because it has 4 Kb on chip flash memory which is just

sufficient for our application. The on-chip Flash ROM allows the program memory to be

reprogrammed in system or by conventional non-volatile memory Programmer. Moreover

ATMEL is the leader in flash technology in today’s market place and hence using AT 89C51 is

the optimal solution.

AT89C51 MICROCONTROLLER ARCHITECTURE

The 89C51 architecture consists of these specific features:

Eight –bit CPU with registers A (the accumulator) and B

Sixteen-bit program counter (PC) and data pointer (DPTR)

Eight- bit stack pointer (PSW)

Eight-bit stack pointer (Sp)

Internal ROM or EPROM (8751) of 0(8031) to 4K (89C51)

Internal RAM of 128 bytes:

1. Four register banks, each containing eight registers

2. Sixteen bytes, which maybe addressed at the bit level

3. Eighty bytes of general- purpose data memory

Thirty –two input/output pins arranged as four 8-bit ports:p0-p3

Page 15: 12.automatic toll gate billing system using rfid.

Two 16-bit timer/counters: T0 and T1

Full duplex serial data receiver/transmitter: SBUF

Control registers: TCON, TMOD, SCON, PCON, IP, and IE

Two external and three internal interrupts sources.

Oscillator and clock circuits.

Functional block diagram of micro controller

The 89C51 oscillator and clock:

The heart of the 89C51 circuitry that generates the clock pulses by which all the internal

all internal operations are synchronized. Pins XTAL1 And XTAL2 is provided for connecting a

resonant network to form an oscillator. Typically a quartz crystal and capacitors are employed.

The crystal frequency is the basic internal clock frequency of the microcontroller. The

manufacturers make 89C51 designs that run at specific minimum and maximum frequencies

typically 1 to 16 MHz.

Page 16: 12.automatic toll gate billing system using rfid.

Fig 3.7.2: - Oscillator and timing circuit

Types of memory:

The 89C51 have three general types of memory. They are on-chip memory, external Code

memory and external Ram. On-Chip memory refers to physically existing memory on the micro

controller itself. External code memory is the code memory that resides off chip. This is often in the

form of an external EPROM. External RAM is the Ram that resides off chip. This often is in the form of

standard static RAM or flash RAM.

Page 17: 12.automatic toll gate billing system using rfid.

a) Code memory

Code memory is the memory that holds the actual 89C51 programs that is to be run. This

memory is limited to 64K. Code memory may be found on-chip or off-chip. It is possible to have 4K of

code memory on-chip and 60K off chip memory simultaneously. If only off-chip memory is available then

there can be 64K of off chip ROM. This is controlled by pin provided as EA

b) Internal RAM

The 89C51 have a bank of 128 of internal RAM. The internal RAM is found on-chip. So it is the

fastest Ram available. And also it is most flexible in terms of reading and writing. Internal Ram is volatile,

so when 89C51 is reset, this memory is cleared. 128 bytes of internal memory are subdivided. The first

32 bytes are divided into 4 register banks. Each bank contains 8 registers. Internal RAM also contains

128 bits, which are addressed from 20h to 2Fh. These bits are bit addressed i.e. each individual bit of a

byte can be addressed by the user. They are numbered 00h to 7Fh. The user may make use of these

variables with commands such as SETB and CLR.

FLASH MEMORY:

Flash memory (sometimes called "flash RAM") is a type of constantly-powered non volatile that

can be erased and reprogrammed in units of memory called blocks. It is a variation of electrically

erasable programmable read-only memory (EEPROM) which, unlike flash memory, is erased and

rewritten at the byte level, which is slower than flash memory updating. Flash memory is often used to

hold control code such as the basic input/output system (BIOS) in a personal computer. When BIOS

needs to be changed (rewritten), the flash memory can be written to in block (rather than byte) sizes,

making it easy to update. On the other hand, flash memory is not useful as random access memory

(RAM) because RAM needs to be addressable at the byte (not the block) level.

Page 18: 12.automatic toll gate billing system using rfid.

Flash memory gets its name because the microchip is organized so that a section of memory

cells are erased in a single action or "flash." The erasure is caused by Fowler-Nordheim tunneling in

which electrons pierce through a thin dielectric material to remove an electronic charge from a floating

gate associated with each memory cell. Intel offers a form of flash memory that holds two bits (rather

than one) in each memory cell, thus doubling the capacity of memory without a corresponding increase

in price.

Flash memory is used in digital cellular phones, digital cameras, LAN switches, PC Cards for

notebook computers, digital set-up boxes, embedded controllers, and other devices.

Memory Type

Features

FLASH Low-cost, high-density, high-speed

architecture; low power; high reliability

ROM

Read-Only Memory

Mature, high-density, reliable, low cost;

time-consuming mask required, suitable for

high production with stable code

SRAM

Static Random-Access Memory

Highest speed, high-power, low-density

memory; limited density drives up cost

EPROM

Electrically Programmable Read-Only

Memory

High-density memory; must be exposed to

ultraviolet light for erasure

Page 19: 12.automatic toll gate billing system using rfid.

EEPROMorE2PROM

Electrically Erasable Programmable Read-

Only Memory

Electrically byte-erasable; lower reliability,

higher cost, lowest density

DRAM

Dynamic Random Access Memory

High-density, low-cost, high-speed, high-

power

Technical Overview of Flash Memory

Flash memory is a nonvolatile memory using NOR technology, which allows the user to electrically

program and erase information. Intel® Flash memory uses memory cells similar to an EPROM, but with a

much thinner, precisely grown oxide between the floating gate and the source (see Figure 2). Flash

programming occurs when electrons are placed on the floating gate. The charge is stored on the floating

gate, with the oxide layer allowing the cell to be electrically erased through the source. Intel Flash

memory is an extremely reliable nonvolatile memory architecture.

Page 20: 12.automatic toll gate billing system using rfid.

Fig 3.7.3: - Pin diagram of AT89C51

Pin Description:

VCC: Supply voltage.

GND: Ground.

Port 0:

Port 0 is an 8-bit open-drain bi-directional I/O port. As an output port, each pin can sink

eight TTL inputs. When one’s are written to port 0 pins, the pins can be used as high impedance

Page 21: 12.automatic toll gate billing system using rfid.

inputs. Port 0 may also be configured to be the multiplexed low order address/data bus during

accesses to external program and data memory. In this mode P0 has internal pull-ups. Port 0 also

receives the code bytes during Flash programming, and outputs the code bytes during program

verification. External pull-ups are required during program verification.

Port 1:

Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 1 output buffers

can sink/source four TTL inputs. When 1s are written to Port 1 pins they are pulled high by the

internal pull-ups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled

low will source current (IIL) because of the internal pull-ups. Port 1 also receives the low-order

address bytes during Flash programming and verification.

Port 2:

Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2 output buffers

can sink/source four TTL inputs. When 1s are written to Port 2 pins they are pulled high by the

internal pull-ups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled

low will source current (IIL) because of the internal pull-ups. Port 2 emits the high-order address

byte during fetches from external program memory and during accesses to external data

memories that use 16-bit addresses (MOVX @DPTR). In this application, it uses strong internal

pull-ups when emitting 1s. During accesses to external data memories that use 8-bit addresses

(MOVX @ RI), Port 2 emits the contents of the P2 Special Function Register. Port 2 also

receives the high-order address bits and some control signals during Flash programming and

verification.

Port 3:

Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 3 output buffers can

sink/source four TTL inputs. When 1s are written to Port 3 pins they are pulled high by the internal pull-

ups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low will source

current (IIL) because of the pull-ups.

Page 22: 12.automatic toll gate billing system using rfid.

Port 3 also serves the functions of various special features of the AT89C51 as listed below:

Port 3 also receives some control signals for Flash programming and verification

Tab 6.2.1 Port pins and their alternate functions

RST:

Reset input. A high on this pin for two machine cycles while the oscillator is running resets the

device.

ALE/PROG:

Address Latch Enable output pulse for latching the low byte of the address during

accesses to external memory. This pin is also the program pulse input (PROG) during Flash

programming. In normal operation ALE is emitted at a constant rate of 1/6the oscillator

frequency, and may be used for external timing or clocking purposes. Note, however, that one

ALE pulse is skipped during each access to external Data Memory.

Page 23: 12.automatic toll gate billing system using rfid.

If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the bit set, ALE is

active only during a MOVX or MOVC instruction. Otherwise, the pin is pulled high. Setting the ALE-

disable bit has no effect if the microcontroller is in external execution mode.

PSEN:

Program Store Enable is the read strobe to external program memory. When the

AT89C51 is executing code from external program memory, PSEN is activated twice each

machine cycle, except that two PSEN activations are skipped during each access to external data

memory.

EA/VPP:

External Access Enable EA must be strapped to GND in order to enable the device to fetch code

from external program memory locations starting at 0000H up to FFFFH.

Note, however, that if lock bit 1 is programmed, EA will be internally latched on reset.

EA should be strapped to VCC for internal program executions. This pin also receives the 12-volt

programming enable voltage (VPP) during Flash programming, for parts that require 12-volt VPP.

XTAL1:

Input to the inverting oscillator amplifier and input to the internal clock operating circuit.

XTAL2:

It is the Output from the inverting oscillator amplifier.

Oscillator Characteristics:

Page 24: 12.automatic toll gate billing system using rfid.

XTAL1 and XTAL2 are the input and output, respectively, of an inverting amplifier

which can be configured for use as an on-chip oscillator, as shown in Figs 6.2.3. Either a quartz

crystal or ceramic resonator may be used. To drive the device from an external clock source,

XTAL2 should be left unconnected while XTAL1 is driven as shown in Figure 6.2.4.There are

no requirements on the duty cycle of the external clock signal, since the input to the internal

clocking circuitry is through a divide-by-two flip-flop, but minimum and maximum voltage high

and low time specifications must be observed.

Fig 6.2.3 Oscillator Connections Fig 6.2.4 External Clock Drive Configuration

Notes:

1. Under steady state (non-transient) conditions, IOL must be externally

limited as follows:

Maximum IOL per port pin: 10 mA

Maximum IOL per 8-bit port: Port 0: 26 mA

Ports 1, 2, 3: 15 mA

Maximum total IOL for all output pins: 71 mA

If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not

guaranteed to sink current greater than the listed test conditions.

2. Minimum VCC for Power-down is 2V.

Page 25: 12.automatic toll gate billing system using rfid.

REGISTERS:

In the CPU, registers are used to store information temporarily. That information could be a

byte of data to be processed, or an address pointing to the data to be fetched. The vast majority of

8051 registers are 8–bit registers. In the 8051 there is only one data type: 8bits. The 8bits of a register

are shown in the diagram from the MSB (most significant bit) D7 to the LSB (least significant bit) D0.

With an 8-bit data type, any data larger than 8bits must be broken into 8-bit chunks before it is

processed. Since there are a large number of registers in the 8051, we will concentrate on some of the

widely used general-purpose registers and cover special registers in future chapters.

D7 D6 D5 D4 D3 D2 D1 D0

The most widely used registers of the 8051 are A (accumulator), B, R0, R1, R2, R3, R4, R5, R6, R7,

DPTR (data pointer), and PC (program counter). All of the above registers are 8-bits, except DPTR and

the program counter. The accumulator, register A, is used for all arithmetic and logic instructions.

SFRs (Special Function Registers)

Among the registers R0-R7 is part of the 128 bytes of RAM memory. What about

registers A, B, PSW, and DPTR? Do they also have addresses? The answer is yes. In the 8051,

registers A, B, PSW and DPTR are part of the group of registers commonly referred to as SFR

(special function registers). There are many special function registers and they are widely used.

The SFR can be accessed by the names (which is much easier) or by their addresses. For

example, register A has address E0h, and register B has been ignited the address F0H, as shown

in table.

The following two points should noted about the SFR addresses.

Page 26: 12.automatic toll gate billing system using rfid.

1. The Special function registers have addresses between 80H and FFH. These

addresses are above 80H, since the addresses 00 to 7FH are addresses of RAM

memory inside the 8051.

2. Not all the address space of 80H to FFH is used by the SFR. The unused locations

80H to FFH are reserved and must not be used by the 8051 programmer.

Regarding direct addressing mode, notice the following two points: (a) the address value

is limited to one byte, 00-FFH, which means this addressing mode is limited to accessing RAM

locations and registers located inside the 8051. (b) If you examine the l st file for an assembly

language program, you will see that the SFR registers names are replaced with their addresses as

listed in table.

Symbol Name Address

ACC Accumulator 0E0H

B B register 0F0H

PSW Program status word 0D0H

SP Stack pointer 81H

DPTR Data pointer 2 bytes

DPL Low byte 82H

DPH High byte 83H

P0 Port0 80H

P1 Port1 90H

P2 Port2 0A0H

P3 Port3 0B0H

IP Interrupt priority control 0B8H

IE Interrupt enable control 0A8H

Page 27: 12.automatic toll gate billing system using rfid.

TMOD Timer/counter mode control 89H

TCON Timer/counter control 88H

T2CON Timer/counter 2 control 0C8H

T2MOD Timer/counter mode2 control 0C9H

TH0 Timer/counter 0high byte 8CH

TL0 Timer/counter 0 low byte 8AH

TH1 Timer/counter 1 high byte 8DH

TL1 Timer/counter 1 low byte 8BH

TH2 Timer/counter 2 high byte 0CDH

TL2 Timer/counter 2 low byte 0CCH

RCAP2H T/C 2 capture register high byte 0CBH

RCAP2L T/C 2 capture register low byte 0CAH

SCON Serial control 98H

SBUF Serial data buffer 99H

PCON Power control 87H

Table: 8051 Special function register Address

A Register (Accumulator)

Page 28: 12.automatic toll gate billing system using rfid.

This is a general-purpose register which serves for storing intermediate results during operating.

A number (an operand) should be added to the accumulator prior to execute an instruction upon

it. Once an arithmetical operation is preformed by the ALU, the result is placed into the

accumulator. If a data should be transferred from one register to another, it must go through

accumulator. For such universal purpose, this is the most commonly used register that none

microcontroller can be imagined without (more than a half 8051 microcontroller's instructions

used use the accumulator in some way).

B Register

B register is used during multiply and divide operations which can be performed only upon

numbers stored in the A and B registers. All other instructions in the program can use this

register as a spare accumulator (A).

During programming, each of registers is called by name so that their exact address is

not so important for the user. During compiling into machine code (series of hexadecimal numbers

recognized as instructions by the microcontroller), PC will automatically, instead of registers’ name,

write necessary addresses into the microcontroller.

R Registers (R0-R7)

Page 29: 12.automatic toll gate billing system using rfid.

This is a common name for the total 8 general purpose registers (R0, R1, and R2 ...R7). Even

they are not true SFRs, they deserve to be discussed here because of their purpose. The bank is

active when the R registers it includes are in use. Similar to the accumulator, they are used for

temporary storing variables and intermediate results. Which of the banks will be active depends

on two bits included in the PSW Register. These registers are stored in four banks in the scope of

RAM.

The following example best illustrates the useful purpose of these registers. Suppose that

mathematical operations on numbers previously stored in the R registers should be performed:

(R1+R2) - (R3+R4). Obviously, a register for temporary storing results of addition is needed.

Everything is quite simple and the program is as follows:

MOV A, R3; Means: move number from R3 into accumulator

ADD A, R4; Means: add number from R4 to accumulator (result remains in accumulator)

MOV R5, A; Means: temporarily moves the result from accumulator into R5

MOV A, R1; Means: move number from R1 into accumulator

ADD A, R2; Means: add number from R2 to accumulator

SUBB A, R5; Means: subtract number from R5 (there are R3+R4)

Page 30: 12.automatic toll gate billing system using rfid.

8051 Register Banks and Stack

RAM memory space allocation in the 8051

There are 128 bytes of RAM in the 8051. The 128 bytes of RAM inside the 8051 are assigned

addresses 00 to7FH. These 128 bytes are divided into three different groups as follows:

1. A total of 32 bytes from locations 00 to 1FH hex are set aside for register banks and the

stack.

2. A total of 16 bytes from locations 20 to 2FH hex are set aside for bit-addressable read/write

memory.

3. A total of 80 bytes from locations 30H to 7FH are used for read and write storage, or what is

normally called Scratch pad. These 80 locations of RAM are widely used for the purpose of

storing data and parameters nu 8051 programmers.

Register banks in the 8051

A total of 32bytes of RAM are set aside for the register banks and stack. These 32 bytes are

divided into 4 banks of registers in which each bank has registers, R0-R7. RAM locations 0 to 7 are set

aside for bank 0 of R0-R7 where R0 is RAM location 0, R1 is RAM location 1, and R2 is location 2, and so

on, until memory location7, which belongs to R7 of bank0. The second bank of registers R0-R7 starts at

RAM location 08 and goes to location 0FH. The third bank of R0-R7 starts at memory location 10H and

goes to location 17H. Finally, RAM locations 18H to 1FH are set aside for the fourth bank of R0-R7. Fig

shows how the 32 bytes are allocated into 4 banks.

As we can see from fig 1, the bank 1 uses the same RAM space as the stack. This is a major

problem in programming the 8051. we must either not use register bank1, or allocate another area of

RAM for the stack.

Default register bank

If RAM locations 00-1F are set aside for the four register banks, which register bank of R0-R7

do we have access to when the 8051 is powered up? The answer is register bank 0; that is , RAM

locations 0, 1,2,3,4,5,6, and 7 are accessed with the names R0, R1, R2, R3, R4, R5, R6, and R7 when

Page 31: 12.automatic toll gate billing system using rfid.

programming the 8051. It is much easier to refer to these RAM locations with names such as R0, R1 and

so on, than by their memory locations as shown in fig 2.

The register banks are switched by using the D3 & D4 bits of register PSW.

FIG: RAM Allocation in the 8051

Page 32: 12.automatic toll gate billing system using rfid.

Fig: 8051 Register Banks and their RAM Addresses

PSW Register (Program Status Word)

This is one of the most important SFRs. The Program Status Word (PSW) contains several status

bits that reflect the current state of the CPU. This register contains: Carry bit, Auxiliary Carry,

two register bank select bits, Overflow flag, parity bit, and user-definable status flag. The ALU

automatically changes some of register’s bits, which is usually used in regulation of the program

performing.

P - Parity bit. If a number in accumulator is even then this bit will be automatically set (1),

otherwise it will be cleared (0). It is mainly used during data transmission and receiving via

serial communication.

Page 33: 12.automatic toll gate billing system using rfid.

- Bit 1. This bit is intended for the future versions of the microcontrollers, so it is not supposed to

be here.

OV Overflow occurs when the result of arithmetical operation is greater than 255 (decimal), so

that it can not be stored in one register. In that case, this bit will be set (1). If there is no

overflow, this bit will be cleared (0).

RS0, RS1 - Register bank selects bits. These two bits are used to select one of the four register

banks in RAM. By writing zeroes and ones to these bits, a group of registers R0-R7 is stored in

one of four banks in RAM.

RS1 RS2 Space in RAM

0 0 Bank0 00h-07h

0 1 Bank1 08h-0Fh

1 0 Bank2 10h-17h

1 1 Bank3 18h-1Fh

F0 - Flag 0. This is a general-purpose bit available to the user.

AC - Auxiliary Carry Flag is used for BCD operations only.

CY - Carry Flag is the (ninth) auxiliary bit used for all arithmetical operations and shift

instructions.

DPTR Register (Data Pointer)

These registers are not true ones because they do not physically exist. They consist of two

separate registers: DPH (Data Pointer High) and (Data Pointer Low). Their 16 bits are used for

external memory addressing. They may be handled as a 16-bit register or as two independent 8-

Page 34: 12.automatic toll gate billing system using rfid.

bit registers. Besides, the DPTR Register is usually used for storing data and intermediate results

which have nothing to do with memory locations.

SP Register (Stack Pointer)

The stack is a section of RAM used by the CPU to store information temporarily. This

information could be data or an address. The CPU needs this storage area since there are only a

limited number of registers.

How stacks are accessed in the 8051

If the stack is a section of RAM, there must be registers inside the CPU to point to it.

The register used to access the stack is called the SP (Stack point) Register. The stack pointer in

the 8051 is only 8 bits wide; which means that it can take values of 00 to FFH. When the 8051 is

powered up, the SP register contains value 07. This means that RAM location 08 is the first

location used for the stack by the 8051. The storing of a CPU register in the stack is called a

PUSH, and pulling the contents off the stack back into a CPU register is called a POP. In other

words, a register is pushed onto the stack to save it and popped off the stack to retrieve it. The

job of the SP is very critical when push and pop actions are performed.

Page 35: 12.automatic toll gate billing system using rfid.

Pushing onto the stack

In the 8051 the stack pointer (SP) points to the last used location of the stack. As we

push data onto the stack, the stack pointer is incremented by one. Notice that this different from

many microprocessors, notably x86 processors in which the SP is decremented when data is

pushed onto the stack. As each PUSH is executed, the contents of the register are saved on the

stack and SP is incremented by 1. Notice that for every byte of data saved on the stack and then

SP is incremented only once. Notice also that to push the registers onto the stack we must use

their RAM addresses. For example, the instruction “PUSH” pushes register R1 onto the stack.

Popping from the stack

Popping the contents of the stack back into a given register is the opposite process of

pushing. With every pop, the top byte of the stack is copied to the register specified by the

instruction and the stack pointer is decremented once.

The upper limit of the stack

As, mentioned earlier, locations 08 to 1FH in the 8051 RAM can be used for the stack.

This is because locations 20-2FH of RAM are reserved for bit-addressable memory and must not

be used by the stack. If in a program we need more than 24 bytes (08 to 1FH=24bytes) of stack,

we can change the SP to point to RAM locations 30-7FH. This is done with the instruction

“MOV SP, #XX”.

P0, P1, P2, P3 - Input/Output Registers

Page 36: 12.automatic toll gate billing system using rfid.

In case that external memory and serial communication system are not in use then, 4 ports with

in total of 32 input-output lines are available to the user for connection to peripheral

environment. Each bit inside these ports corresponds to the appropriate pin on the

microcontroller. This means that logic state written to these ports appears as a voltage on the pin

(0 or 5 V). Naturally, while reading, the opposite occurs – voltage on some input pins is reflected

in the appropriate port bit.

The state of a port bit, besides being reflected in the pin, determines at the same time whether it

will be configured as input or output. If a bit is cleared (0), the pin will be configured as output.

In the same manner, if a bit is set to 1 the pin will be configured as input. After reset, as well as

when turning the microcontroller ON, all bits on these ports are set to one (1). This means that

the appropriate pins will be configured as inputs.

Program counter:

The important register in the 8051 is the PC (Program counter). The program counter

points to the address of the next instruction to be executed. As the CPU fetches the OPCODE

from the program ROM, the program counter is incremented to point to the next instruction. The

program counter in the 8051 is 16bits wide. This means that the 8051 can access program

addresses 0000 to FFFFH, a total of 64k bytes of code. However, not all members of the 8051

have the entire 64K bytes of on-chip ROM installed, as we will see soon.

Types of instructions

Depending on operation they perform, all instructions are divided in several groups:

Arithmetic Instructions

Branch Instructions

Data Transfer Instructions

Logical Instructions

Logical Instructions with bits

Page 37: 12.automatic toll gate billing system using rfid.

The first part of each instruction, called MNEMONIC refers to the operation an instruction

performs (copying, addition, logical operation etc.). Mnemonics commonly are shortened form

of name of operation being executed. For example:

INC R1; Increment R1 (increment register R1)

LJMP LAB5 ;Long Jump LAB5 (long jump to address specified as LAB5)

JNZ LOOP ;Jump if Not Zero LOOP (if the number in the accumulator is not 0, jump to address specified

as LOOP)

Another part of instruction, called OPERAND is separated from mnemonic at least by one empty

space and defines data being processed by instructions. Some instructions have no operand; some

have one, two or three. If there is more than one operand in instruction, they are separated by

comma. For example:

RET - (return from sub-routine)

JZ TEMP - (if the number in the accumulator is not 0, jump to address specified as TEMP)

ADD A,R3 - (add R3 and accumulator)

CJNE A,#20,LOOP - (compare accumulator with 20. If they are not equal, jump to address specified as

LOOP)

Arithmetic instructions

These instructions perform several basic operations (addition, subtraction, division,

multiplication etc.) After execution, the result is stored in the first operand. For example:

ADD A, R1 - The result of addition (A+R1) will be stored in the accumulator.

Arithmetical Instructions

Mnemonic Description Byte NumberOscillator

Period

Page 38: 12.automatic toll gate billing system using rfid.

ADD A,Rn Add R Register to accumulator 1 1

ADD A,Rx Add directly addressed Rx Register to accumulator 2 2

ADD A,@Ri Add indirectly addressed Register to accumulator 1 1

ADD A,#X Add number X to accumulator 2 2

ADDC A,Rn Add R Register with Carry bit to accumulator 1 1

Branch Instructions

There are two kinds of these instructions:

Unconditional jump instructions: After their execution a jump to a new location from where

the program continues execution is executed.

Conditional jump instructions: If some condition is met - a jump is executed. Otherwise, the

program normally proceeds with the next instruction.

Branch Instruction

Mnemonic Description Byte NumberOscillator

Period

ACALL adr11Call subroutine located at address within 2 K byte

Program Memory space2 3

LCALL adr16Call subroutine located at any address within 64 K byte

Program Memory space3 4

RET Return from subroutine 1 4

Page 39: 12.automatic toll gate billing system using rfid.

RETI Return from interrupt routine 1 4

AJMP adr11Jump to address located within 2 K byte Program

Memory space2 3

LJMP adr16Jump to any address located within 64 K byte Program

Memory space3 4

Data Transfer Instructions

These instructions move the content of one register to another one. The register which content is

moved remains unchanged. If they have the suffix “X” (MOVX), the data is exchanged with

external memory.

Data Transfer Instruction

Mnemonic Description Byte Number Cycle Number

MOV A,Rn Move R register to accumulator 1 1

MOV A,RxMove directly addressed Rx register to

accumulator2 2

MOV A,@Ri Move indirectly addressed register to accumulator 1 1

MOV A,#X Move number X to accumulator 2 2

Page 40: 12.automatic toll gate billing system using rfid.

Logical Instructions

These instructions perform logical operations between corresponding bits of two registers. After

execution, the result is stored in the first operand.

Logical Instructions

Mnemonic Description Byte Number Cycle Number

ANL A,Rn Logical AND between accumulator and R register 1 1

ANL A,RxLogical AND between accumulator and directly addressed

register Rx2 2

ANL A,@RiLogical AND between accumulator and indirectly

addressed register1 1

ANL A,#X Logical AND between accumulator and number X 2 2

Logical Operations on Bits

Similar to logical instructions, these instructions perform logical operations. The difference is

that these operations are performed on single bits.

Logical operations on bits

Mnemonic Description Byte Number Cycle Number

CLR C Clear Carry bit 1 1

CLR bit Clear directly addressed bit 2 2

SETB C Set Carry bit 1 1

Page 41: 12.automatic toll gate billing system using rfid.

SETB bit Set directly addressed bit 2 2

CPL C Complement Carry bit 1 1

CPL bit Complement directly addressed bit 2 2

TIMERSOn-chip timing/counting facility has proved the capabilities of the microcontroller for

implementing the real time application. These includes pulse counting, frequency measurement, pulse

width measurement, baud rate generation, etc,. Having sufficient number of timer/counters may be a

need in a certain design application. The 8051 has two timers/counters. They can be used either as

timers to generate a time delay or as counters to count events happening outside the microcontroller.

Let discuss how these timers are used to generate time delays and we will also discuss how they are

been used as event counters.

PROGRAMMING 8051 TIMERS

The 8051 has timers: Timer 0 and Timer1.they can be used either as timers or as event counters. Let

us first discuss about the timers’ registers and how to program the timers to generate time delays.

Page 42: 12.automatic toll gate billing system using rfid.

BASIC RIGISTERS OF THE TIMER

Both Timer 0 and Timer 1 are 16 bits wide. Since the 8051 has an 8-bit architecture, each 16-bit

timer is accessed as two separate registers of low byte and high byte.

TIMER 0 REGISTERS

The 16-bit register of Timer 0 is accessed as low byte and high byte. the low byte register is

called TL0(Timer 0 low byte)and the high byte register is referred to as TH0(Timer 0 high byte).These

register can be accessed like any other register, such as A,B,R0,R1,R2,etc.for example, the instruction

”MOV TL0, #4F”moves the value 4FH into TL0,the low byte of Timer 0.These registers can also be read

like any other register.

TIMER 1 REGISTERS

Page 43: 12.automatic toll gate billing system using rfid.

Timer 1 is also 16-bit register is split into two bytes, referred to as TL1 (Timer 1 low byte) and

TH1 (Timer 1 high byte).these registers are accessible n the same way as the register of Timer 0.

TMOD (timer mode) REGISTER

Both timers TIMER 0 and TIMER 1 use the same register, called TMOD, to set the various timer

operation modes. TMOD is an 8-bit register in which the lower 4 bits are set aside for Timer 0 and the

upper 4 bits for Timer 1.in each case; the lower 2 bits are used to set the timer mode and the upper 2

bits to specify the operation.

MODES:

M1, M0:

M0 and M1 are used to select the timer mode. There are three modes: 0, 1, 2.Mode 0 is a 13-

bit timer, mode 1 is a 16-bit timer, and mode 2 is an 8-bit timer. We will concentrate on modes 1 and 2

since they are the ones used most widely. We will soon describe the characteristics of these modes,

after describing the reset of the TMOD register.

GATE Gate control when set. The timer/counter is enabled only

Page 44: 12.automatic toll gate billing system using rfid.

While the INTx pin is high and the TRx control pin is.

Set. When cleared, the timer is enabled.

C/T Timer or counter selected cleared for timer operation

(Input from internal system clock).set for counter

Operation (input TX input pin).

M 1 Mode bit 1

M0 Mode bit 0

M1 M0 MODE Operating Mode

0 0 0 13-bit timer mode

8-bit timer/counter THx with TLx as

5 - Bit pre-scaler.

0 1 1 16-bit timer mode

16-bit timer/counters THx with TLx are

Cascaded; there is no prescaler

1 0 2 8-bit auto reload

8-bit auto reload timer/counter;THx

Holds a value that is to be reloaded into

TLx each time it overflows.

1 1 3 Split timer mode.

C/T (clock/timer)

Page 45: 12.automatic toll gate billing system using rfid.

This bit in the TMOD register is used to decide whether the timer is used as a delay generator or an

event counter. If C/T=0, it is used as a timer for time delay generation. The clock source for the time

delay is the crystal frequency of the 8051. This section is concerned with this choice. The timer’s use as

an event counter is discussed in the next section.

Serial Communication:

Computers can transfer data in two ways: parallel and serial. In parallel data transfers, often 8

or more lines (wire conductors) are used to transfer data to a device that is only a few feet away.

Examples of parallel data transfer are printers and hard disks; each uses cables with many wire strips.

Although in such cases a lot of data can be transferred in a short amount of time by using many wires in

parallel, the distance cannot be great. To transfer to a device located many meters away, the serial

method is used. In serial communication, the data is sent one bit at a time, in contrast to parallel

communication, in which the data is sent a byte or more at a time. Serial communication of the 8051 is

the topic of this chapter. The 8051 has serial communication capability built into it, there by making

possible fast data transfer using only a few wires.

If data is to be transferred on the telephone line, it must be converted from 0s and 1s to audio

tones, which are sinusoidal-shaped signals. A peripheral device called a modem, which stands for

“modulator/demodulator”, performs this conversion.

Serial data communication uses two methods, asynchronous and synchronous. The

synchronous method transfers a block of data at a time, while the asynchronous method transfers a

single byte at a time.

In data transmission if the data can be transmitted and received, it is a duplex transmission.

This is in contrast to simplex transmissions such as with printers, in which the computer only sends data.

Duplex transmissions can be half or full duplex, depending on whether or not the data transfer can be

simultaneous. If data is transmitted one way at a time, it is referred to as half duplex. If the data can go

both ways at the same time, it is full duplex. Of course, full duplex requires two wire conductors for the

Page 46: 12.automatic toll gate billing system using rfid.

data lines, one for transmission and one for reception, in order to transfer and receive data

simultaneously.

Asynchronous serial communication and data framing

The data coming in at the receiving end of the data line in a serial data transfer is all 0s and 1s;

it is difficult to make sense of the data unless the sender and receiver agree on a set of rules, a protocol,

on how the data is packed, how many bits constitute a character, and when the data begins and ends.

Start and stop bits

Asynchronous serial data communication is widely used for character-oriented transmissions,

while block-oriented data transfers use the synchronous method. In the asynchronous method, each

character is placed between start and stop bits. This is called framing. In the data framing for

asynchronous communications, the data, such as ASCII characters, are packed between a start bit and a

stop bit. The start bit is always one bit, but the stop bit can be one or two bits. The start bit is always a 0

(low) and the stop bit (s) is 1 (high).

Data transfer rate

The rate of data transfer in serial data communication is stated in bps (bits per second).

Another widely used terminology for bps is baud rate. However, the baud and bps rates are not

necessarily equal. This is due to the fact that baud rate is the modem terminology and is defined as the

number of signal changes per second. In modems a single change of signal, sometimes transfers several

bits of data. As far as the conductor wire is concerned, the baud rate and bps are the same, and for this

reason we use the bps and baud interchangeably.

The data transfer rate of given computer system depends on communication ports

incorporated into that system. For example, the early IBMPC/XT could transfer data at the rate of 100

to 9600 bps. In recent years, however, Pentium based PCS transfer data at rates as high as 56K bps. It

must be noted that in asynchronous serial data communication, the baud rate is generally limited to

100,000bps.

RS232 Standards

To allow compatibility among data communication equipment made by various

manufacturers, an interfacing standard called RS232 was set by the Electronics Industries Association

Page 47: 12.automatic toll gate billing system using rfid.

(EIA) in 1960. In 1963 it was modified and called RS232A. RS232B AND RS232C were issued in 1965 and

1969, respectively. Today, RS232 is the most widely used serial I/O interfacing standard. This standard

is used in PCs and numerous types of equipment. However, since the standard was set long before the

advert of the TTL logic family, its input and output voltage levels are not TTL compatible. In RS232, a 1 is

represented by -3 to -25V, while a 0 bit is +3 to +25V, making -3 to +3 undefined. For this reason, to

connect any RS232 to a microcontroller system we must use voltage converters such as MAX232 to

convert the TTL logic levels to the RS232 voltage levels, and vice versa. MAX232 IC chips are commonly

referred to as line drivers.

RS232 pins

RS232 cable is commonly referred to as the DB-25 connector. In labeling, DB-25P

refers to the plug connector (male) and DB-25S is for the socket connector (female). Since not

all the pins are used in PC cables, IBM introduced the DB-9 Version of the serial I/O standard,

which uses 9 pins only, as shown in table.

DB-9 pin connector

1 2 3 4 5

6 7 8 9

(Out of computer and exposed end of cable)

Pin Functions:

Pin Description

1 Data carrier detect (DCD)

2 Received data (RXD)

3 Transmitted data (TXD)

4 Data terminal ready(DTR)

5 Signal ground (GND)

6 Data set ready (DSR)

7 Request to send (RTS)

Page 48: 12.automatic toll gate billing system using rfid.

8 Clear to send (CTS)

9 Ring indicator (RI)

Note: DCD, DSR, RTS and CTS are active low pins.

The method used by RS-232 for communication allows for a simple connection of three lines:

Tx, Rx, and Ground. The three essential signals for 2-way RS-232

Communications are these:

TXD: carries data from DTE to the DCE.

RXD: carries data from DCE to the DTE

SG: signal ground

8051 connection to RS232

The RS232 standard is not TTL compatible; therefore, it requires a line driver such as the

MAX232 chip to convert RS232 voltage levels to TTL levels, and vice versa. The interfacing of 8051 with

RS232 connectors via the MAX232 chip is the main topic.

The 8051 has two pins that are used specifically for transferring and receiving data

serially. These two pins are called TXD and RXD and a part of the port 3 group (P3.0 and P3.1). Pin 11 of

the 8051 is assigned to TXD and pin 10 is designated as RXD. These pins are TTL compatible; therefore,

they require a line driver to make them RS232 compatible. One such line driver is the MAX232 chip.

MAX232 converts from RS232 voltage levels to TTL voltage levels, and vice versa.

One advantage of the MAX232 chip is that it uses a +5V power source which, is the same as the source

voltage for the 8051. In the other words, with a single +5V power supply we can power both the 8051

and MAX232, with no need for the power supplies that are common in many older systems. The

Page 49: 12.automatic toll gate billing system using rfid.

MAX232 has two sets of line drivers for transferring and receiving data. The line drivers used for TXD

are called T1 and T2, while the line drivers for RXD are designated as R1 and R2. In many applications

only one of each is used.

CONNECTING μC to PC using MAX 232

INTERRUPTSA single microcontroller can serve several devices. There are two ways to do that:

INTERRUPTS or POLLING.

POLLING:

In polling the microcontroller continuously monitors the status of a given device; when the status

condition is met, it performs the service .After that, it moves on to monitor the next device until

each one is serviced. Although polling can monitor the status of several devices and serve each

of them as certain condition are met.

INTERRUPTS:

Page 50: 12.automatic toll gate billing system using rfid.

In the interrupts method, whenever any device needs its service, the device

notifies the microcontroller by sending it an interrupts signal. Upon receiving an interrupt signal,

the microcontroller interrupts whatever it is doing and serves the device. The program associated

with the interrupts is called the interrupt service routine (ISR).or interrupt handler.

INTERRUPTS Vs POLLING:

The advantage of interrupts is that the microcontroller can serve many devices (not all the

same time, of course); each device can get the attention of the microcontroller based on the

priority assigned to it. The polling method cannot assign priority since it checks all devices in

round-robin fashion. More importantly, in the interrupt method the microcontroller can also

ignore (mask) a device request for service. This is again not possible with the polling

method. The most important reason that the interrupt method is preferable is that the polling

method wastes much of the microcontroller’s time by polling devices that do not need

service. So, in order to avoid tying down the microcontroller, interrupts are used.

INTERRUPT SERVICE ROUTINE

For every interrupt, there must be an interrupt service routine (ISR), or interrupt handler. When an

interrupt is invoked, the microcontroller runs the interrupts service routine. For every interrupt, there is

a fixed location in memory that holds the address of its ISR. The group of memory location set aside to

hold the addresses of ISR and is called the Interrupt Vector Table. Shown below:

Page 51: 12.automatic toll gate billing system using rfid.

Interrupt Vector Table for the 8051:

S.No. INTERRUPT ROM LOCATION (HEX)

PIN FLAG

CLEARING

1. Reset 0000 9 Auto

2. External

hardware

Interrupt 0

0003 P3.2 (12) Auto

3. Timers 0 interrupt (TF0)

000B Auto

4. External

hardware

Interrupt 1(INT1)

0013 P3.3 (13) Auto

5. Timers 1 interrupt (TF1)

001B Auto

6. Serial COM (RI and TI)

0023 Programmer clears it

Page 52: 12.automatic toll gate billing system using rfid.

Six Interrupts in the 8051:

In reality, only five interrupts are available to the user in the 8051, but many manufacturers’ data sheets

state that there are six interrupts since they include reset .the six interrupts in the 8051 are allocated as

above.

1. Reset. When the reset pin is activated, the 8051 jumps to address location 0000.this is the

power-up reset.

2. Two interrupts are set aside for the timers: one for Timer 0 and one for Timer 1.Memory

location 000BH and 001BH in the interrupt vector table belong to Timer 0 and Timer 1,

respectively.

3. Two interrupts are set aside for hardware external harder interrupts. Pin number 12(P3.2) and

13(P3.3) in port 3 are for the external hardware interrupts INT0 and INT1,respectively.These

external interrupts are also referred to as EX1 and EX2.Memory location 0003H and 0013H in

the interrupt vector table are assigned to INT0 and INT1, respectively.

4. Serial communication has a single interrupt that belongs to both receive and transmit. The

interrupt vector table location 0023H belongs to this interrupt.

Notice that a limited number of bytes are set aside for each interrupt. For example, a total of 8 bytes

from location 0003 to 000A is set aside for INT0, external hardware interrupt 0.similarly,a total of 8

bytes from location 00BH to 0012H is reserved for TF0, Timer 0 interrupt. If the service routine for a

given interrupt is short enough to fit in the memory space allocated to it, it is placed in the vector table;

otherwise, and an LJMP instruction is placed in the vector table to point to the address of the ISR. In that

rest of the bytes allocated to that interrupt are unused.

Page 53: 12.automatic toll gate billing system using rfid.

From the above table also notice that only three bytes of ROM space are assigned to the reset pin. they

are ROM address location 0,1 and2.address location 3 belongs to external hardware interrupt 0.for this

reason, in our program we put the LJMP as the first instruction and redirect the processor away from

the interrupt vector table, as shown below

Steps in executing an interrupt

Upon activation of an interrupt, the microcontroller goes through the following steps.

1. It finishes the instruction it is executing and saves the address of the next instruction (PC) on the

stack.

2. It also saves the current status of all the interrupts internally (i.e., not on the stack).

3. It jumps to a fixed location in memory called the interrupt vector table that holds the address of

the interrupts service routine.

4. The microcontroller gets the address of the ISR from the interrupt vector table and jumps to it. It

starts to execute the interrupt service subroutine until it reaches the last instruction of the

subroutine, which is RETI (return from interrupt).

5. Upon executing the RETI instruction, the microcontroller returns to the place where it was

interrupted. First, it gets the program counter (PC) address from the stack by popping the top

two bytes of the stack into the PC. Then it starts to execute from that address.

Notice from step 5 the critical role of the stack. For this reason, we must be careful in manipulating

the stack contents in the ISR. Specifically, in the ISR, just as in any CALL subroutine, the number of

pushes and pops must be equal.

Enabling and disabling an interrupt:

Page 54: 12.automatic toll gate billing system using rfid.

Upon reset, all interrupt are disabled (masked), meaning that none will be responded to by the

microcontroller if they are activated. The interrupt must be enabled by software in order for the

microcontroller to respond to them. There is a register called IE (interrupt enable) that is responsible for

enabling (unmasking) and disabling (masking) the interrupts.

Notice that IE is a bit-addressable register.

Steps in enabling an interrupt:

To enable an interrupt, we take the following steps:

1. Bit D7 of the IE register (EA) must be set to high to allow the reset to take effect.

If EA=1, interrupts are enabled and will be responded to if their corresponding bit in IE are high. If EA=0,

no interrupt will be responded to, even if the associated bit in the IE register is high.

Interrupt Enable Register

D7 D6 D5 D4 D3 D2 D1 D0

EA IE.7 disables all interrupts. If EA=0, no interrupts is acknowledged.

If EA=1, each interrupt source is individually enabled disabled

By setting or clearing its enable bit.

-- IE.6 Not implemented, reserved for future use.*

EA -- ET2 ES ET1 EX1 ET0 EX0

Page 55: 12.automatic toll gate billing system using rfid.

ET2 IE.5 Enables or disables Timer 2 overflow or capture interrupt (8052

Only)

ES IE.4 Enables or disables the serial port interrupts.

ET1 IE.3 Enables or disables Timers 1 overflow interrupt

EX1 IE.2 Enables or disables external interrupt 1.

ET0 IE.1 Enables or disables Timer 0 overflow interrupt.

EX0 IE.0 Enables or disables external interrupt.

RF transmitter section:

RF transmitters are electronic devices that create continuously varying electric current, encode

sine waves, and broadcast radio waves. RF transmitters use oscillators to create sine waves, the simplest

and smoothest form of continuously varying waves, which contain information such as audio and video.

Modulators encode these sign wives and antennas broadcast them as radio signals. There are several

ways to encode or modulate this information, including amplitude modulation (AM) and frequency

modulation (FM). Radio techniques limit localized interference and noise. With direct sequence spread

spectrum, signals are spread over a large band by multiplexing the signal with a code or signature that

modulates each bit. With frequency hopping spread spectrum, signals move through a narrow set of

channels in a sequential, cyclical, and predetermined pattern.

Selecting RF transmitters requires an understanding of modulation methods such as AM and FM.

On-off key (OOK), the simplest form of modulation, consists of turning the signal on or off. Amplitude

modulation (AM) causes the base band signal to vary the amplitude or height of the carrier wave to

create the desired information content. Frequency modulation (FM) causes the instantaneous frequency

of a sine wave carrier to depart from the center frequency by an amount proportional to the

instantaneous value of the modulating signal. Amplitude shift key (ASK) transmits data by varying the

Page 56: 12.automatic toll gate billing system using rfid.

amplitude of the transmitted signal. Frequency shift key (FSK) is a digital modulation scheme using two

or more output frequencies. Phase shift key (PSK) is a digital modulation scheme in which the phase of

the transmitted signal is varied in accordance with the base band data signal.

Additional considerations when selecting RF transmitters include supply voltage, supply current,

RF connectors, special features, and packaging. Some RF transmitters include visual or audible alarms or

LED indicators that signal operating modes such as power on or reception. Other devices attach to

coaxial cables or include a connector or port to which an antenna can be attached. Typically, RF

transmitters that are rated for outdoor use feature a heavy-duty waterproof design. Devices with

internal calibration and a frequency range switch are also available.

RF transmitters are used in a variety of applications and industries. Often, devices that are used

with integrated circuits (ICs) incorporate surface mount technology (SMT), through hole technology

(THT), and flat pack. In the telecommunications industry, RF transmitters are designed to fit in a

metal rack that can be installed in a cabinet. RF transmitters are also used in radios and in electronic

article surveillance systems (EAS) found in retail stores. Inventory management systems use RF

transmitters as an alternative to barcodes.

RF transmitter ST-TX01-ASK:

General Description:

Page 57: 12.automatic toll gate billing system using rfid.

The ST-TX01-ASK is an ASK Hybrid transmitter module. The ST-TX01-ASK is

designed by the Saw Resonator, with an effective low cost, small size, and simple-to-use for

designing.

Frequency Range: 315 / 433.92 MHZ.

Supply Voltage: 3~12V.

Output Power: 4~16dBm

Circuit Shape: Saw

Applications

Wireless security systems

Car Alarm systems

Remote controls.

Sensor reporting

Automation systems

Page 58: 12.automatic toll gate billing system using rfid.

Fig 17: Pin Description of the Transmitter module

Page 59: 12.automatic toll gate billing system using rfid.

Fig 18: Interfacing TX module to a Micro controller

RF ENCODER (HT12E):

Features

_ Operating voltage

_ 2.4V~5V for the HT12A

_ 2.4V~12V for the HT12E

_ Low power and high noise immunity CMOS technology

_ Low standby current: 0.1_A (typ.) at VDD=5V

_ HT12A with a 38kHz carrier for infrared transmission medium

_ Minimum transmission word

_ Four words for the HT12E

_ One word for the HT12A

_ Built-in oscillator needs only 5% resistor

_ Data code has positive polarity

Page 60: 12.automatic toll gate billing system using rfid.

_ Minimal external components

_ HT12A/E: 18-pin DIP/20-pin SOP package

Applications

_ Burglar alarm system

_ Smoke and fire alarm system

_ Garage door controllers

_ Car door controllers

_ Car alarm system

_ Security system

_ Cordless telephones

_ Other remote control systems

General Description

The 212 encoders are a series of CMOS LSIs for remote control system applications. They are capable of

encoding information which consists of N address bits and 12_N data bits. Each address/data input can

be set to one of the two logic states. The programmed addresses/data are transmitted together with the

header bits via an RF or an infrared transmission medium upon receipt of a trigger signal. The capability

to select a TE trigger on the HT12E or a DATA trigger on the HT12A further enhances the application

flexibility of the 212 series of encoders. The HT12A additionally provides a 38kHz carrier for infrared

systems.

Page 61: 12.automatic toll gate billing system using rfid.

Note: Address/Data represents pins that can be address or data according to the decoder requirement.

Fig 19: Block diagram of HT 12E Encoder

Pin Description:

Page 62: 12.automatic toll gate billing system using rfid.

Fig 20: Pin description of HT12E

Page 63: 12.automatic toll gate billing system using rfid.

Note: D8~D11 are all data input and transmission enable pins of the HT12A.

TE is a transmission enable pin of the HT12E.

Absolute Maximum Ratings

Supply Voltage (HT12A) .............._0.3V to 5.5V

Storage Temperature................._50_C to 125_C

Operating Temperature..............._20_C to 75_C

Supply Voltage (HT12E) ..............._0.3V to 13V

Input Voltage....................VSS_0.3 to VDD+0.3V

Page 64: 12.automatic toll gate billing system using rfid.
Page 65: 12.automatic toll gate billing system using rfid.

Fig 21: Timing diagram of the HT12E and HT12A

Page 66: 12.automatic toll gate billing system using rfid.

Application Circuits:

Fig 22: Application circuit of HT12E

Page 67: 12.automatic toll gate billing system using rfid.

Flow Chart:

Fig 23: Flow chat for data transmission in HT12E

RF receiver section:

RF receivers are electronic devices that separate radio signals from one another and convert

specific signals into audio, video, or data formats. RF receivers use an antenna to receive transmitted

radio signals and a tuner to separate a specific signal from all of the other signals that the antenna

receives. Detectors or demodulators then extract information that was encoded before transmission.

There are several ways to decode or modulate this information, including amplitude modulation (AM)

and frequency modulation (FM). Radio techniques limit localized interference and noise. With direct

sequence spread spectrum, signals are spread over a large band by multiplexing the signal with a code

or signature that modulates each bit. With frequency hopping spread spectrum, signals move through a

narrow set of channels in a sequential, cyclical, and predetermined pattern.

Page 68: 12.automatic toll gate billing system using rfid.

Selecting RF receivers requires an understanding of modulation methods such as AM

and FM. On-off key (OOK), the simplest form of modulation, consists of turning the signal on or off.

Amplitude modulation (AM) causes the base band signal to vary the amplitude or height of the carrier

wave to create the desired information content. Frequency modulation (FM) causes the instantaneous

frequency of a sine wave carrier to depart from the center frequency by an amount proportional to the

instantaneous value of the modulating signal. Amplitude shift key (ASK) transmits data by varying the

amplitude of the transmitted signal. Frequency shift key (FSK) is a digital modulation scheme using two

or more output frequencies. Phase shift key (PSK) is a digital modulation scheme in which the phase of

the transmitted signal is varied in accordance with the base band data signal.

RF receivers vary in terms of performance specifications such as sensitivity, digital

sampling rate, measurement resolution, operating frequency, and communication interface. Sensitivity

is the minimum input signal required to produce a specified output signal having a specified signal-to-

noise (S/N) ratio. Digital sampling rate is the rate at which samples can be drawn from a digital signal in

kilo samples per second. Measurement resolution is the minimum digital resolution, while operating

frequency is the range of received signals. Communication interface is the method used to output data

to computers. Parallel interfaces include general-purpose interface bus (GPIB), which is also known as

IEEE 488 and HPIB Protocol. Serial interfaces include universal serial bus (USB), RS232, and RS485.

Additional considerations when selecting RF receivers include supply voltage, supply

current, receiver inputs, RF connectors, special features, and packaging. Some RF receivers include visual

or audible alarms or LED indicators that signal operating modes such as power on or reception. Other

devices attach to coaxial cables or include a connector or port to which an antenna can be attached.

Typically, RF receivers that are rated for outdoor use feature a heavy-duty waterproof design. Devices

with internal calibration and a frequency range switch are also available.

RF receiver ST-RX04-ASK:

Description:

Page 69: 12.automatic toll gate billing system using rfid.

The RX04 is a low power ASK receiver IC which is fully compatible with the MitelKESRX01

IC and is suitable for use in a variety of low power radio applications including remote keyless entry. The

RX04 is based on a single-

Conversion, super-heterodyne receiver architecture and incorporates an entire phase-locked loop (PLL)

for precise local oscillator generation.

Applications:

Car security system

Wireless security systems

Sensor reporting

automation system

Remote Keyless entry

Features

Low power consumption.

Easy for application.

On-Chip VCO with integrated PLL using crystal oscillator reference.

Integrated IF and data filters.

Operation temperature range : 10﹣ ℃~+60℃

Operation voltage: 5 Volts.

Available frequency at : 315/434 MHz

Functional description:

Page 70: 12.automatic toll gate billing system using rfid.

Fig: RF receiver module.

Fig 24: RF receiver module.

RF DECODER (HT 12D):

Features

_ Operating voltage: 2.4V~12V

_ Low power and high noise immunity CMOS technology

_ Low standby current

_ Capable of decoding 12 bits of information

_ Binary address setting

_ Received codes are checked 3 times

_ Address/Data number combination

_ HT12D: 8 address bits and 4 data bits

Page 71: 12.automatic toll gate billing system using rfid.

_ HT12F: 12 address bits only

_ Built-in oscillator needs only 5% resistor

_ Valid transmission indicator

_ Easy interface with an RF or an infrared transmission medium

_ Minimal external components

_ Pair with Holteks 212 series of encoders

_ 18-pin DIP, 20-pin SOP package

Applications

_ Burglar alarm system

_ Smoke and fire alarm system

_ Garage door controllers

_ Car door controllers

_ Car alarm system

_ Security system

_ Cordless telephones

_ Other remote control systems

General Description

Page 72: 12.automatic toll gate billing system using rfid.

The 212 decoders are a series of CMOS LSIs for remote control system applications. They are

paired with Holteks 212 series of encoders (refer to the encoder/decoder cross reference table). For

proper operation, a pair of encoder/decoder with the same number of addresses and data format

should be chosen. The decoders receive serial addresses and data from a programmed 212 series of

encoders that are transmitted by a carrier using an RF or an IR transmission medium. They compare the

serial input data three times continuously with their local addresses. If no error or unmatched codes are

found, the input data codes are decoded and then transferred to the output pins. The VT pin also goes

high to indicate a valid transmission. The 212 series of decoders are capable of decoding informations

that consist of N bits of address and 12_N bits of data. Of this series, the HT12D is arranged to provide 8

address bits and 4 data bits, and HT12F is used to decode 12 bits of address information.

Notes: Data type: L stands for latch type data output.

VT can be used as a momentary data output.

Page 73: 12.automatic toll gate billing system using rfid.

Fig 25:

Block Diagram of HT 12D Decoder

Note: The address/data pins are available in various combinations (see the address/data table).

Pin Assignment:

Fig 26: Pin diagram of HT12D

Page 74: 12.automatic toll gate billing system using rfid.

Absolute Maximum Ratings

Supply Voltage .........................................._0.3V to 13V

Storage Temperature ............................_50_C to 125_C

Input Voltage ................................VSS_0.3 to VDD+0.3V

Operating Temperature..........................._20_C to 75_C

Page 75: 12.automatic toll gate billing system using rfid.

Functional Description

Operation

The 212 series of decoders provides various combinations of addresses and data pins in different

packages so as to pair with the 212 series of encoders. The decoders receive data that are transmitted

by an encoder and interpret the first N bits of code period as addresses and the last 12_N bits as data,

where N is the address code number. A signal on the DIN pin activates the oscillator, which in turn

decodes the incoming address and data. The decoders will then check the received address three times

continuously. If the received address codes all match the contents of the decoders local address, the

12_N bits of data are decoded to activate the output pins and the VT pin is set high to indicate a valid

transmission. This will last unless the address code is incorrect or no signal is received. The output of the

VT pin is high only when the transmission is valid. Otherwise it is always low.

Output type

Page 76: 12.automatic toll gate billing system using rfid.

Of the 212 series of decoders, the HT12F has no data output pin but its VT pin can be used as a

momentary data output. The HT12D, on the other hand, provides 4 latch type data pins whose data

remain unchanged until new data are received.

Fig 27: Timing Diagram of Decoder HT12D

Page 77: 12.automatic toll gate billing system using rfid.

Fig 28: Application circuit of HT12D

Flowchart

The oscillator is disabled in the standby state and activated when a logic _high_ signal applies to the DIN

pin. That is to say, the DIN should be kept low if there is no signal input.

Page 78: 12.automatic toll gate billing system using rfid.

Fig 29: Flow chart of HT12D for data transmission

Page 79: 12.automatic toll gate billing system using rfid.

A Passive InfraRed sensor (PIR sensor) is an electronic device that measures infrared (IR) light radiating from objects in its field of view. PIR sensors are often used in the construction of PIR-based motion detectors (see below). Apparent motion is detected when an infrared source with one temperature, such as a human, passes in front of an infrared source with another temperature, such as a wall.[1]

All objects emit what is known as black body radiation. It is usually infrared radiation that is invisible to the human eye but can be detected by electronic devices designed for such a purpose. The term passive in this instance means that the PIR device does not emit an infrared beam but merely passively accepts incoming infrared radiation. “Infra” meaning below our ability to detect it visually, and “Red” because this color represents the lowest energy level that our eyes can sense before it becomes invisible. Thus, infrared means below the energy level of the color red, and applies to many sources of invisible energy.[2]

In a PIR-based motion detector (usually called a PID, for Passive Infrared Detector), the PIR sensor is typically mounted on a printed circuit board containing the necessary electronics required to interpret the signals from the pyroelectric sensor chip. The complete assembly is contained within a housing mounted in a location where the sensor can view the area to be monitored. Infrared energy is able to reach the pyroelectric sensor through the window because the plastic used is transparent to infrared radiation (but only translucent to visible light). This plastic sheet also prevents the intrusion of dust and/or insects from obscuring the sensor's field of view, and in the case of insects, from generating false alarms.

A few mechanisms have been used to focus the distant infrared energy onto the sensor surface. The window may have multiple Fresnel lenses molded into it.

A person entering a monitored area is detected when the infrared energy emitted from the intruder's body is focused by a Fresnel lens or a mirror segment and overlaps a section on the chip that had previously been looking at some much cooler part of the protected area. That portion of the chip is now much warmer than when the intruder wasn't there. As the intruder moves, so does the hot spot on the surface of the chip. This moving hot spot causes the electronics connected to the chip to de-energize the relay, operating its contacts, thereby activating the detection input on the alarm control panel. Conversely, if an intruder were to try to defeat a PID, perhaps by holding some sort of thermal shield between himself and the PID, a corresponding 'cold' spot moving across the face of the chip will also cause the relay to de-energize — unless the thermal shield has the same temperature as the objects behind it.

Manufacturers recommend careful placement of their products to prevent false (non-intruder caused) alarms. They suggest mounting the PIDs in such a way that the PID cannot 'see' out of a window. Although the wavelength of infrared radiation to which the chips are sensitive does not penetrate glass very well, a strong infrared source such as from a vehicle headlight or sunlight reflecting from a vehicle window can overload the chip with enough infrared energy to fool the electronics and cause a false alarm. A person moving on the other side of the glass however would not be 'seen' by the PID.

Page 80: 12.automatic toll gate billing system using rfid.

They also recommended that the PID not be placed in such a position that an HVAC vent would blow hot or cold air onto the surface of the plastic which covers the housing's window. Although air has very low emissivity (emits very small amounts of infrared energy), the air blowing on the plastic window cover could change the plastic's temperature enough to, once again, fool the electronics.

PIDs come in many configurations for a wide variety of applications. The most common, used in home security systems, have numerous Fresnel lenses or mirror segments and an effective range of about thirty feet. Some larger PIDs are made with single segment mirrors and can sense changes in infrared energy over one hundred feet away from the PID. There are also PIDs designed with reversible orientation mirrors which allow either broad coverage (110° wide) or very narrow 'curtain' coverage.

PIDs can have more than one internal sensing element so that, with the appropriate electronics and Fresnel lens, it can detect direction. Left to right, right to left, up or down and provide an appropriate output signal.

[edit] PIR-based remote thermometer

Designs have been implemented in which a PIR circuit measures the temperature of a remote object.[3] In such a circuit, a non-differential PIR output is used. The output signal is evaluated according to a calibration for the IR spectrum of a specific type of matter to be observed. By this means, relatively accurate and precise temperature measurements may be obtained remotely. Without calibration to the type of material being observed, a PIR thermometer device is able to measure changes in IR emission which correspond directly to temperature changes, but the actual temperature values cannot be calculated.

Power supply

The power supplies are designed to convert high voltage AC mains

electricity to a suitable low voltage supply for electronics circuits and other devices. A power

supply can by broken down into a series of blocks, each of which performs a particular function.

A d.c power supply which maintains the output voltage constant irrespective of a.c mains

fluctuations or load variations is known as “Regulated D.C Power Supply”

For example a 5V regulated power supply system as shown below:

Page 81: 12.automatic toll gate billing system using rfid.

Transformer:

A transformer is an electrical device which is used to convert electrical power from one

Electrical circuit to another without change in frequency.

Transformers convert AC electricity from one voltage to another with little loss of power.

Transformers work only with AC and this is one of the reasons why mains electricity is AC.

Step-up transformers increase in output voltage, step-down transformers decrease in output

voltage. Most power supplies use a step-down transformer to reduce the dangerously high mains

voltage to a safer low voltage. The input coil is called the primary and the output coil is called

the secondary. There is no electrical connection between the two coils; instead they are linked by

an alternating magnetic field created in the soft-iron core of the transformer. The two lines in the

middle of the circuit symbol represent the core. Transformers waste very little power so the

power out is (almost) equal to the power in. Note that as voltage is stepped down current is

stepped up. The ratio of the number of turns on each coil, called the turn’s ratio, determines the

ratio of the voltages. A step-down transformer has a large number of turns on its primary (input)

Page 82: 12.automatic toll gate billing system using rfid.

coil which is connected to the high voltage mains supply, and a small number of turns on its

secondary (output) coil to give a low output voltage.

An Electrical Transformer

Turns ratio = Vp/ VS = Np/NS

Power Out= Power In

VS X IS=VP X IP

Vp = primary (input) voltage

Np = number of turns on primary coil

Ip = primary (input) current

Page 83: 12.automatic toll gate billing system using rfid.

RECTIFIER:

A circuit which is used to convert a.c to dc is known as RECTIFIER. The process of conversion a.c

to d.c is called “rectification”

TYPES OF RECTIFIERS:

Half wave Rectifier

Full wave rectifier

1. Centre tap full wave rectifier.

2. Bridge type full bridge rectifier.

Comparison of rectifier circuits:

Parameter

Type of Rectifier

Half wave Full wave Bridge

Number of diodes

1

2

4

PIV of diodes

Vm

2Vm

Vm

D.C output voltage

Vm/

2Vm/

2Vm/

Vdc,at

0.318Vm

0.636Vm 0.636Vm

Page 84: 12.automatic toll gate billing system using rfid.

no-load

Ripple factor

1.21

0.482

0.482

Ripple

frequency

f

2f

2f

Rectification

efficiency

0.406

0.812

0.812

Transformer

Utilization

Factor(TUF)

0.287 0.693 0.812

RMS voltage Vrms Vm/2 Vm/√2 Vm/√2

Full-wave Rectifier:

From the above comparison we came to know that full wave bridge rectifier as more advantages than

the other two rectifiers. So, in our project we are using full wave bridge rectifier circuit.

Bridge Rectifier: A bridge rectifier makes use of four diodes in a bridge arrangement to achieve

full-wave rectification. This is a widely used configuration, both with individual diodes wired as

shown and with single component bridges where the diode bridge is wired internally.

A bridge rectifier makes use of four diodes in a bridge arrangement as shown in fig(a) to achieve

full-wave rectification. This is a widely used configuration, both with individual diodes wired as shown

and with single component bridges where the diode bridge is wired internally.

Page 85: 12.automatic toll gate billing system using rfid.

Fig(A)

Operation:

During positive half cycle of secondary, the diodes D2 and D3 are in forward biased while D1 and D4 are

in reverse biased as shown in the fig(b). The current flow direction is shown in the fig (b) with dotted

arrows.

Fig(B)

During negative half cycle of secondary voltage, the diodes D1 and D4 are in forward biased while D2

and D3 are in reverse biased as shown in the fig(c). The current flow direction is shown in the fig (c) with

dotted arrows.

Page 86: 12.automatic toll gate billing system using rfid.

Fig(C)

Filter:

A Filter is a device which removes the a.c component of rectifier output

but allows the d.c component to reach the load

Capacitor Filter:

We have seen that the ripple content in the rectified output of half wave rectifier is 121% or that of

full-wave or bridge rectifier or bridge rectifier is 48% such high percentages of ripples is not acceptable

for most of the applications. Ripples can be removed by one of the following methods of filtering.

(a) A capacitor, in parallel to the load, provides an easier by –pass for the ripples voltage though it due

to low impedance. At ripple frequency and leave the d.c.to appears the load.

(b) An inductor, in series with the load, prevents the passage of the ripple current (due to high

impedance at ripple frequency) while allowing the d.c (due to low resistance to d.c)

Page 87: 12.automatic toll gate billing system using rfid.

(c) Various combinations of capacitor and inductor, such as L-section filter section filter, multiple

section filter etc. which make use of both the properties mentioned in (a) and (b) above. Two cases of

capacitor filter, one applied on half wave rectifier and another with full wave rectifier.

Filtering is performed by a large value electrolytic capacitor connected across the DC

supply to act as a reservoir, supplying current to the output when the varying DC voltage from

the rectifier is falling. The capacitor charges quickly near the peak of the varying DC, and then

discharges as it supplies current to the output. Filtering significantly increases the average DC

voltage to almost the peak value (1.4 × RMS value).

To calculate the value of capacitor(C),

C = ¼*√3*f*r*Rl

Where,

f = supply frequency,

r = ripple factor,

Rl = load resistance

Note: In our circuit we are using 1000µF. Hence large value of capacitor is placed to

reduce ripples and to improve the DC component.

Regulator:

Voltage regulator ICs is available with fixed (typically 5, 12 and 15V) or variable output voltages. The

maximum current they can pass also rates them. Negative voltage regulators are available, mainly for

use in dual supplies. Most regulators include some automatic protection from excessive current

('overload protection') and overheating ('thermal protection'). Many of the fixed voltage regulator ICs

have 3 leads and look like power transistors, such as the 7805 +5V 1A regulator shown on the right. The

LM7805 is simple to use. You simply connect the positive lead of your unregulated DC power supply

(anything from 9VDC to 24VDC) to the Input pin, connect the negative lead to the Common pin and then

when you turn on the power, you get a 5 volt supply from the output pin.

Page 88: 12.automatic toll gate billing system using rfid.

Fig 6.1.6 A Three Terminal Voltage Regulator

78XX:

The Bay Linear LM78XX is integrated linear positive regulator with three terminals. The LM78XX

offer several fixed output voltages making them useful in wide range of applications. When used as a

zener diode/resistor combination replacement, the LM78XX usually results in an effective output

impedance improvement of two orders of magnitude, lower quiescent current. The LM78XX is available

in the TO-252, TO-220 & TO-263packages,

Features:

• Output Current of 1.5A

• Output Voltage Tolerance of 5%

• Internal thermal overload protection

• Internal Short-Circuit Limited

• No External Component

• Output Voltage 5.0V, 6V, 8V, 9V, 10V,12V, 15V, 18V, 24V

• Offer in plastic TO-252, TO-220 & TO-263

• Direct Replacement for LM78XX

Page 89: 12.automatic toll gate billing system using rfid.

Circuit description:

In this project we required operating voltage for Microcontroller 89C51 is 5V. Hence the 5V D.C.

power supply is needed for the IC’s. This regulated 5V is generated by stepping down the

voltage from 230V to 18V now the step downed a.c voltage is being rectified by the Bridge

Rectifier using 1N4007 diodes. The rectified a.c voltage is now filtered using a ‘C’ filter. Now the

rectified, filtered D.C. voltage is fed to the Voltage Regulator. This voltage regulator

provides/allows us to have a Regulated constant Voltage which is of +5V. The rectified; filtered

and regulated voltage is again filtered for ripples using an electrolytic capacitor 100μF. Now the

output from this section is fed to 40th pin of 89C51 microcontroller to supply operating voltage.

The microcontroller 89C51 with Pull up resistors at Port0 and crystal oscillator of 11.0592 MHz

crystal in conjunction with couple of 30-33pf capacitors is placed at 18th & 19th pins of 89C51 to

make it work (execute) properly. In our project we can control the robot by using wireless

communication i.e. from Control section (acts as transmitter) we are sending the control signals, then

the robot receives (acts as receiver) the signals, according to the signals being received the direction of

the robot is controlled and robot on its way senses for the PIR sensor if it is been sensed then there is

human begin or soldier alive at war field to know the person is alive buzzer is blown

Page 90: 12.automatic toll gate billing system using rfid.

LCD MODULE

To display interactive messages we are using LCD Module. We examine an intelligent

LCD display of two lines,16 characters per line that is interfaced to the controllers. The protocol

(handshaking) for the display is as shown. Whereas D0 to D7th bit is the Data lines, RS, RW and

EN pins are the control pins and remaining pins are +5V, -5V and GND to provide supply.

Where RS is the Register Select, RW is the Read Write and EN is the Enable pin.

The display contains two internal byte-wide registers, one for commands (RS=0) and the

second for characters to be displayed (RS=1). It also contains a user-programmed RAM area (the

character RAM) that can be programmed to generate any desired character that can be formed

using a dot matrix. To distinguish between these two data areas, the hex command byte 80 will

be used to signify that the display RAM address 00h will be chosen.Port1 is used to furnish the

command or data type, and ports 3.2 to3.4 furnish register select and read/write levels.

The display takes varying amounts of time to accomplish the functions as listed. LCD bit 7 is

monitored for logic high (busy) to ensure the display is overwritten.

Liquid Crystal Display also called as LCD is very helpful in providing user interface as well as

for debugging purpose. The most common type of LCD controller is HITACHI 44780 which

provides a simple interface between the controller & an LCD. These LCD's are very simple to

interface with the controller as well as are cost effective.

2x16 Line Alphanumeric LCD DisplayThe most commonly used ALPHANUMERIC displays are 1x16 (Single Line & 16 characters),

2x16 (Double Line & 16 character per line) & 4x20 (four lines & Twenty characters per line). 

Page 91: 12.automatic toll gate billing system using rfid.

The LCD requires 3 control lines (RS, R/W & EN) & 8 (or 4) data lines. The number on data lines depends

on the mode of operation. If operated in 8-bit mode then 8 data lines + 3 control lines i.e. total 11 lines

are required. And if operated in 4-bit mode then 4 data lines + 3 control lines i.e. 7 lines are required.

How do we decide which mode to use? It’s simple if you have sufficient data lines you can go for 8 bit

mode & if there is a time constrain i.e. display should be faster then we have to use 8-bit mode because

basically 4-bit mode takes twice as more time as compared to 8-bit mode.

 Pin  Symbol Function

 1  Vss  Ground

 2  Vdd  Supply Voltage

 3  Vo  Contrast Setting

 4  RS  Register Select

 5  R/W  Read/Write Select

 6  En  Chip Enable Signal

 7-14  DB0-DB7  Data Lines

 15  A/Vee  Gnd for the backlight

 16  K  Vcc for backlight

When RS is low (0), the data is to be treated as a command. When RS is high (1), the data being

sent is considered as text data which should be displayed on the screen.

When R/W is low (0), the information on the data bus is being written to the LCD. When RW is

high (1), the program is effectively reading from the LCD. Most of the times there is no need to

read from the LCD so this line can directly be connected to Gnd thus saving one controller line.

The ENABLE pin is used to latch the data present on the data pins. A HIGH - LOW signal is

required to latch the data. The LCD interprets and executes our command at the instant the EN

line is brought low. If you never bring EN low, your instruction will never be executed.

Page 92: 12.automatic toll gate billing system using rfid.

COMMANDS USED IN LCD

MAX 232

2.3.1 RS-232 WAVEFORM

Page 93: 12.automatic toll gate billing system using rfid.

TTL/CMOS Serial Logic Waveform

The diagram above shows the expected waveform from the UART when using the

common 8N1 format. 8N1 signifies 8 Data bits, No Parity and 1 Stop Bit. The RS-232 line, when

idle is in the Mark State (Logic 1). A transmission starts with a start bit which is (Logic 0). Then

each bit is sent down the line, one at a time. The LSB (Least Significant Bit) is sent first. A Stop

Bit (Logic 1) is then appended to the signal to make up the transmission.

The data sent using this method, is said to be framed. That is the data is framed

between a Start and Stop Bit.

 RS-232 Voltage levels

+3 to +25 volts to signify a "Space" (Logic 0)                                              

-3 to -25 volts for a "Mark" (logic 1).

Any voltage in between these regions (i.e. between +3 and -3 Volts) is undefined.

The data byte is always transmitted least-significant-bit first.

The bits are transmitted at specific time intervals determined by the baud rate of the

serial signal.  This is the signal present on the RS-232 Port of your computer, shown below.

RS-232 Logic Waveform

2.3.2 RS-232 LEVEL CONVERTER

Page 94: 12.automatic toll gate billing system using rfid.

Standard serial interfacing of microcontroller (TTL) with PC or any  RS232C Standard

device , requires TTL to RS232 Level converter . A MAX232 is used for this purpose. It

provides 2-channel RS232C port and requires external 10uF capacitors.

The driver requires a single supply of +5V.

MAX-232 includes a Charge Pump, which generates +10V and -10V from a single 5v supply.

2.3.3  Serial communication

When a processor communicates with the outside world, it provides data in byte sized

chunks. Computers transfer data in two ways: parallel and serial. In parallel data transfers, often

more lines are used to transfer data to a device and 8 bit data path is expensive. The serial

communication transfer uses only a single data line instead of the 8 bit data line of parallel

communication which makes the data transfer not only cheaper but also makes it possible for

two computers located in two different cities to communicate over telephone.

Serial data communication uses two methods, asynchronous and synchronous. The

synchronous method transfers data at a time while the asynchronous transfers a single byte at a

time. There are some special IC chips made by many manufacturers for data communications.

These chips are commonly referred to as UART (universal asynchronous receiver-transmitter)

Page 95: 12.automatic toll gate billing system using rfid.

and USART (universal synchronous asynchronous receiver transmitter). The AT89C51 chip has

a built in UART.

In asynchronous method, each character is placed between start and stop bits. This

is called framing. In data framing of asynchronous communications, the data, such as ASCII

characters, are packed in between a start and stop bit. We have a total of 10 bits for a character: 8

bits for the ASCII code and 1 bit each for the start and stop bits. The rate of serial data transfer

communication is stated in bps or it can be called as baud rate.

To allow the compatibility among data communication equipment made by various

manufacturers, and interfacing standard called RS232 was set by the Electronics industries

Association in 1960. Today RS232 is the most widely used I/O interfacing standard. This

standard is used in PCs and numerous types of equipment. However, since the standard was set

long before the advent of the TTL logic family, its input and output voltage levels are not TTL

compatible. In RS232, a 1 bit is represented by -3 to -25V, while a 0 bit is represented +3 to +25

V, making -3 to +3 undefined. For this reason, to connect any RS232 to a microcontroller system

we must use voltage converters such as MAX232 to connect the TTL logic levels to RS232

voltage levels and vice versa. MAX232 ICs are commonly referred to as line drivers.

The RS232 cables are generally referred to as DB-9 connector. In labeling, DB-9P

refers to the plug connector (male) and DB-9S is for the socket connector (female). The simplest

connection between a PC and microcontroller requires a minimum of three pin, TXD, RXD, and

ground. Many of the pins of the RS232 connector are used for handshaking signals. They are

bypassed since they are not supported by the UART chip.

Page 96: 12.automatic toll gate billing system using rfid.

IBM PC/ compatible computers based on x86(8086, 80286, 386, 486 and Pentium)

microprocessors normally have two COM ports. Both COM ports have RS232 type connectors.

Many PCs use one each of the DB-25 and DB-9 RS232 connectors. The COM ports are

designated as COM1 and COM2. We can connect the serial port to the COM 2 port of a PC for

serial communication experiments. We use a DB9 connector in our arrangement.

RFID

History of RFID:

In a very interesting article, the San Jose Mercury News tells us about Charles Walton, the man

behind the radio frequency identification technology (RFID). Since his first patent about it in

1973, Walton, now 83 years old, collected about $3 million from royalties coming from his

patents. Unfortunately for him, his latest patent about RFID expired in the mid-1990s. So he will

not make any money from the billions of RFID tags that will appear in the years to come. But he

continues to invent and his latest patent about a proximity card with incorporated PIN code

protection was granted in June 2004.

Page 97: 12.automatic toll gate billing system using rfid.

What is RFID.RFID is short for Radio Frequency Identification. Generally a RFID system consists of 2 arts.  A

Reader, and one or more Transponders, also known as Tags. RFID systems evolved from

barcode labels as a means to automatically identify and track products and people. You will

be generally familiar with RFID

systems as seen in:

Access Control.

RFID Readers placed at entrances that require a person to pass their proximity card (RF

tag) to be "read' before the access can be made.

Contact less Payment Systems.

RFID tags used to carry payment information. RFIDs are particular suited to electronic

Toll collection systems. Tags attached to vehicles, or carried by people transmit payment

information to a fixed reader attached to a Toll station. Payments are then routinely

deducted from a users account, or information is changed directly on the RFID tag.

Product Tracking and Inventory Control. RFID systems are commonly used to track

and record the movement of ordinary items such as library books, clothes, factory pallets,

electrical goods and numerous items.

How do RFIDs work. Shown below is a typical RFID system. In every RFID system the transponder Tags contain

information. This information can be as little as a single binary bit, or be a large array of bits

representing such things as an identity code, personal medical information, or literally any type

of information that can be stored in digital binary format.

Page 98: 12.automatic toll gate billing system using rfid.

Shown is a RFID transceiver that communicates with a passive Tag. Passive tags have no

power source of their own and instead derive power from the incident electromagnetic

field. Commonly the heart of each tag is a microchip. When the Tag enters the generated RF

field it is able to draw enough power from the field to access its internal memory and transmit

its stored information.

When the transponder Tag draws power in this way the resultant interaction of the RF fields

causes the voltage at the transceiver antenna to drop in value. This effect is utilized by the Tag

to communicate its information to the reader. The Tag is able to control the amount of power

drawn from the field and by doing so it can modulate the voltage sensed at the Transceiver

according to the bit pattern it wishes to transmit.

COMPONENTS OF RFID

Basic RFID systems consist of three components:

An antenna or coil

A transceiver (with decoder)

A transponder (RF tag) electronically programmed with unique information

Page 99: 12.automatic toll gate billing system using rfid.

These are described below:

1. ANTENNA

The antenna emits radio signals to activate the tag and read and write data to it. Antennas are the

conduits between the tag and the transceiver, which controls the system's data acquisition and

communication. Antennas are available in a variety of shapes and sizes; they can be built into a

door frame to receive tag data from persons or things passing through the door, or mounted on an

interstate tollbooth to monitor traffic passing by on a freeway. The electromagnetic field

produced by an antenna can be constantly present when multiple tags are expected continually. If

constant interrogation is not required, a sensor device can activate the field.

Often the antenna is packaged with the transceiver and decoder to become a reader (a.k.a.

interrogator), which can be configured either as a handheld or a fixed-mount device. The reader

emits radio waves in ranges of anywhere from one inch to 100 feet or more, depending upon its

power output and the radio frequency used. When an RFID tag passes through the

electromagnetic zone, it detects the reader's activation signal. The reader decodes the data

encoded in the tag's integrated circuit (silicon chip) and the data is passed to the host computer

for processing.

2. TAGS (Transponders)

Page 100: 12.automatic toll gate billing system using rfid.

An RFID tag is comprised of a microchip containing identifying information and an antenna that

transmits this data wirelessly to a reader. At its most basic, the chip will contain a serialized

identifier, or license plate number, that uniquely identifies that item,

similar to the way many bar codes are used today. A key difference, however is that RFID tags

have a higher data capacity than their bar code counterparts. This increases the options for the

type of information that can be encoded on the tag, including the manufacturer, batch or lot

number, weight, ownership, destination and history (such as the temperature range to which an

item has been exposed). In fact, an unlimited list of other types of information can be stored on

RFID tags, depending on application needs. An RFID tag can be placed on individual items,

cases or pallets for identification purposes, as well as on fixed assets such as trailers, containers,

totes, etc.

Tags come in a variety of types, with a variety of capabilities. Key variables include:

"Read-only" versus "read-write"

There are three options in terms of how data can be encoded on tags: (1) Read-only tags contain

data such as a serialized tracking number, which is pre-written onto them by the tag

manufacturer or distributor. These are generally the least expensive tags because they cannot

have any additional information included as they move throughout the supply chain. Any updates

to that information would have to be maintained in the application software that tracks SKU

movement and activity. (2) "Write once" tags enable a user to write data to the tag one time in

production or distribution processes. Again, this may include a serial number, but perhaps other

data such as a lot or batch number. (3) Full "read-write" tags allow new data to be written to the

tag as needed—and even written over the original data. Examples for the latter capability might

include the time and date

of ownership transfer or updating the repair history of a fixed asset. While these are the most

costly of the three tag types and are not practical for tracking inexpensive items, future standards

for electronic product codes (EPC) appear to be headed in this direction.

Page 101: 12.automatic toll gate billing system using rfid.

RFID TAGS

Data capacity

The amount of data storage on a tag can vary, ranging from 16 bits on the low end to as much as

several thousand bits on the high end. Of course, the greater the storage capacity, the higher the

price per tag.

Form factor

The tag and antenna structure can come in a variety of physical form factors and can either be

self-contained or embedded as part of a traditional label structure (i.e., the tag is inside what

looks like a regular bar code label—this is termed a 'Smart Label') companies must choose the

appropriate form factors for the tag very carefully and should expect to use multiple form factors

to suit the tagging needs of different physical products and units of measure. For example, a

pallet may have an RFID tag fitted only to an area of protected placement on the pallet itself. On

the other hand, cartons on the pallet have RFID tags inside bar code labels that also provide

operators human-readable information and a back-up should the tag fail or pass through non

RFID-capable supply chain links.

Passive versus active

“Passive” tags have no battery and "broadcast" their data only when energized by a reader. That

means they must be actively polled to send information. "Active" tags are capable of

broadcasting their data using their own battery power. In general, this means that the read ranges

are much greater for active tags than they are for passive tags—perhaps a read range of 100 feet

Page 102: 12.automatic toll gate billing system using rfid.

or more, versus 15 feet or less for most passive tags. The extra capability and read ranges of

active tags, however, come with a cost; they are several times more expensive than passive tags.

Today, active tags are much more likely to be used for high-value items or fixed assets such as

trailers, where the cost is minimal compared to item value, and very long read ranges are

required. Most traditional supply chain applications, such as the RFID-based tracking and

compliance programs emerging in the consumer goods retail chain, will use the less expensive

passive tags.

Frequencies

Like all wireless communications, there are a variety of frequencies or spectra through which

RFID tags can communicate with readers. Again, there are trade-offs among cost, performance

and application requirements. For instance, low-frequency tags are cheaper than ultra high-

frequency (UHF) tags, use less power and are better able to penetrate non-metallic substances.

They are ideal for scanning objects with high water content, such as fruit, at close range. UHF

frequencies typically offer better range and can transfer data faster. But they use more power and

are less likely to pass through some materials. UHF tags are typically best suited for use with or

near wood, paper, cardboard or clothing products. Compared to low-frequency tags, UHF tags

might be better for scanning boxes of goods as they pass through a bay door into a warehouse.

While the tag requirements for compliance mandates may be narrowly defined, it is likely that a

variety of tag types will be required to solve specific operational issues. You will want to work

with a company that is very knowledgeable in tag and reader technology to appropriately identify

the right mix of RFID technology for your environment and applications.

EPC Tags

EPC refers to "electronic product code," an emerging specification for RFID tags, readers and

business applications first developed at the Auto-ID Center at the Massachusetts Institute of

Technology. This organization has provided significant intellectual leadership toward the use and

application of RFID technology. EPC represents a specific approach to item identification,

including an emerging standard for the tags themselves, including both the data content of the tag

and open wireless communication protocols. In a sense, the EPC movement is combining the

data standards embodied in certain bar code specifications, such as the UPC or UCC-128 bar

Page 103: 12.automatic toll gate billing system using rfid.

code standards, with the wireless data communication standards that have been developed by

ANSI and other groups.

3. RF Transceiver:

The RF transceiver is the source of the RF energy used to activate and power the passive RFID

tags. The RF transceiver may be enclosed in the same cabinet as the reader or it may be a

separate piece of equipment. When provided as a separate piece of equipment, the transceiver is

commonly referred to as an RF module. The RF transceiver controls and modulates the radio

frequencies that the antenna transmits and receives. The transceiver filters and amplifies the

backscatter signal from a passive RFID tag.

Typical Applications for RFID

Automatic Vehicle identification

Inventory Management

Work-in-Process

Container/ Yard Management

Document/ Jewellery tracking

Patient Monitoring

The Advantages of RFID Over Bar Coding

1. No "line of sight" requirements: Bar code reads can sometimes be limited or problematic

due to the need to have a direct "line of sight" between a scanner and a bar code.

RFID tags can be read through materials without line of sight.

2.

More automated reading: RFID tags can be read automatically when a tagged

product comes past or near a reader, reducing the labor required to scan product

and allowing more proactive, real-time tracking.

Page 104: 12.automatic toll gate billing system using rfid.

3. Improved read rates: RFID tags ultimately offer the promise of higher read

rates than bar codes, especially in high-speed operations such as carton sortation.

4. Greater data capacity: RFID tags can be easily encoded with item details such as

lot and batch, weight, etc.

5. "Write" capabilities: Because RFID tags can be rewritten with new data as supply

chain activities are completed, tagged products carry updated information as they move

throughout the supply chain.

Common Problems with RFID

Some common problems with RFID are reader collision and tag collision. Reader collision occurs when

the signals from two or more readers overlap. The tag is unable to respond to simultaneous queries.

Systems must be carefully set up to avoid this problem. Tag collision occurs when many tags are present

in a small area; but since the read time is very fast, it is easier for vendors to develop systems that

ensure that tags respond one at a time. See Problems with RFID for more details.

SOFTWARE DESCRIPTION

ABOUT SOFTWARE

Software used:*Keil software for c programming

ABOUT KEIL SOFTWARE:

It is possible to create the source files in a text editor such as Notepad, run the Compiler on each C source file, specifying a list of controls, run the Assembler on each Assembler source file, specifying another list of controls, run either the Library Manager or Linker (again specifying a list of controls) and finally running the Object-HEX Converter to convert the Linker output file to an Intel Hex File. Once that

Page 105: 12.automatic toll gate billing system using rfid.

has been completed the Hex File can be downloaded to the target hardware and debugged. Alternatively KEIL can be used to create source files; automatically compile, link and covert using options set with an easy to use user interface and finally simulate or perform debugging on the hardware with access to C variables and memory. Unless you have to use the tolls on the command line, the choice is clear. KEIL Greatly simplifies the process of creating and testing an embedded application.

Projects:

The user of KEIL centers on “projects”. A project is a list of all the source files required to build a single application, all the tool options which specify exactly how to build the application, and – if required – how the application should be simulated. A project contains enough information to take a set of source files and generate exactly the binary code required for the application. Because of the high degree of flexibility required from the tools, there are many options that can be set to configure the tools to operate in a specific manner. It would be tedious to have to set these options up every time the application is being built; therefore they are stored in a project file. Loading the project file into KEIL informs KEIL which source files are required, where they are, and how to configure the tools in the correct way. KEIL can then execute each tool with the correct options. It is also possible to create new projects in KEIL. Source files are added to the project and the tool options are set as required. The project can then be saved to preserve the settings. The project is reloaded and the simulator or debugger started, all the desired windows are opened. KEIL project files have the extension

Simulator/Debugger:

The simulator/ debugger in KEIL can perform a very detailed simulation of a micro controller along with external signals. It is possible to view the precise execution time of a single assembly instruction, or a single line of C code, all the way up to the entire application, simply by entering the crystal frequency. A window can be opened for each peripheral on the device, showing the state of the peripheral. This enables quick trouble shooting of mis-configured peripherals. Breakpoints may be set on either assembly instructions or lines of C code, and execution may be stepped through one instruction or C line at a time. The contents of all the memory areas may be viewed along with ability to find specific variables. In addition the registers may be viewed allowing a detailed view of what the microcontroller is doing at any point in time.

The Keil Software 8051 development tools listed below are the programs you use to compile your C code, assemble your assembler source files, link your program together, create HEX files, and debug your target program. µVision2 for Windows™ Integrated Development Environment: combines Project Management, Source Code Editing, and Program Debugging in one powerful environment.

C51 ANSI Optimizing C Cross Compiler: creates relocatable object modules from your C source code,

Page 106: 12.automatic toll gate billing system using rfid.

A51 Macro Assembler: creates relocatable object modules from your 8051 assembler source code,

BL51 Linker/Locator: combines relocatable object modules created by the compiler and assembler into the final absolute object module,

LIB51 Library Manager: combines object modules into a library, which may be used by the linker, OH51 Object-HEX Converter: creates Intel HEX files from absolute object modules.

What's New in µVision3?

µVision3 adds many new features to the Editor like Text Templates, Quick Function Navigation, and Syntax Coloring with brace high lighting Configuration Wizard for dialog based startup and debugger setup. µVision3 is fully compatible to µVision2 and can be used in parallel with µVision2.

What is µVision3?

µVision3 is an IDE (Integrated Development Environment) that helps you write, compile, and debug embedded programs. It encapsulates the following components:

A project manager. A make facility. Tool configuration. Editor. A powerful debugger.

To help you get started, several example programs (located in the \C51\Examples, \C251\Examples, \C166\Examples, and \ARM\...\Examples) are provided.

HELLO is a simple program that prints the string "Hello World" using the Serial Interface. MEASURE is a data acquisition system for analog and digital systems. TRAFFIC is a traffic light controller with the RTX Tiny operating system. SIEVE is the SIEVE Benchmark. DHRY is the Dhrystone Benchmark. WHETS is the Single-Precision Whetstone Benchmark.

Additional example programs not listed here are provided for each device architecture.

Building an Application in µVision2

To build (compile, assemble, and link) an application in µVision2, you must:

1. Select Project -(forexample,166\EXAMPLES\HELLO\HELLO.UV2).2. Select Project - Rebuild all target files or Build target.

µVision2 compiles, assembles, and links the files in your project

Creating Your Own Application in µVision2

To create a new project in µVision2, you must:

1. Select Project - New Project.2. Select a directory and enter the name of the project file.3. Select Project - Select Device and select an 8051, 251, or C16x/ST10 device from the Device

Database™.4. Create source files to add to the project.

Page 107: 12.automatic toll gate billing system using rfid.

5. Select Project - Targets, Groups, Files. Add/Files, select Source Group1, and add the source files to the project.

6. Select Project - Options and set the tool options. Note when you select the target device from the Device Database™ all special options are set automatically. You typically only need to configure the memory map of your target hardware. Default memory model settings are optimal for most applications.

7. Select Project - Rebuild all target files or Build target.

Debugging an Application in µVision2

To debug an application created using µVision2, you must:

1. Select Debug - Start/Stop Debug Session.2. Use the Step toolbar buttons to single-step through your program. You may enter G, main in the

Output Window to execute to the main C function.3. Open the Serial Window using the Serial #1 button on the toolbar.

Debug your program using standard options like Step, Go, Break, and so on.

Starting µVision2 and Creating a Project

µVision2 is a standard Windows application and started by clicking on the program icon. To create a new project file select from the µVision2 menu

Project – New Project…. This opens a standard Windows dialog that asks you

for the new project file name.

We suggest that you use a separate folder for each project. You can simply use

the icon Create New Folder in this dialog to get a new empty folder. Then

select this folder and enter the file name for the new project, i.e. Project1.

µVision2 creates a new project file with the name PROJECT1.UV2 which contains

a default target and file group name. You can see these names in the Project

Window – Files.

Now use from the menu Project – Select Device for Target and select a CPU

for your project. The Select Device dialog box shows the µVision2 device

database. Just select the micro controller you use. We are using for our examples the Philips 80C51RD+ CPU. This selection sets necessary tool

options for the 80C51RD+ device and simplifies in this way the tool Configuration

Building Projects and Creating a HEX Files

Page 108: 12.automatic toll gate billing system using rfid.

Typical, the tool settings under Options – Target are all you need to start a new

application. You may translate all source files and line the application with a

click on the Build Target toolbar icon. When you build an application with

syntax errors, µVision2 will display errors and warning messages in the Output

Window – Build page. A double click on a message line opens the source file

on the correct location in a µVision2 editor window.

Once you have successfully generated your application you can start debugging.

After you have tested your application, it is required to create an Intel HEX file to download the software into an EPROM programmer or simulator. µVision2 creates HEX files with each build process when Create HEX files under Options for Target – Output is enabled. You may start your PROM programming utility after the make process when you specify the program under the option Run User Program #1.

CPU Simulation:

µVision2 simulates up to 16 Mbytes of memory from which areas can be

mapped for read, write, or code execution access. The µVision2 simulator traps

and reports illegal memory accesses.

In addition to memory mapping, the simulator also provides support for the

Integrated peripherals of the various 8051 derivatives. The on-chip peripherals

of the CPU you have selected are configured from the Device.

Database selection:

you have made when you create your project target. Refer to page 58 for more

Information about selecting a device. You may select and display the on-chip peripheral components using the Debug menu. You can also change the aspects of each peripheral using the controls in the dialog boxes.

Start Debugging:

You start the debug mode of µVision2 with the Debug – Start/Stop Debug

Session command. Depending on the Options for Target – Debug

Page 109: 12.automatic toll gate billing system using rfid.

Configuration, µVision2 will load the application program and run the startup

code µVision2 saves the editor screen layout and restores the screen layout of the last debug session. If the program execution stops, µVision2 opens an

editor window with the source text or shows CPU instructions in the disassembly window. The next executable statement is marked with a yellow arrow. During debugging, most editor features are still available.

For example, you can use the find command or correct program errors. Program source text of your application is shown in the same windows. The µVision2 debug mode differs from the edit mode in the following aspects:

_ The “Debug Menu and Debug Commands” described on page 28 are

Available. The additional debug windows are discussed in the following.

_ The project structure or tool parameters cannot be modified. All build

Commands are disabled.

Disassembly Window

The Disassembly window shows your target program as mixed source and assembly program or just assembly code. A trace history of previously executed instructions may be displayed with Debug – View Trace Records. To enable the trace history, set Debug – Enable/Disable Trace Recording.

If you select the Disassembly Window as the active window all program step commands work on CPU instruction level rather than program source lines. You can select a text line and set or modify code breakpoints using toolbar buttons or the context menu commands.

You may use the dialog Debug – Inline Assembly… to modify the CPU instructions. That allows you to correct mistakes or to make temporary changes to the target program you are debugging.

Page 110: 12.automatic toll gate billing system using rfid.

SOFTWARE COMPONENTS

About Keil

1. Click on the Keil u Vision Icon on Desktop

2. The following fig will appear

3. Click on the Project menu from the title bar

4. Then Click on New Project

Page 111: 12.automatic toll gate billing system using rfid.

5. Save the Project by typing suitable project name with no extension in u r own folder sited in either C:\ or D:\

6. Then Click on Save button above.

Page 112: 12.automatic toll gate billing system using rfid.

7. Select the component for u r project. i.e. Atmel……

8. Click on the + Symbol beside of Atmel

9. Select AT89C51 as shown below

Page 113: 12.automatic toll gate billing system using rfid.

10. Then Click on “OK”

11. The Following fig will appear

12. Then Click either YES or NO………mostly “NO”

13. Now your project is ready to USE

14. Now double click on the Target1, you would get another option “Source group 1” as shown

in next page.

Page 114: 12.automatic toll gate billing system using rfid.

15. Click on the file option from menu bar and select “new”

Page 115: 12.automatic toll gate billing system using rfid.

16. The next screen will be as shown in next page, and just maximize it by double clicking on its

blue boarder.

17. Now start writing program in either in “C” or “ASM”

18. For a program written in Assembly, then save it with extension “. asm” and for “C” based

program save it with extension “ .C”

Page 116: 12.automatic toll gate billing system using rfid.

19. Now right click on Source group 1 and click on “Add files to Group Source”

20. Now you will get another window, on which by default “C” files will appear.

Page 117: 12.automatic toll gate billing system using rfid.

21. Now select as per your file extension given while saving the file

22. Click only one time on option “ADD”

23. Now Press function key F7 to compile. Any error will appear if so happen.

24. If the file contains no error, then press Control+F5 simultaneously.

25. The new window is as follows

Page 118: 12.automatic toll gate billing system using rfid.

26. Then Click “OK”

27. Now Click on the Peripherals from menu bar, and check your required port as shown

in fig below

28. Drag the port a side and click in the program file.

29. Now keep Pressing function key “F11” slowly and observe.

Page 119: 12.automatic toll gate billing system using rfid.

30. You are running your program successfully

Embedded C:

What is an embedded system?

An embedded system is an application that contains at least one programmable computer and

which is used by individuals who are, in the main, unaware that the system is computer-based.

Which programming language should you use?

Having decided to use an 8051 processor as the basis of your embedded system, the next key

decision that needs to be made is the choice of programming language. In order to identify a suitable

language for embedded systems, we might begin by making the following observations:

Computers (such as microcontroller, microprocessor or DSP chips) only accept instructions in

‘machine code’ (‘object codes’). Machine code is, by definition, in the language of the computer,

rather than that of the programmer. Interpretation of the code by the programmer is difficult

and error prone.

All software, whether in assembly, C, C++, Java or Ada must ultimately be translated into

machine code in order to be executed by the computer.

Embedded processors – like the 8051 – have limited processor power and very limited memory

available: the language used must be efficient.

The language chosen should be in common use.

Summary of C language Features:

Page 120: 12.automatic toll gate billing system using rfid.

It is ‘mid-level’, with ‘high-level’ features (such as support for functions and modules), and ‘low-level’

features (such as good access to hardware via pointers).

It is very efficient.

It is popular and well understood.

Even desktop developers who have used only Java or C++ can soon understand C syntax.

Good, well-proven compilers are available for every embedded processor (8-bit to 32-bit or

more).

Basic C program structure:

//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

//Basic blank C program that does nothing

// Includes

//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#include <reg51.h> // SFR declarations

Void main (void)

{

While (1);

{

Body of the loop // Infinite loop

}

} // match the braces

CONCLUSION

Page 121: 12.automatic toll gate billing system using rfid.

The project “RFID BASED PARCEL TRACKING SYSTEM” has been successfully designed and tested. Integrating features of all the hardware components used have developed it.

Presence of every module has been reasoned out and placed carefully thus contributing to the best working of the unit. Secondly, using highly advanced IC’s and with the help of growing

technology the project has been successfully implemented.

FUTURE ENHANCEMENT:

The future enhancement to protect and control the green house effect with GSM

communication .It can also be enhanced for the case of many industries.

We can monitor the occurrence of any faults at different channels without any human interface.

Here with the help of sensors we are monitoring the different parameters. this kind of projects in

industries we can reduce the man power for continuous operation the accuracy of the work will

be more and also there will be less chances of damaging the devices.

BIBLIOGRAPHY

NAME OF THE SITES

1. WWW.MITEL.DATABOOK.COM

2. WWW.ATMEL.DATABOOK.COM

3. WWW.FRANKLIN.COM

4. WWW.KEIL.COM

REFERENCES

1. 8051-MICROCONTROLLER AND EMBEDDED SYSTEM.

Mohd. Mazidi.

Page 122: 12.automatic toll gate billing system using rfid.
Page 123: 12.automatic toll gate billing system using rfid.