You are on page 1of 69




Submitted in partial fulfillment of the requirements for the

Award of the Degree Of

A.Shireesha (16VE5A0404)
Dhrudeep Parikh (15VE1A04C7)
S.Gayathri (15VE1A04D1)
S.Sriprada (15VE1A04H1)

Under the Guidance of

(Embedded Engineering)
ECIL, IETE Hyderabad



(Affiliated to JNTU, Hyderabad)
2018- 2019



This is to certify that this Project Work entitled “ELECTRONIC GUIDE FOR
SUPER BAZAAR” is a bonafide work carried out by
i(15VE1A04D1), Ms.S.Sriprada (15VE1A04H1) in partial fulfillment of the
requirements for the award of the degree of Bachelor of Technology from JNTU,
Hyderabad during the period 2018-19 under our guidance and supervision.

Internal Guide Head of the Dept.

Mr.B.Venkanna B.Sreenevasu

IETE, Hyderabad Associate Professor


ri(15VE1A04D1),Ms.S.Sriprada(15VE1A04H1),hereby declare that the project
entitled “ELECTRONIC GUIDE FOR SUPER BAZAAR”, submitted in the partial
fulfillment of the requirements for the award of B.Tech., in Electronics and
Telecommunication Engineering affiliated to JNTU, Hyderabad is a authentic work
and has not been submitted to any other university or institution for award of the

A. Shireesha (16ve5a0404)
Dhrudeep Parikh (15ve1a04c7)
S.Gayathri (15ve1a04d1)
S.Sriprada (15ve1a04h1)

It is a great pleasure to express our deepest sense of gratitude and indebtedness,

to our Internal guide Mr.B.Venkanna ECIL, IETE, Hyderabad for having been a
source of constant inspiration, precious guidance and generous assistance during the
project work. We deem it as a privilege to have worked under his/her able guidance.
Without his close monitoring and valuable suggestions this work wouldn’t have taken
this shape. We feel that this help is un-substitutable and unforgettable.

I wish to express my sincere thanks to, Principal, for providing the college
facilities for the completion of the project.

I profoundly thankful to Mr.B.Sreenivasu Head, ECE Dept, for his

cooperation and encouragement.

I greatly thankful to my Project coordinator V.A. Shankar Ponnapally

Associate. Prof., Dept. of ECE, SREYAS, Hyderabad for his support throughout my

Finally, I thank all the faculty members, supporting staff of ECE Dept. and
friends for their kind co-operation and valuable help for completing the project.

A. Shireesha (16VE5A0404)
Dhrudeep Parikh (15VE1A04C7)
S.Gayathri (15VE1A04D1)
S.Sriprada (15VE1A04H1)

The visually impaired people face a lot of challenges in their routine life. One
such challenge is that they have to depend completely on others for purchasing. In this
paper a solution has been given to identify and purchase products in the supermarket. This
system uses microcontroller and RFID technology. The blind people are provided with
low power RFID reader when they step into the supermarket. In the supermarket,
products are segregated and placed in the shelves. Each shelf is integrated with a passive
RFID tag along with unique ID which describes the category of the product and its
specification. The passive tag information is read by the RFID reader and sent to
microcontroller. The read tag ID is matched with recorded audio file in the APR9600 IC and
played through the speaker which is embedded with the RFID reader. As the recorded audio
file is unique to each product and clearly specifies about the product, they can decide
about acquiring the item by listening to the audio. On implementing this method, blind
people can satisfy their purchasing needs without others support.

Chapter No. Description Page No.


1.2 Block Diagram

2.1 Introduction
2.2 Pin out Description
2.3 Counter and Timers
3.1 RFID Reader
4.1 RFID Tags
4.2 Types of RFID tags


5.1 LCD display
CHAPTER 6 MAX 232 23
6.1 Max 232
6.2 Max 232 Characteristics
7.1 Power supply and description
Of components

10.1 Introduction to KEIL
10.2 Flash Magic
10.3 Proteus Design Software

11.1 Circuit diagram
11.2 Software Program




It is a modern way to identify and purchase products in the super market. This system uses
microcontroller and RFID technology.
 The people are provided with low power RFID reader when they step into the supermarket.
 In the supermarket, products are segregated and placed in the shelves. Each shelf is
integrated with a passive RFID tag along with unique ID which describes the category of the
product and its specification.
 The passive tag information is read by the RFID reader and sent to microcontroller. The read
tag ID is matched with recorded audio file in the APR9600IC and played through the speaker
which is embedded with the RFID reader.
 As the recorded audio file is unique to each product and clearly specifies about the product,
they can decide about acquiring the item by listening to the audio. On implementing this
method, people can satisfy their purchasing needs without others support.




Microcontroller manufacturers have been competing for a long time for attracting
choosy customers and every couple of days a new chip with a higher operating frequency,
more memory and upgraded A/D converters appeared on the market. However, most of them
had the same or at least very similar architecture known in the world of microcontrollers as
“8051 compatible”.

The main reason for their great success and popularity is a skillful chosen
configuration which satisfies different needs of a large number of users allowing at the same
time constant expansions (refers to the new types of microcontrollers). Besides, the software
has been developed in great extend in the meantime, and it simply was not profitable to
change anything in the microcontroller’s basic core. This is the reason for having a great
number of various microcontrollers which basically are solely upgraded versions.

Fig: 2.1 Pin description and Architecture of 8051 Micro Controller

Features of 8051 Micro Controller include,

 4 Kb of ROM.

 128b of RAM (including SFR s) satisfies the user's basic needs.

 4 ports having in total of 32 input/output lines are in most cases sufficient to make all
necessary connections to peripheral environment.

The whole configuration is obviously thought of as to satisfy the needs of most

programmers working on development of automation devices. One of its advantages is that
nothing is missing and nothing is too much. In other words, it is created exactly in accordance
to the average user‘s taste and needs. Other advantages are RAM organization, the operation
of Central Processor Unit (CPU) and ports which completely use all recourses and enable
further upgrade. Each coming pulse i.e. once per each machine cycle. A single machine-cycle
instruction lasts for 12 quartz oscillator periods, which means that by embedding quartz with
oscillator frequency of 12MHz, a number stored in the timer.


Pins1-8: Port 1 each of these pins can be configured as an input or an output.
Pin 9: RSA logic one on this pin disables the microcontroller and clears the contents of most
registers. In other words, the positive voltage on this pin resets the microcontroller. By
applying logic zero to this pin, the program starts execution from the beginning.
Pins 10-17: Port 3 Similar to port 1, each of these pins can serve as general input or output.
Besides, all of them have alternative functions:
Pin 10: RXD Serial asynchronous communication input or Serial synchronous
communication output.
Pin 11: TXD Serial asynchronous communication output or Serial synchronous
communication clock output.
Pin 12: INT0 Interrupt 0 input.
Pin 13: INT1 Interrupt 1 input.
Pin 14: T0 Counter 0 clock input.
Pin 15: T1 Counter 1 clock input.
Pin 16: WR Write to external (additional) RAM.
Pin 17: RD Read from external RAM.
Pin 18, 19: X2 X1 Internal oscillator input and output. A quartz crystal which specifies
operating frequency is usually connected to these pins. Instead of it, miniature ceramics
resonators can also be used for frequency stability. Later versions of microcontrollers operate
at a frequency of 0 Hz up to over 50 Hz.

Pin 20: Ground.

Pins 21-28: Port 21 if there is no intention to use external memory then these port pins are
configured as general inputs/outputs. In case external memory is used, the higher address
byte, i.e. addresses A8-A15 will appear on this port. Even though memory with capacity of
64Kbnot used, which means that not all eight port bits are used for its addressing, the rest of
them are not available as inputs/outputs.

Pin 29: PSEN if external ROM is used for storing program then a logic zero (0) appears on it
every time the microcontroller reads a byte from memory.

Pin 30: ALE Prior to reading from external memory, the microcontroller puts the lower
address byte (A0-A7) on P0 and activates the ALE output. After receiving signal from the
ALE pin, the external register (usually 74HCT373 or 74HCT375 add-on chip) memorizes the
state of P0 and uses it as a memory chip address. Immediately after that, the ALU pin is
returned its previous logic state and P0 is now used as a Data Bus. As seen, port data
multiplexing is performed by means of only one additional (and cheap) integrated circuit. In
other words, this port is used for both data and address transmission.

Pin 31:EA By applying logic zero to this pin, P2 and P3 are used for data and address
transmission with no regard to whether there is internal memory or not. It means that even
there is a program written to the microcontroller, it will not be executed. Instead, the program
written to external ROM will be executed. By applying logic one to the EA pin, the
microcontroller will use both memories, first internal then external (if exists).

Pins 32-39: Port 0 Similar to P2, if external memory is not used, these pins can be used as
general inputs/outputs. Otherwise, P0 is configured as address output (A0-A7) when the ALE
pin is driven high (1) or as data output (Data Bus) when the ALE pin is driven low (0).

Pin 40: VCC +5V power supply.


All 8051 microcontrollers have 4 I/O ports each comprising 8 bits which can be
configured as inputs or outputs. Accordingly, in total of 32 input/output pins enabling the
microcontroller to be connected to peripheral devices are available for use. Pin configuration,
i.e. whether it is to be configured as an input (1) or an output (0), depends on its logic state. In
order to configure a microcontroller pin as an input, it is necessary to apply logic zero (0) to
appropriate I/O port bit. In this case, voltage level on appropriate pin will be 0.Similarly, in
order to configure a microcontroller pin as an input, it is necessary to apply a logic one (1) to
appropriate port. In this case, voltage level on appropriate pin will be 5V (as is the case with
any TTL input).
Port 0: The P0 port is characterized by two functions. If external memory is used then the
lower address byte (addresses A0-A7) is applied on it. Otherwise, all bits of this port are
configured as inputs / outputs. The other function is expressed when it is configured as an
output. Unlike other ports consisting of pins with built-in pull-up resistor connected by it send
to 5 V.

Power supply, pins of this port have this resistor left out. This apparently small

Difference has its consequences .If any pin of this port is configured as an input

Then it acts as if “floats”. Such an input has unlimited input resistance and
Undetermined potential. When the pin is configured as an output, it acts as an
“Open drain”. By applying logic 0 to a port bit, the appropriate pin will be connected to
ground (0V). By applying logic 1, the external output will keep on “floating”. In order to
apply logic 1 (5V) on this output pin, it is necessary to built in an external pull-up resistor.

Port 1:P1 is a true I/O port, because it doesn't have any alternative functions as is the case
with P0, but can be configured as general I/O only. It has a pull-up resistor built-in and is
completely compatible with TTL circuits.

Port 2: P2 acts similarly to P0 when external memory is used. Pins of this port occupy
addresses intended for external memory chip. This time it is about the higher address byte
with addresses A8-A15. When no memory is added, this port can be used as a general
input/output port showing features similar to P1.

Port 3: All port pins can be used as general I/O but they also have an alternative function. In
order to use these alternative functions, a logic one must be applied to appropriate bit of the
P3 register. In terms of hardware, this port is similar to P0, with the difference that its pins
have a pull-up resistor built-in.

Pin's Current limitations: When configured as outputs (logic zero (0)), single port pins can
receive a current of 10mA. If all 8 bits of a port are active, a total current must be limited to
15mA (port P0: 26mA). If all ports (32 bits) are active, total maximum current must be
limited to 71mA. From the user’s point of view, everything works quite simply when
properly connected because most operations are performed by the microcontroller itself. The
8051 microcontroller has two pins for data read RD# (P3.7) and PSEN#. The first one is used
for reading data from external data memory (RAM), while the other is used for reading data
from external program memory (ROM).

A typical example of memory expansion by adding RAM and ROM chips (Hardware
architecture), is shown in figure above. Even though additional memory is rarely used with
the latest versions of the microcontrollers, we will describe in short what happens when
memory chips are connected according to the previous schematic. The whole process
described below is performed automatically.

2.3 COUNTERS AND TIMERS: As you already know, the microcontroller oscillator uses
quartz crystal for its operation. As the frequency of this oscillator is precisely defined and
very stable, pulses it generates are always of the same width, which makes them ideal for
time measurement. Such crystals are also used in quartz watches. In order to measure time
between two events it is sufficient to count up pulses coming from this oscillator. That is
exactly what the timer does. If the timer is properly programmed, the value stored in its
register will be incremented (or decremented) with register will be changed million times per
second, i.e. each microsecond. The 8051 microcontroller has 2 timers/counters called T0 and
T1. Their main purpose is to measure time and count external events. Besides, they can be
used for generating clock pulses to be used in serial communication, so called Baud Rate.

Timer T0: As seen in figure below, the timer T0 consists of two registers TH0 and TL0
representing a low and a high byte of one 16-digit binary number. Accordingly, if the content
of the timer T0 is equal to 0 (T0=0) then both registers it consists of will contain 0. If the
timer contains for example number 1000, then the TH0 register (high byte) will contain the
number 3, while the TL0 register (low byte) will contain decimal number 232.

Fig: 2.2 Timer 0 flag format

TMOD Register (Timer Mode)

The TMOD register selects the operational mode of the timers T0 and T1. As seen in
figure below, the low 4 bits (bit0 - bit3) refer to the timer 0, while the high 4 bits (bit4 - bit7)
refer to the timer 1. There are 4 operational modes and each of them is described herein.

Fig: 2.3 TMOD flag format

Bits of this register have the following function:

GATE1 enables and disables Timer 1 by means of a signal brought to the INT1 pin (P3.3):

1 - Timer 1 operates only if the INT1 bit is set.

0 - Timer 1 operates regardless of the logic state of the INT1 bit.

C/T1 selects pulses to be counted up by the timer/counter 1:

1 - Timer counts pulses brought to the T1 pin (P3.5).

0 - Timer counts pulses from internal oscillator.

T1M1, T1M0 these two bits select the operational mode of the Timer 1.

0 0 0 13-bit timer

0 1 1 16-bit timer

1 0 2 8-bit auto-reload

1 1 3 Split mode

TABLE 1:Timer1 operational modes

GATE0enables and disables Timer 1 using a signal brought to the INT0

Pin (P3.2): 1 - Timer 0 operates only if the INT0 bit is set.

0 - Timer 0 operates regardless of the logic state of the INT0 bit.

C/T0 selects pulses to be counted up by the timer/counter 0:

1 - Timer counts pulses brought to the T0 pin (P3.4).

0 - Timer counts pulses from internal oscillator.

T0M1, T0M0 these two bits select the operational mode of the Timer 0.


0 0 0 13-bit timer

0 1 1 16-bit timer

1 0 2 8-bit auto-reload

1 1 3 Split mode

TABLE 2:Timer0 operational modes

Timer Control (TCON) Register: TCON register is also one of the registers whose bits are
directly in control of timer operation. Only 4 bits of this register are used for this purpose,
while rest of them is used for interrupt control to be discussed later.
Fig: 2.4 TCON flag format

TF1bit is automatically set on the Timer 1 overflow.

TR1bit enables the Timer 1.

1 - Timer 1 is enabled.

0 - Timer 1 is disabled.

TF0bit is automatically set on the Timer 0 overflow.

TR0bit enables the timer 0.

1-Timer 0 is enabled

0- Timer 0 is disabled
Timer 1: Timer 1 is identical to timer 0, except for mode 3 which is a hold count mode. It
means that they have the same function, their operation is controlled by the same registers
TMOD and TCON and both of them can operate in one out of 4 different modes.

Fig: 2.5 Timer1 flag format



Radio-frequency identification (RFID) is an automatic identification method, relying on

storing and remotely retrieving data using devices called RFID tags or transponders. An
RFID tag is an object that can be applied to or incorporated into a product, animal, or person
for the purpose of identification using radio waves. Some tags can be read from several
meters away and beyond the line of sight of the reader. Most RFID tags contain at least two
parts. One is an integrated circuit for storing and processing information, modulating and
demodulating a (RF) signal, and other specialized functions. The second is an antenna for
receiving and transmitting the signal. Chip less RFID allows for discrete identification of tags
without an integrated circuit, thereby allowing tags to be printed directly onto assets at a
lower cost than traditional tags.

Primarily, the two main components involved in a Radio Frequency Identification system
are the Transponder (tags that are attached to the object) and the Interrogator (RFID reader).
Communication between the RFID reader and tags occurs wirelessly and generally does not
require a line of sight between the devices.
RFID reader/ Interrogator:
An RFID reader typically contains a module (transmitter and receiver), a control unit and a
coupling element (antenna). The reader has three main functions: energizing, demodulating
and decoding. In addition, readers can be fitted with an additional interface that converts the
radio waves returned from the RFID tag into a form that can then be passed on to another
system, like a computer or any programmable logic controller. Anti-Collision algorithms
permit the simultaneous reading of large numbers of tagged objects, while ensuring that each
tag is read only once.

RFID operates in several frequency bands. The exact frequency is controlled by the Radio
Regulatory body in each country.

RFID Frequencies:

The generic frequencies for RFID are:

 125 - 134 kHz

 13.56 MHz
 UHF (400 – 930 MHz)
 2.45 GHz
 5.8 GHz

Although there are other frequencies used, these are the main ones.
In the UHF band, there are two areas of interest. Several frequencies in the 400 MHz band
and then the band 860 – 930 MHz

Each of the frequency bands have advantages and disadvantages for operation. The lower
frequencies 125-134 kHz and 13.56 MHz work much better near water or humans than do the
higher frequency tags. Comparing passive tags, the lower frequencies usually have less range,
and they have a slower data transfer rate. The higher frequency ranges have more regulatory
controls and differences from country to country.

Introduction: An RFID transponder, considered as a next generation barcode, is a

miniscule microchip that is attached to an antenna. They come in a wide variety of sizes,
shapes, and forms and can be read through most materials with the exception of conductive
materials like water and metal, but with modifications and positioning even these can be

Fig 4.1: RFID Tag


1. Passive tags
Passive tags are generally smaller, lighter and less expensive than those that are active and
can be applied to objects in harsh environments, are maintenance free and will last for years.
These transponders are only activated when within the response range of a reader. The RFID
reader emits a low-power radio wave field which is used to power up the tag so as to pass on
any information that is contained on the chip.

2. Active tags
Active tags differ in that they incorporate their own power source, where as the tag is a
transmitter rather than a reflector of radio frequency signals which enables a broader range of
functionality like programmable and read/write capabilities.

3. Semi-passive tags
Semi-passive tags are similar to active tags in that they have their own power source, but the
battery only powers the microchip and does not power the broadcasting of a signal. The
response is usually powered by means of backscattering the RF energy from the reader, where
energy is reflected back to the reader as with passive tags. An additional application for the
battery is to power data storage. Semi-passive tags leads to greater sensitivity than passive
tags, typically 100 times more. The enhanced sensitivity can be leveraged as Semi-passive
tags have three main advantages: greater sensitivity than passive tags; longer battery powered
life cycle than active tags; they can perform active functions (such as temperature logging)
under their own power, even when no reader is present for powering the circuitry.
4.3 Applications:
RFID tags are useful for a huge variety of applications. Some of these applications
include: supply chain management, automated payment, physical access control, counterfeit
prevention, and smart homes and offices. RFID tags are also implanted in all kinds of
personal and consumer goods, for example, passports, partially assembled cars, frozen
dinners, ski-lift passes, clothing, and public transportation tickets. Implantable RFID tags for
animals allow concerned owners to label their pets and livestock. Verichip Corp. has also
created a slightly adapted implantable RFID chip, the size of a grain of rice, for use in
humans. Since its introduction, the Verichip was approved by the U.S. Food and Drug
Administration, and this tiny chip is currently deployed in both commercial and medical
5.1 LCD Display
A liquid crystal display (LCD) is a thin, flat display device made up of any number of
color or monochrome pixels arrayed in front of a light source or reflector. Each pixel consists
of a column of liquid crystal molecules suspended between two transparent electrodes, and
two polarizing filters, the axes of polarity of which are perpendicular to each other. Without
the liquid crystals between them, light passing through one would be blocked by the other.
The liquid crystal twists the polarization of light entering one filter to allow it to pass through
the other.

A program must interact with the outside world using input and output devices
that communicate directly with a human being. One of the most common devices attached to
an controller is an LCD display. Some of the most common LCDs connected to the
controllers are 16X1, 16x2 and 20x2 displays. This means 16 characters per line by 1 line 16
characters per line by 2 lines and 20 characters per line by 2 lines, respectively.


(1) Interface with either 4-bit or 8-bit microprocessor.

(2) Display data RAM
(3) 80x8 bits (80 characters).
(4) Character generator ROM
(5) 160 different 5x7 dot-matrix character patterns.
(6) Character generator RAM
(7) 8 different user programmed 5x7 dot-matrix patterns.
(8)Display data RAM and character generator RAM may be
accessed by the microprocessor.
(9) Numerous instructions
(10) Clear Display, Cursor Home, Display ON/OFF, Cursor ON/OFF,
Blink Character, Cursor Shift, Display Shift.
(11) Built-in reset circuit is triggered at power ON.

Shapes and S
(12) Built-in oscillator.
Data can be placed at any location on the LCD. For 16×1 LCD, the address locations

Shapes and sizes:

Fig 5.1: Shapes of LCD display

Electrical block diagram:

Power supply for LCD driving:
Pin description:

Figure 5.2 LCD Display

Writing data to the LCD:
1) Set R/W bit to low
2) Set RS bit to logic 0 or 1 (instruction or character)
3) Set data to data lines (if it is writing)
4) Set E line to high
5) Set E line to low

Read data from data lines (if it is reading)on LCD:

1) Set R/W bit to high

2) Set RS bit to logic 0 or 1 (instruction or character)
3) Set data to data lines (if it is writing)
4) Set E line to high
5) Set E line to low

A typical LCD write operation takes place as shown in the following timing waveform

Fig: 5.3 LCD DATA Write Waveform

1. Wait more than 15 msec after power is applied.
2. Write 0x030 to LCD and wait 5 msec for the instruction to complete.
3. Write 0x030 to LCD and wait 160 microsec for instruction to complete.
4. Write 0x030 AGAIN to LCD and wait 160 microsec or Poll the Busy Flag.
5. Set the Operating Characteristics of the LCD.
6. Write "Set Interface Length".
7. Write 0x010 to turn off the Display.
8. Write 0x001 to Clear the Display.
9. Write "Set Cursor Move Direction" Setting Cursor Behavior Bits.
10. Write "Enable Display/Cursor" & enable Display and Optional Cursor.
In 4-bit mode, the high nibble is sent before the low nibble and the E pin is toggled each time
four bits is sent to the LCD. To initialize in 4-bit mode:
1. Wait more than 15 msecs after power is applied.
2. Write 0x03 to LCD and wait 5 msecs for the instruction to complete.
3. Write 0x03 to LCD and wait 160 usecs for instruction to complete.
4. Write 0x03 AGAIN to LCD and wait 160 usecs (or poll the Busy Flag).
5. Set the Operating Characteristics of the LCD.
6. Write 0x02 to the LCD to Enable 4-Bit Mode.

Entering Text:

First, a little tip: it is manually a lot easier to enter characters and commands in
hexadecimal rather than binary (although, of course, you will need to translate commands from
binary couple of sub-miniature hexadecimal rotary switches is a simple matter, although a little
bit into hex so that you know which bits you are setting). Replacing the d.i.l. switch pack with
a of re-wiring is necessary.
The switches must be the type where on = 0, so that when they are turned to the zero
position, all four outputs are shorted to the common pin, and in position “F”, all four outputs
are open circuit.
All the available characters that are built into the module are shown in Table 3.
Studying the table, you will see that codes associated with the characters are quoted in binary
and hexadecimal, most significant bits (“left-hand” four bits) across the top, and least
significant bits (“right-hand” four bits) down the left.
Initialization by Instructions:

Fig 5.4: LCD Intialization

If the power conditions for the normal operation of the internal reset
circuit are not satisfied, then executing a series of instructions must initialize
LCD unit. The procedure for this initialization process is as above show.
MAX 232
6.1 MAX 232
Max232 is designed by Maxim Integrated Products. This IC is widely used in RS232
Communication systems in which the conversion of voltage level is required to make TTL
devices to be compatible with PC serial port and vice versa. This chip contains charge pumps
which pumps the voltage to the Desired Level. It can be powered by a single +5 volt power
supply and its output can reach +_7.5 volts.MAX232 comes in 16 Pin Dip and many other
packages and it contains Dual Drivers. It can be used as a hardware layer converter for 2
systems to communicate simultaneously.Max232 is one of the versatile IC to use in most of
the signal voltage level conversion.

The MAX232 IC is used to convert the TTL/CMOS logic levels to RS232 logic levels during
serial communication of microcontrollers with PC. The controller operates at TTL logic level
(0-5V) whereas the serial communication in PC works on RS232 standards (-25 V to + 25V).
This makes it difficult to establish a direct link between them to communicate with each

FIG: 6.1: MAX 232 Pin Description

Construction of MAX232:
Mostly MAX232 is used in 16-pin DIP package. It consist of 3 major blocks .It can only be
powered by 5 volts to make it power supply compatible with most of the embedded systems.
First block is the voltage doubler in this IC switched capacitor techniques is used to make the
voltage double .Once the voltage is doubled second block will converts that voltage to +10
and -10. The third block consists of 2 transmitters and 2 receivers which actually convert the
voltage levels. Powered by 5 volts to make it power supply convert the voltage levels.

External components :

Max232 requires minimum 4 external capacitor. Their Value can range from1µF to 10µF
and16 volts or more rating. There are many different versions of this versatile IC available
each of them Require different capacitor value for Proper working.

Fig6.2:MAX232 IC Construcion
Application and uses of MAX232:
MAX232 is used in Serial communication. Problem arises when we have to communicate
between TTL logic and CMOS logic based systems. RS232 is internationally defined
standard named as EIA/TIA-232-E and in this standard logic 0 is the voltage between +3 to
+15 and logic 1 is defined as the voltage between -3 to -15.In TTL logic 0 is defined is by 0
volt and 1 is defined by 5 volt so in this scenario this is a very handy IC to be incorporated.
Some of the applications &uses are, battery powered RS232 Systems Interface Translation,
LowPowerModems, RS232Network Multidrop, and Portable Computing.

Pin Description:

Pin No Function Name

1 Capacitor 1 +
2 Capacitor 3 +
3 Capacitor 1 -
Capacitor connection pins
4 Capacitor 2 +
5 Capacitor 2 -
6 Capacitor 4 -
7 Output pin; outputs the serially transmitted data at RS232 logic level; T2 Out
connected to receiver pin of PC serial port
8 Input pin; receives serially transmitted data at RS 232 logic level; R2 In
connected to transmitter pin of PC serial port
9 Output pin; outputs the serially transmitted data at TTL logic level; R2 Out
connected to receiver pin of controller.
10 Input pins; receive the serial data at TTL logic level; connected to serial T2 In
11 transmitter pin of controller. T1 In
12 Output pin; outputs the serially transmitted data at TTL logic level; R1 Out
connected to receiver pin of controller.
13 Input pin; receives serially transmitted data at RS 232 logic level; R1 In
connected to transmitter pin of PC serial port
14 Output pin; outputs the serially transmitted data at RS232 logic level; T1 Out
connected to receiver pin of PC serial port
15 Ground (0V) Ground
16 Supply voltage; 5V (4.5V – 5.5V) Vcc

Power supply is a reference to a source of electrical power. A device or system that

supplies electrical or other types of energy to an output load or group of loads is called a
power supply unit or PSU. The term is most commonly applied to electrical energy supplies,
less often to mechanical ones, and rarely to others

This power supply section is required to convert AC signal to DC signal and also to
reduce the amplitude of the signal. The available voltage signal from the mains is 230V/50Hz
which is an AC voltage, but the required is DC voltage (no frequency) with the amplitude of
+5V and +12V for various applications.

In this section we have Transformer, Bridge rectifier, are connected serially and
voltage regulators for +5V and +12V (7805 and 7812) via a capacitor (1000µF) in parallel are
connected parallel as shown in the circuit diagram below. Each voltage regulator output is
again is connected to the capacitors of values (100µF, 10µF, 1 µF, 0.1 µF) are connected
parallel through which the corresponding output (+5V or +12V) are taken into consideration.

Fig 7.1 circuit diagram of power supply

The power supply block or circuit mainly consists of three parts. They are

1. Transformer
2. Rectifier (bridge rectifier)
3. Filter
4. Regulator

Power Supply :

Figure 7.2: Block Diagram of a Power supply

The input to the circuit is applied from the regulated power supply. The a.c. input i.e.,
230V from the mains supply is step down by the transformer to 12V and is fed to a rectifier.
The output obtained from the rectifier is a pulsating voltage. So in order to get a pure d.c
voltage, the output voltage from the rectifier is fed to a filter to remove any a.c components
present even after rectification. Now, this voltage is given to a voltage regulator to obtain a
pure constant dc voltage.

Circuit Explanation

Usually, DC voltages are required to operate various electronic equipment and these
voltages are 5V, 9V or 12V. But these voltages cannot be obtained directly. Thus the a.c input
available at the mains supply i.e., 230V is to be brought down to the required voltage level.
This is done by a transformer. Thus, a step down transformer is employed to decrease the
voltage to a required level.

A transformer is a device that transfers electrical energy from one circuit to another
through inductively coupled electrical conductors. A changing current in the first circuit (the
primary) creates a changing magnetic field; in turn, this magnetic field induces a changing
voltage in the second circuit (the secondary). By adding a load to the secondary circuit, one
can make current flow in the transformer, thus transferring energy from one circuit to the

The secondary induced voltage VS, of an ideal transformer, is scaled from the primary
VP by a factor equal to the ratio of the number of turns of wire in their respective windings:
Basic principle
The transformer is based on two principles: firstly, that an electric current can produce
a magnetic field (electromagnetism) and secondly that a changing magnetic field within a coil
of wire induces a voltage across the ends of the coil (electromagnetic induction). By changing
the current in the primary coil, it changes the strength of its magnetic field; since the changing
magnetic field extends into the secondary coil, a voltage is induced across the secondary.

A simplified transformer design is shown below. A current passing through the

primary coil creates a magnetic field. The primary and secondary coils are wrapped around a
core of very high magnetic permeability, such as iron; this ensures that most of the magnetic
field lines produced by the primary current are within the iron and pass through the secondary
coil as well as the primary coil.

Fig 7.3: An ideal step-down transformer showing magnetic flux in the core
Induction law
The voltage induced across the secondary coil may be calculated from Faraday's law
of induction, which states that:

Where VS is the instantaneous voltage, NS is the number of turns in the secondary coil
and Φ equals the magnetic flux through one turn of the coil. If the turns of the coil are
oriented perpendicular to the magnetic field lines, the flux is the product of the magnetic field
strength B and the area A through which it cuts. The area is constant, being equal to the cross-
sectional area of the transformer core, whereas the magnetic field varies with time according
to the excitation of the primary. Since the same magnetic flux passes through both the
primary and secondary coils in an ideal transformer, the instantaneous voltage across the
primary winding equals

Taking the ratio of the two equations for VS and VP gives the basic equation for
stepping up or stepping down the voltage

Ideal power equation

If the secondary coil is attached to a load that allows current to flow, electrical power
is transmitted from the primary circuit to the secondary circuit. Ideally, the transformer is
perfectly efficient; all the incoming energy is transformed from the primary circuit to the
magnetic field and into the secondary circuit. If this condition is met, the incoming electric
power must equal the outgoing power.

Pincoming = IPVP = Poutgoing = ISVS

Giving the ideal transformer equation

Pin-coming = IPVP = Pout-going = ISVS

giving the ideal transformer equation

If the voltage is increased (stepped up) (VS > VP), then the current is decreased
(stepped down) (IS < IP) by the same factor. Transformers are efficient so this formula is a
reasonable approximation.
If the voltage is increased (stepped up) (VS > VP), then the current is decreased
(stepped down) (IS < IP) by the same factor. Transformers are efficient so this formula is a
reasonable approximation.

The impedance in one circuit is transformed by the square of the turns ratio. For
example, if an impedance ZS is attached across the terminals of the secondary coil, it appears
to the primary circuit to have an impedance of

This relationship is reciprocal, so that the impedance ZP of the primary circuit appears
to the secondary to be

A diode bridge or bridge rectifier is an arrangement of four diodes in a bridge
configuration that provides the same polarity of output voltage for any polarity of input
voltage. When used in its most common application, for conversion of alternating current
(AC) input into direct current (DC) output, it is known as a bridge rectifier. A bridge rectifier
provides full-wave rectification from a two-wire AC input, resulting in lower cost and weight
as compared to a center-tapped transformer design, but has two diode drops rather than one,
thus exhibiting reduced efficiency over a center-tapped design for the same output

Basic Operation
When the input connected at the left corner of the diamond is positive with respect to
the one connected at the right hand corner, current flows to the right along the upper colored
path to the output, and returns to the input supply via the lower one.
When the right hand corner is positive relative to the left hand corner, current flows
along the upper colored path and returns to the supply via the lower colored path.

In each case, the upper right output remains positive with respect to the lower right
one. Since this is true whether the input is AC or DC, this circuit not only produces DC power
when supplied with AC power: it also can provide what is sometimes called "reverse polarity
protection". That is, it permits normal functioning when batteries are installed backwards or
DC input-power supply wiring "has its wires crossed" (and protects the circuitry it powers
against damage that might occur without this circuit in place).

Prior to availability of integrated electronics, such a bridge rectifier was always

constructed from discrete components. Since about 1950, a single four-terminal component
containing the four diodes connected in the bridge configuration became a standard
commercial component and is now available with various voltage and current ratings.

Fig 7.4: Waveforms

Output smoothing (Using Capacitor)
For many applications, especially with single phase AC where the full-wave bridge
serves to convert an AC input into a DC output, the addition of a capacitor may be important
because the bridge alone supplies an output voltage of fixed polarity but pulsating magnitude
(see diagram above).

The function of this capacitor, known as a reservoir capacitor (aka smoothing

capacitor) is to lessen the variation in (or 'smooth') the rectified AC output voltage waveform
from the bridge. One explanation of 'smoothing' is that the capacitor provides a low
impedance path to the AC component of the output, reducing the AC voltage across, and AC
current through, the resistive load. In less technical terms, any drop in the output voltage and
current of the bridge tends to be cancelled by loss of charge in the capacitor.

This charge flows out as additional current through the load. Thus the change of load
current and voltage is reduced relative to what would occur without the capacitor. Increases
of voltage correspondingly store excess charge in the capacitor, thus moderating the change
in output voltage / current. Also see rectifier output smoothing.

The simplified circuit shown has a well deserved reputation for being dangerous,
because, in some applications, the capacitor can retain a lethal charge after the AC power
source is removed. If supplying a dangerous voltage, a practical circuit should include a
reliable way to safely discharge the capacitor. If the normal load can not be guaranteed to
perform this function, perhaps because it can be disconnected, the circuit should include a
bleeder resistor connected as close as practical across the capacitor. This resistor should
consume a current large enough to discharge the capacitor in a reasonable time, but small
enough to avoid unnecessary power waste.

Because a bleeder sets a minimum current drain, the regulation of the circuit, defined
as percentage voltage change from minimum to maximum load, is improved. However in
many cases the improvement is of insignificant magnitude.
The capacitor and the load resistance have a typical time constant τ = RC where C and
R are the capacitance and load resistance respectively. As long as the load resistor is large
enough so that this time constant is much longer than the time of one ripple cycle, the above
configuration will produce a smoothed DC voltage across the load.

In some designs, a series resistor at the load side of the capacitor is added. The
smoothing can then be improved by adding additional stages of capacitor–resistor pairs, often
done only for sub-supplies to critical high-gain circuits that tend to be sensitive to supply
voltage noise.

The idealized waveforms shown above are seen for both voltage and current when the
load on the bridge is resistive. When the load includes a smoothing capacitor, both the voltage
and the current waveforms will be greatly changed. While the voltage is smoothed, as
described above, current will flow through the bridge only during the time when the input
voltage is greater than the capacitor voltage. For example, if the load draws an average
current of n Amps, and the diodes conduct for 10% of the time, the average diode current
during conduction must be 10n Amps. This non-sinusoidal current leads to harmonic
distortion and a poor power factor in the AC supply.

In a practical circuit, when a capacitor is directly connected to the output of a bridge,

the bridge diodes must be sized to withstand the current surge that occurs when the power is
turned on at the peak of the AC voltage and the capacitor is fully discharged. Sometimes a
small series resistor is included before the capacitor to limit this current, though in most
applications the power supply transformer's resistance is already sufficient.

Output can also be smoothed using a choke and second capacitor. The choke tends to
keep the current (rather than the voltage) more constant. Due to the relatively high cost of an
effective choke compared to a resistor and capacitor this is not employed in modern

Some early console radios created the speaker's constant field with the current from
the high voltage ("B +") power supply, which was then routed to the consuming circuits,
(permanent magnets were considered too weak for good performance) to create the speaker's
constant magnetic field. The speaker field coil thus performed 2 jobs in one: it acted as a
choke, filtering the power supply, and it produced the magnetic field to operate the speaker.


A voltage regulator is an electrical regulator designed to automatically maintain a constant

voltage level.

The 78xx (also sometimes known as LM78xx) series of devices is a family of self-
contained fixed linear voltage regulator integrated circuits. The 78xx family is a very popular
choice for many electronic circuits which require a regulated power supply, due to their ease
of use and relative cheapness. When specifying individual ICs within this family, the xx is
replaced with a two-digit number, which indicates the output voltage the particular device is
designed to provide (for example, the 7805 has a 5 volt output, while the 7812 produces 12
volts). The 78xx line is positive voltage regulators, meaning that they are designed to produce
a voltage that is positive relative to a common ground. There is a related line of 79xx devices
which are complementary negative voltage regulators. 78xx and 79xx ICs can be used in
combination to provide both positive and negative supply voltages in the same circuit, if

78xx ICs have three terminals and are most commonly found in the TO220 form
factor, although smaller surface-mount and larger TrO3 packages are also available from
some manufacturers. These devices typically support an input voltage which can be anywhere
from a couple of volts over the intended output voltage, up to a maximum of 35 or 40 volts,
and can typically provide up to around 1 or 1.5 amps of current (though smaller or larger
packages may have a lower or higher current rating).
Speaker: In order to translate an electrical signal into an audible sound, speakers contain an
electromagnet: a metal coil which creates a magnetic field when an electric current flows
through it. ... Inside a speaker, an electromagnet is placed in front of a permanent magnet

Speakers are one of the most common output devices used with computer systems. Some
speakers are designed to work specifically with computers, while others can be hooked up to
any type of sound system. Regardless of their design, the purpose of speakers is to produce
audio output that can be heard by the listener.
Speakers are transducers that convert electromagnetic waves into sound waves. The speakers
receive audio input from a device such as a computer or an audio receiver. This input may be
either in analog or digital form. Analog speakers simply amplify the analog electromagnetic
waves into sound waves. Since sound waves are produced in analog form, digital speakers
must first convert the digital input to an analog signal, and then generate the sound waves.

The sound produced by speakers is defined by frequency and amplitude. The frequency
determines how high or low the pitch of the sound is. For example, a soprano singer's voice
produces high frequency sound waves, while a bass guitar or kick drum generates sounds in
the low frequency range. A speaker system's ability to accurately reproduce sound
frequencies is a good indicator of how clear the audio will be. Many speakers include
multiple speaker cones for different frequency ranges, which helps produce more accurate
sounds for each range. Two-way speakers typically have a tweeter and a mid-range speaker,
while three-way speakers have a tweeter, mid-range speaker, and subwoofer.

Amplitude, or loudness, is determined by the change in air pressure created by the speakers'
sound waves. Therefore, when you crank up your speakers, you are actually increasing the air
pressure of the sound waves they produce. Since the signal produced by some audio sources
is not very high (like a computer's sound card), it may need to be amplified by the speakers.
Therefore, most external computer speakers are amplified, meaning they use electricity to
amplify the signal. Speakers that can amplify the sound input are often called active speakers.
You can usually tell if a speaker is active if it has a volume control or can be plugged into an
electrical outlet. Speakers that don't have any internal amplification are called passive
speakers. Since these speakers don't amplify the audio signal, they require a high level of
audio input, which may be produced by an audio amplifier.
Audio playback board using APR33A3 IC for 8 channels of recording.

 Total 11 minutes of recording time each channel (M0 to M7) having 1.3 minutes of recording
 Single chip, high quality voice recording and playback solution.
 User friendly and easy to use operation.
 Non-Volatile flash memory technology, no battery backup required.
 Audio output to drive a speaker or audio out for public address system.
 Can record voice with the help of on-board microphone

How to Record your Voice:

 We can use 8 channels (M0 TO M7) each channel having 1.3 minutes recording length.
 Onboard MIC will automatically be used for recording.
 Supply voltage: 12v AC/DC.
 Switch on the board power LED (LD1) will on.
 Put the jumper in the board JP1 (REC) Section.
 While in record mode select J5 (M0-M7) to select a channel to record the message.
 Let us assume we want to record message in channel M0, Connect M0 to GND (IN Board J3-
 Now whatever we speak will be captured by MIC and recorded, status LED (LD2) will on in
record mode indicating that chip is currently recording. Once duration is full the LED (LD2)
will off means that segment is full. Now you can disconnect the GND Connection from M0,
if before the duration is this connection is removed, then that many seconds are recorded and
rest duration is kept empty.

How to Playback recorder message:

 Connect the speaker to the board J4 Speaker section.
 Now let us check what we recorded. Remove jumper from JP1(REC) Section
 Now connect the MO (J5) to GND (J3) Section, status LED (LD2) will ON till the recorded
sound play in the speaker.
 'This procedure same for the remaining channels also'

How to use with Microcontroller?
 Better Do Voice Recording can be done Manually
 To play back connect Controller I/Os to M0 to M7
 When output goes Low for particular Pin recorded message will play


Keil development tools for the 8051 Microcontroller Architecture support every level
of software developer from the professional applications engineer to the student just learning
about embedded software development. The industry-standard Keil C Compilers, Macro
Assemblers, Debuggers, Real-time Kernels, Single-board Computers, and Emulators support
all 8051 derivatives and help you get your projects completed on schedule.


The µVision Simulator allows you to debug programs using only your PC using
simulation drivers provided by Keil and various third-party developers. A good simulation
environment, like µVision, does much more than simply simulate the instruction set of a
microcontroller — it simulates your entire target system including interrupts, start up code,
on-chip peripherals, external signals and I/O. This software is used for execution of
microcontroller programs.

Keil development tools for the MC architecture support every level of software
developer from the professional applications engineer to the student just learning about
embedded software development. The industry-standard keil C compilers, macro assemblers,
debuggers, real, time Kernels, Single-board computers and emulators support all
microcontroller derivatives and help you to get more projects completed on schedule. The
keil software development tools are designed to solve the complex. Problems facing by
embedded software developers.

 When starting a new project, simply select the microcontroller you the device database
and the µvision IDE sets all compiler, assembler, linker, and memory options for you.

 Numerous example programs are included to help you get started with the most popular
embedded avr devices.

 The keil µ Vision debugger accurately simulates on-chip peripherals (PC, CAN, UART,
SPI, Interrupts, I/O ports, A/D converter, D/A converter and PWM modules) of your avr
device. Simulation helps you understand h/w configurations and avoids time wasted on
setup problems. Additionally, with simulation, you can write and test applications before
target h/w is available.

 When you are ready to begin testing your s/w application with target h/w, use the
MON51, MON390, MONADI, or flash MON51 target monitors, the ISD51 In-System
Debugger, or the ULINK USB-JTAG adapter to download and test program code on your
target system.


Introduction: NXP Semiconductors produce a range of Microcontrollers that feature

both on-chip Flash memory and the ability to be reprogrammed using In-System
Programming technology. Flash Magic is Windows software from the Embedded Systems
Academy that allows easy access to all the ISP features provided by the devices. These
features include:

 Erasing the Flash memory (individual blocks or the whole device)

 Programming the Flash memory

 Modifying the Boot Vector and Status Byte

 Reading Flash memory

 Performing a blank check on a section of Flash memory

 Reading the signature bytes

 Reading and writing the security bits

 Direct load of a new baud rate (high speed communications)

 Sending commands to place device in Boot loader mode

Flash Magic provides a clear and simple user interface to these features and more as
described in the following sections. Under Windows, only one application may have access
the COM port at any one time, preventing other applications from using the COM port. Flash
Magic only obtains access to the selected COM port when ISP operations are being
performed. This means that other applications that need to use the COM port, such as
debugging tools, may be used while Flash Magic is loaded. Note that in this manual third
party Compilers are listed alphabetically. No preferences are indicated or implied.


PROTEUS VSM allows professional engineers to run interactive simulations of real

designs, and to reap the rewards of this approach to circuit simulation. And then, a range of
simulator models for popular micro-controllers and a set of animated models for related
peripheral devices such as LED and LCD displays, keypads, an RS232 terminal and more. It
is possible to simulate complete micro-controller systems and thus to develop the software
for them without access to a physical prototype. In a world where time to market is becoming
more and more important this is a real advantage. Structurally, Proteus 6 Professional
separated into two main components, which are ISIS 6 Professional and ARES 6
Professional. ISIS 6 Professional mainly involved on circuit designing and simulation ISIS 6
Professional: Circuit designing & simulation ARES 6 Professional:

PCB Proto typing. Start the program by click the ISIS 6 Professional icon in Start Menu.


Prior to circuit construction, user must first identify the necessary components required in the
circuit. For example, in executing an 8-bit running light, the components needed are:

i. PIC16F877

ii. LED

iii. Resistor

iv. Capacitor m

v. Power Supply Terminals / Grounding

Fig: 10.3 Circuit diagram of 8-bit running light.

Selecting Components

To select the components, click on Library > Pick Device/Symbol or press P

Parts Keywords in “Pick Devices” Window

PIC16F877 PIC16F877




TABLE: 4 Components table

The selected component can be located on the left side window of the design diagram. To put
the component to the design sheet, just left click the component and put it to the sheet. To
move the components, simply right click on the component (the component will be led-
lighted), and left click and drag the component to the desired location. For power terminal
and ground, the component is NOT selected from the library. Select the “inter-sheet terminal”
icon at the left-side toolbar

FIG: 10.3 Select POWER for Vcc and GROUND as ground.

b) Component Parameter Settings: Each component need to be set according to the

specifications. For example the resistor or capacitor value need to define before any
simulation can be done. To edit the component, select the component (right-click) and left-
click to open the Edit Component dialog. The dialog is different according to the devices.
Figure below shows the Edit Component .Dialog of a resistor. Set the resister value in the
resistance box.

c) Parameter Settings: The most important part of Proteus simulation is setting up the
microcontroller. The configuration needs to be correct to cross out any setting error in time
for program simulation. To edit the parameter for PIC, right click on the PIC to select the
component and then left-click.

Edit Component dialog will pop up in this dialog, two things that need to set are Program
File: Your program’s hex file location Processor Clock Frequency .The oscillator frequency
that you used

 At the Program File box, click the folder icon.

 Select the directory where you compiled your source code. Then select the
Corresponding hex file.
 Set the Processor Clock Frequency to 20MHz.


After completing the circuit assembly and configuration, now it’s time to verify
whether the source code compiled is virtually accurate or not. This is where the fun comes.
Proteus offer a whole lot of variety virtual devices. In fact, simulation using oscilloscope and
function generator can be done using Proteus. Even virtual hyper terminal is provided to
demonstrate how your code performs in real world without really doing the hardware section
yet. To start simulation, press the play button at the bottom toolbar. The LED’s are ON
initially. Then, when the push button is pressed, the LED’s will blink at a fast rate. To stop
the simulation, press the stop button or press Esc


Bill of materials (BOM) the term used to describe the "parts list" of components needed to
complete a saleable end-item. It generates a list of components needed to assemble the

11.1 Circuit diagram of the project

11.2 OPERATION: The Operation of Electronic Guide for Super Bazaar the power supply
voltage is 12V .Power supply is connected to 8052 microcontroller. The 8052 Microcontroller
has 40 pins. Each pin has its own importance. PowerSupply,Max232,RFID reader, RFID tags,
LCD Display,APR33A3, Speaker are connected to microcontroller.
MAX232 drives 5V to the microcontroller. It is a dual transmitter and receiver. It has 16 pins.
The information is stored in RFID reader. It is a device used to gather information from an
RFID tag, which is used to track individual objects. Radio waves are used to transfer data
from the tag to a reader. RFID tags are radio waves to read and capture information stored on
a tag attached to an object. A tag can be read from up to several feet away and does not need
to be within direct line-of-sight of the reader to be tracked. Power Supply is an electrical
device that supplies electric power to an electrical load. The primary function of a power
supply is to convert electric current from a source to the correct voltage,current,and frequency
to power the load. APR33A3 is a Audio voice recorder and playback .working voltage is
5V.The information about the project we need to record our voice and through the Speaker
we can hear the information such as product name, cost etc. Speaker is used to convert
electrical signal into an audible sound. We can see the information i.e., the product name and
cost through LCD(liquid crystal display) display . It is an electronic display module and find
a wide range of applications. A 16*2 lcd display is a very basic module and is very
commonly used in various devices and circuits. A 16*2 lcd means it can display 16 characters
per line and there are two such lines.


1. RFID system does not need Line of sight (LOS) unlike bar-codes or

Image processing based system.

2. Easy to bring items


1. Used in Super Bazaar



 This project work presents a modern way to identify and purchase products in
the super market.

 In the super market, products are segregated and placed in shelves. each shelf
is integrated with a passive RFID tag along with unique ID which describes
the category of the product and its specification.

 As the recorded audio file is unique to each product and clearly specifies about
the product, they can decide about acquiring the item by listening to the audio.

 On implementing this method, people can satisfy their purchasing needs

without others support.

 The 8051 Micro controller and Embedded Systems

o Muhammad Ali Mazidi

o Janice Gillispie Mazidi

 The 8051 Micro controller Architecture, Programming & Applications

o Kenneth J. Ayala

 Fundamentals of Micro processors and Micro computers

o B. Ram

 Micro processor Architecture, Programming & Applications

o Ramesh S.Gaonkar

 Electronic Components

o D.V.Prasad



#define lcd P2

bit start;

typedef unsigned char uc;

void lcd_init();

void lcd_string(char *);

void lcd_cmnd(char );

void lcd_data(char );

void delayms(unsigned int);

void compare_function();

void welcome_data(void);

void vehicle_data(void);

void string_trans(unsigned char *ptr);

void send_char(unsigned int x);

int cnt=0, v=0, i, j; // 11004E63427E,14001A942CB6

char b[20];

Char a [3]= {'E','E','5'};

c [3]= {'D','B','6'};

d [3] = {'C','4','F'};
e [3] = {'2','F','8'};

f [3] = {'4','E','8'};

g [3] = {'8','6','9'};

h [3] = {'C','8','9'};

k [3] ={'8','D','0'};

l [3] = {'0','A','D'};

m [3] = {'B','C','D'};

void main(void)


TH1 =0xFD;


TR1 =1;




IE =0x90;


delayms (300);


lcd_cmnd (0x80);
lcd_string ("card no: ");

lcd_cmnd (0xc0);

for (i=0;i<12;i++)







/*..........TAGID compare function............*/

void compare_function()




lcd_string("SURF EXCEL");

lcd_cmnd (0xC0);
lcd_string ("RS:10/-");


delayms (1200);


else if((b[9]==c[0])&&(b[10]==c[1])&&(b[11]==c[2]))

lcd_cmnd (0x01);

lcd_cmnd (0x80);

lcd_string ("GOOD DAY");

lcd_cmnd (0xC0);

lcd_string ("RS:10/-");


Delayms (800);


else if((b[9]==d[0])&&(b[10]==d[1])&&(b[11]==d[2]))

lcd_cmnd (0x01);

lcd_cmnd (0x80);

lcd_string ("CLASSMATE BOOK");

lcd_cmnd (0xC0);

lcd_string ("RS: 50/-");


delayms (800);


else if((b[9]==e[0])&&(b[10]==e[1])&&(b[11]==e[2]))

lcd_cmnd (0x01);

lcd_cmnd (0x80);

lcd_string ("DAIRY MILK");

lcd_cmnd (0xC0);

lcd_string ("RS:10/-");


delayms (800);


else if((b[9]==f[0])&&(b[10]==f[1])&&(b[11]==f[2]))

lcd_cmnd (0x01);

lcd_cmnd (0x80);

lcd_string ("SANTOOR SOAP");

lcd_cmnd (0xC0);

lcd_string ("RS:29/-");

delayms (800);


else if((b[9]==g[0])&&(b[10]==g[1])&&(b[11]==g[2]))

lcd_cmnd (0x01);

lcd_cmnd (0x80);

lcd_string ("KURKURE");

lcd_cmnd (0xC0);

lcd_string ("RS: 10/-");


delayms (800);


else if((b[9]==h[0])&&(b[10]==h[1])&&(b[11]==h[2]))

lcd_cmnd (0x01);

lcd_cmnd (0x80);

lcd_string ("PENCILS");

lcd_cmnd (0xC0);

lcd_string ("RS:49/-");


delayms (800);

else if((b[9]==k[0])&&(b[10]==k[1])&&(b[11]==k[2]))

lcd_cmnd (0x01);

lcd_cmnd (0x80);

lcd_string ("RICE");

lcd_cmnd (0xC0);

lcd_string ("RS: 150/-");


delayms (800);


else if((b[9]==l[0])&&(b[10]==l[1])&&(b[11]==l[2]))

lcd_cmnd (0x01);

lcd_cmnd (0x80);

lcd_string ("SUGAR");

lcd_cmnd (0xC0);

lcd_string ("RS: 34/-");

delayms (500);

else if((b[9]==m[0])&&(b[10]==m[1])&&(b[11]==m[2]))

lcd_cmnd (0x01);

lcd_cmnd (0x80);

lcd_string ("TEA DUST");

lcd_cmnd (0xC0);

lcd_string ("RS: 56/-");

delayms (500);


lcd_cmnd (0x01);

lcd_cmnd (0x80);

lcd_string ("IN VALID CARD ");

delayms (500);

/*...........delay routine program...........*/

void delayms (unsigned int itime)

unsigned int q, p;



/*............welcome data...................*/

void welcome_data(void)

lcd_cmnd (0x01);

lcd_cmnd (0x80);

lcd_string ("WELCOME TO SREYAS ");

lcd_cmnd (0xC0);

lcd_string ("ELECTRONIC GUIDE");

delayms (2000);

lcd_cmnd (0x01);

lcd_cmnd (0x80);

lcd_string ("FOR SUPER BAZAAR ");

delayms (2000);

lcd_cmnd (0x01);

lcd_cmnd (0x80);

lcd_string ("WAIT FOR R CARD.");


void vehicle_data(void)

lcd_cmnd (0x01);

lcd_cmnd (0x80);

lcd_string ("WAIT FOR R CARD.");


/*.........serial interrupt program.............*/

void serial0(void)interrupt 4


TI=0; //clear interrupt


RI=0; //clear interrupt






/*..........lcd initialization program..........*/

void lcd_init()





/*........lcd string display................*/

void lcd_string(char *ptr)




/*...........lcd command program..............*/

void lcd_cmnd(char c)


lcd = ((c&0xf0)|0x02);

lcd = 0;

lcd = ((c<<4)|0x02);

lcd = 0;


/*............lcd data program................*/

void lcd_data(char c)


lcd = ((c&0xf0)|0x03);

lcd = 0;

lcd = ((c<<4)|0x03);

lcd = 0;



1.1 Block diagram of the project. 03

2.1 Architecture of 8051MC 04

2.2 Timer 0 flag format 15

2.3 TMOD flag format 15

2.4 TCON flag format 17

2.5 Timer 1 flag format 17

4.1 RFID tags 21

5.1 Shapes of LCD display 25

5.2 LCD pin configuration 26

5.3 LCD data write waveform 27

5.4 LCD Intialization 29

6.1 MAX232 Pin Diagram 31

6.2 Max232 IC Construction 32

7.1 Circuit diagram of Power Supply 35

7.2 Block diagram of Power Supply 36

7.3 An Ideal Step-Down Transformer 38

7.4 Waveforms 41

10.3 Circuit Diagram of 8-bit running light 49

10.3 Select Power for Vcc and Ground 51

11.1 Circuit Diagram of the Project 53