You are on page 1of 73



INTRODUCTION: The natures most spectacular creation is human brain. The main feature of the human brain is its ability to sense the obstacles and respond according to them. The men always want to transplant his ability to the artificial things so that they can not only sense the problem but also respond according to that. In this competitive corporate world every organization wants to improve the efficiency as well as its productivity. To improve the efficiency of organization, automation is a preferred solution. There is Voice control robot project. This project is very useful for human. This system (Voice Control Robot) sense human voice and take decision microcontroller for successful decision. There is used 89s52/89c52 and 89c2051according to command. In this voice module project we used, Robot and.


Hardware requirements: 1) Voice module kit

2) LM7805 Regulator 3) Power Supply 4) Resistors 5) Capacitors 6) Transistors 7) Diode 8) Connectors 9) Crystal Oscillator 10) MICROCONTROLLER 89C2051 11) DC MOTOR

Software requirements:
1) Assembler of ATMEL microcontroller series 2) PADS for PCB designing


Power Supply






WORKING OF THE PROJECT: A person can control robot using voice command. Firstly we record voice to operate system through voice command. When we operate system then give voice command. According to command this project works. When we will speak left then robot will be move left side. Then we will speak right then robot will be move right side. When we will speak straight then robot will drive straight. When we will speak stop then robot will be stop. Thus it performs the controlling of the robot successfully.

How to operate this project? Type 99 and press clr key, all memory clear. Type 01 and press train key after that record your voice. Type 02 and press train key after that record second voice command. . . . . . . . . Type 20 and press train key after that record 20th voice command. There are used only 20th maximum locations.


If FND display 77 it means no voice recognize. If FND display 55 then recording voice is too short. If FND display 66 then recording voice is too long. CIRCUIT DIAGRAM:


CIRCUIT DESCRIPTION: POWER SUPPLY SECTION: Consists of: 1. RLMT Connector--- It is a connector used to connect the step down transformer to the bridge rectifier. 2. Regulator: ----LM7805 is used to give a fixed 5v regulated supply. 3. Capacitor: -----It is again an electrolytic capacitor 10M/65v used for filtering to give pure dc. 4. Capacitor: ----- It is an ceramic capacitor used to remove the spikes generated when frequency is high(spikes). So the output of supply section is 5v regulated dc.



Requires three connections to be successfully done for its operation to begin. 1. +5v supply: This +5v supply is required for the controller to get start which is provided from the power supply section. 2. Crystal Oscillator: A crystal oscillator of 12 MHz is connected at pin no.5,x1 and pin no.4,x2 to generate the frequency for the controller. The crystal oscillator works on piezoelectric effect. The clock generated is used to determine the processing speed of the controller. Two capacitors are also connected one end with the oscillator while the other end is connected with the ground. As it is recommended in the book to connect two ceramic capacitor of 20 pf40pf to stabilize the clock generated. 3. Reset section: It consists of an rc network consisting of 10M/35V capacitor and one resistance of 1k. This section is used to reset the controller connected at pin no.1 of AT89c2051.





Printed Circuit Boards In electronics, printed circuit boards, or PCBs, are used to mechanically support and electrically connect electronic components using conductive pathways, or traces, etched from copper sheets laminated onto a non-conductive substrate. Alternative names are printed wiring board (PWB),and etched wiring board. Populating the board with electronic components forms a printed circuit assembly (PCA), also known as a printed circuit board assembly (PCBA). PCBs are rugged, inexpensive, and can be highly reliable. They require much more layout effort and higher initial cost than either wire-wrapped or point-to-point constructed circuits, but are much cheaper, faster, and consistent in high volume production.

Printed circuit boards fall into the following categories:

1. Motherboard : The principal board that has connectors for attaching devices to the bus. Typically, the mother board contains the CPU, memory, and basic controllers for the system. On PCs, the motherboard is often called the system board or mainboard.

2. Expansion board : Any board that plugs into one of the computer's expansion slots. Expansion boards include controller boards, LAN cards, and video adapters.

3. Daughter card : Any board that attaches directly to another board.


4. Controller board: A special type of expansion board that contains a controller for a peripheral device. When you attach new devices, such as a disk drive or graphics monitor, to a computer, you often need to add a controller board.

5. Network Interface Card (NIC) : An expansion board that enables a PC to be connected to a local-area network (LAN).

6. Video adapter: An expansion board that contains a controller for a graphics monitor. Printed circuit boards are also called cards.


Patterning (etching) The vast majority of printed circuit boards are made by adhering a layer of copper over the entire substrate, sometimes on both sides, (creating a "blank PCB") then removing unwanted copper after applying a temporary mask (eg. by etching), leaving only the desired copper traces. A few PCBs are made by adding traces to the bare substrate (or a substrate with a very thin layer of copper) usually by a complex process of multiple electroplating steps. There are three common "subtractive" methods (methods that remove copper) used for the production of printed circuit boards: 1. Silk screen printing uses etch-resistant inks to protect the copper foil. Subsequent etching removes the unwanted copper. Alternatively, the 14

ink may be conductive, printed on a blank (non-conductive) board. The latter technique is also used in the manufacture of hybrid circuits. 2. Photoengraving uses a photomask and chemical etching to remove the copper foil from the substrate. The photomask is usually prepared with a photoplotter from data produced by a technician using CAM, or computer-aided manufacturing software. Laser-printed transparencies are typically employed for phototools; however, direct laser imaging techniques are being employed to replace phototools for highresolution requirements. 3. PCB milling uses a two or three-axis mechanical milling system to mill away the copper foil from the substrate. A PCB milling machine (referred to as a 'PCB Prototyper') operates in a similar way to a plotter, receiving commands from the host software that control the position of the milling head in the x, y, and (if relevant) z axis. Data to drive the Prototyper is extracted from files generated in PCB design software and stored in HPGL or Gerber file format. "Additive" processes also exist. The most common is the "semi-additive process. In this version, the unpatterned board has a thin layer of copper already on it. A reverse mask is then applied. (Unlike a subtractive process mask, this mask exposes those parts of the substrate that will eventually become the traces.) Additional copper is then plated onto the board in the unmasked areas; copper may be plated to any desired weight. Tin-lead or other surface platings are then applied. The mask is stripped away and a brief etching step removes the now-exposed original copper laminate from the board, isolating the individual traces.The additive process is commonly used for multi-layer boards as it facilitates the plating-through of the holes (vias) in the circuit board. 15

Lamination Some PCBs have trace layers inside the PCB and are called multilayer PCBs. These are formed by bonding together separately etched thin boards.

Drilling Holes, or vias, through a PCB are typically drilled with tiny drill bits made of solid tungsten carbide. The drilling is performed by automated drilling machines with placement controlled by a drill tape or drill file. These computer-generated files are also called numerically controlled drill (NCD) files or "Excellon files". The drill file describes the location and size of each drilled hole. When very small vias are required, drilling with mechanical bits is costly because of high rates of wear and breakage. In this case, the vias may be evaporated by lasers. Laser-drilled vias typically have an inferior surface finish inside the hole. These holes are called micro vias. It is also possible with controlled-depth drilling, laser drilling, or by predrilling the individual sheets of the PCB before lamination, to produce holes that connect only some of the copper layers, rather than passing through the entire board. These holes are called blind vias when they connect an internal copper layer to an outer layer, or buried vias when they connect two or more internal copper layers.

The walls of the holes, for boards with 2 or more layers, are plated with copper to form plated-through holes that electrically connect the conducting layers of the PCB. For multilayer boards, those with 4 layers or 16

more, drilling typically produces a smear comprised of the bonding agent in the laminate system. Before the holes can be plated through, this smear must be removed by a chemical de-smear process, or by plasma-etch. Exposed conductor plating and coating The pads and lands to which components will be mounted are typically plated, because bare copper oxidizes quickly, and therefore is not readily solderable. Traditionally, any exposed copper was plated with solder. This solder was a tin-lead alloy, however new solder compounds are now used to achieve compliance with the RoHS directive in the EU, which restricts the use of lead. Other platings used are OSP (organic surface protectant), immersion silver, electroless nickel with immersion gold coating (ENIG), and direct gold. Edge connectors, placed along one edge of some boards, are often gold plated.

Solder resist Areas that should not be soldered to may be covered with a polymer solder resist (solder mask) coating. The solder resist prevents solder from bridging between conductors and thereby creating short circuits. Solder resist also provides some protection from the environment.

Screen printing Line art and text may be printed onto the outer surfaces of a PCB by screen printing. When space permits, the screen print text can indicate component designators, switch setting requirements, test points, and other features helpful in assembling, testing, and servicing the circuit board.Screen print is also known as the silk screen, or, in one sided PCBs, the red print.


Test Unpopulated boards may be subjected to a bare-board test where each circuit connection (as defined in a netlist) is verified as correct on the finished board. For high-volume production, a Bed of nails tester or fixture is used to make contact with copper lands or holes on one or both sides of the board to facilitate testing. A computer will instruct the electrical test unit to send a small amount of current through each contact point on the bed-ofnails as required, and verify that such current can be seen on the other appropriate contact points. For small- or medium-volume boards, flyingprobe testers use moving test heads to make contact with the copper lands or holes to verify the electrical connectivity of the board under test.

Populating After the PCB is completed, electronic components must be attached to form a functional printed circuit assembly, or PCA. In through-hole construction, component leads may be inserted in holes and electrically and mechanically fixed to the board with a molten metal solder, while in surfacemount construction, the components are simply soldered to pads or lands on the outer surfaces of the PCB.Often, through-hole and surface-mount construction must be combined in a single PCA because some required components are available only in surface-mount packages, while others are available only in through-hole packages. Again, JEDEC guidelines for PCB component placement, soldering, and inspection are commonly used to maintain quality control in this stage of PCB manufacturing. After the board is populated, the populated board may be tested with an in-circuit test system. To facilitate this test, PCBs may be designed with extra pads to make temporary connections. Sometimes 18

these pads must be isolated with resistors. The in-circuit test may also exercise boundary scan test features of some components. In-circuit test systems may also be used to program nonvolatile memory components on the board. In boundary scan testing, test circuits integrated into various ICs on the board form temporary connections between the pcb traces to test that the ICs are mounted correctly. Boundary scan testing requires that all the ICs to be tested use a standard test configuration procedure, the most common one being the Joint Test Action Group (JTAG) standard. Protection and packaging PCBs intended for extreme environments often have a conformal coat, which is applied by dipping or spraying after the components have been soldered. The coat prevents corrosion and leakage currents or shorting due to condensation. The earliest conformal coats were wax. Modern conformal coats are usually dips of dilute solutions of silicone rubber, polyurethane, acrylic, or epoxy. Some are engineering plastics sputtered onto the PCB in a vacuum chamber. Many assembled PCBs are static sensitive, and therefore must be placed in antistatic bags during transport. When handling these boards, the user must be earthed; failure to do this might transmit an accumulated static charge through the board, damaging or destroying it. Even bare boards are sometimes static sensitive. Traces have gotten so fine that it's quite possible to blow an etch off the board (or change its characteristics) with a static charge. This is especially true on non-traditional PCBs such as MCMs and microwave PCBs.



1. Prepare the layout of the circuit (positive).

2. Cut the photofilm (slightly bigger) of the size of the layout.

3. Place the layout in the photoprinter machine with the photofilm above it. Make sure that the bromide (dark) side of the film is in contact with the layout.

4. Switch on the machine by pressing the push button for 5 sec.

5. Dip the film in the solution prepared (developer) by mixing the chemicals A & B in equal quantities in water.

6. Now clean the film by placing it in the tray containing water for 1 min.

7. After this, dip the film in the fixer solution for 1 min. now the negative of the 8. Circuit is ready.


9. Now wash it under the flowing water.

10.Dry the negative in the photocure machine.

11.Take the PCB board of the size of the layout and clean it with steel wool to make the surface smooth.

12.Now dip the PCB in the liquid photoresist, with the help of dip coat machine.

13.Now clip the PCB next to the negative in the photo cure machine, drying for approximate 10-12 minute.

14.Now place the negative on the top of the PCB in the UV machine, set the timer for about 2.5 minute and switch on the UV light at the top.

15.Take the LPR developer in a container and rigorously move the PCB in it.

16.After this, wash it with water very gently.

17.Then apply LPR dye on it with the help of a dropper so that it is completely covered by it.

18.Now clamp the PCB in the etching machine that contains ferric chloride solution for about 10 minutes.


19.After etching, wash the PCB with water, wipe it a dry cloth softly.

20.Finally rub the PCB with a steel wool, and the PCB is ready.


INCLUDE buzzer main: CLR p3.0 CLR p3.1 mainloop: JNB p1.4,la1 SETB p3.0 SETB p3.1 CLR buzzer la1: JNB p1.5,la2 CLR p3.0 SETB p3.1 CLR buzzer la2: JNB p1.6,la3 SETB p3.0 CLR p3.1 CLR buzzer la3: CLR p3.0 CLR p3.1 SETB buzzer JMP mainloop 22 EQU p3.7

MICROCONTROLLER: Microcontroller AT89C2051

Features Compatible with MCS-51 Products 2K Bytes of Re programmable Flash Memory -Endurance: 1,000 Write/Erase Cycles 2.7V to 6V Operating Range Fully Static Operation: 0 Hz to 24 MHz Two-level Program Memory Lock 128 x 8-bit Internal RAM 15 Programmable I/O Lines Two16-bit Timer/Counters Six Interrupt Source Programmable Serial UART Channel Direct LED Drive Outputs 23

On-chip Analog Comparator Low-power Idle and Power-down Modes

Description TheAT89C2051 is low-voltage; high-performance CMOS 8-bit microcomputer with2K bytes of Flash programmable and erasable read only memory (PEROM). The device is manufactured using Atmels high -density nonvolatile memory technology and is compatible with the industry-standard MCS-51 instruction set. By combining versatile 8-bit CPU with Flash on a monolithic chip, the Atmel AT89C2051 is a powerful microcomputer, which provides a highly flexible and cost-effective solution to many embedded control applications. The AT89C2051 provides the following standard features: 2K bytes of Flash, 128bytes of RAM, 15 I/O lines, two 16-bit timer/counters, a five vector two-level interrupt architecture, a full duplex serial port, a precision analog comparator, on-chip oscillator and clock circuitry. In addition, the AT89C2051 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port and interrupt system to continue functioning. The power-down mode 24

saves the RAM contents but freezes the oscillator disabling all other chip functions until the next hardware reset.

Pin Configuration


Pin description: VCC: Supply voltage



Port 1:

Port 1 is an 8-bit bi-directional I/O port. Port pins P1.2 toP1.7

provides internal pull-ups. P1.0 and P1.1 require external pull-ups. P1.0 and P1.1 also serve as the positive input (AIN0) and the negative input (AIN1), respectively, of the on-chip precision analog comparator. The Port 1 output buffers can sink 20 m A and can drive LED displays directly. When 1s are written to Port 1 pins, they can be used as inputs. When pins P1.2 to P1.7 are used as inputs and are externally pulled low, they will source current (IIL) because of the internal pull-ups. Port 1 also receives code data during Flash programming and verification.

Port 3:

Port 3 pins P3.0 to P3.5, P3.7 are seven bi-directional I/O pins 26

with internal pull-ups. P3.6 is hard-wired as an input to the output of the on-

chip comparator and is not accessible as a general purpose I/O pin. The Port 3 output buffers can sink 20 MA. 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. Port 3 also serves the functions of various special features of theAT89C2051 as listed below: Port 3 also receives some

control signals for Flash programming and verification.


Reset input. All I/O pins are reset to 1s as soon as RST goes

high. Holding the RST pin high for two machine cycles while the oscillator is running resets the device. Each machine cycle takes 12 oscillator or clock cycles.


Input to the inverting oscillator amplifier and input to the

internal clock operating circuit.


Output from the inverting oscillator amplifier.


Oscillator Characteristics:

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 Figure 1. Either a quartz crystal or ceramic resonator may be used. To drive the device from an external clock source, XTAL2 should be left Un connected while XTAL1 is driven as shown in Figure 2. There are no requirements on the duty cycle of the external clock signal, since the input to the internal clocking circuitry is through a divideby-two flip-flop, but minimum and maximum voltage high and low time specifications must be observed.

Figure 1: Oscillator Connections

Note: C1, C2 = 30 PF = 40 PF Figure 2.:External Clock Drive Configuration


AT89C2051 4 Special Function Registers A map of the on-chip memory area called the Special Function Register SFR) pace is shown in the table below. Note that not all of the addresses are occupied, and unoccupied addresses ay not be implemented on the chip. Read accesses to these addresses will in general return random data, and write accesses will have an indeterminate effect. User software should not write 1s to these unlisted locations, since they may be used in future products to invoke new features. In that case, the reset or inactive values of the new bits will always be 0 Table 1:AT89C2051 SFR Map and Reset Values


Restrictions on Certain Instructions: The AT89C2051 and is an economical and cost-effective member of Atmels growing family of micro controllers .It contains 2K bytes of flash program memory. It is fully compatible with the MCS-51 architecture, and can be programmed using the MCS-51 instruction set. However there are a few considerations one must keep in mind when utilizing certain instructions to program this device. All the instructions related to jumping or branching should be restricted such that the destination address falls within the physical program memory space of the device, which is2K for the AT89C205 This should be her responsibility of the software programmer. For example, LJMP 30

7E0Hwould be a valid instruction for the AT89C2051 (with 2K of memory) , whereas JMP 900H would not.

Branching instructions LCALL, LJMP, ACALL, AJMP, SJMP, JMP @A+DPTR These unconditional branching instructions will execute correctly as long as the programmer keeps in mind that the destination branching address must fall within the physical boundaries of the program memory size (locations 00H to7FFH for the 89C2051). Violating the physical space limits May cause unknown program behavior. CJNE [...], DJNZ [...], JB, JNB, JC, JNC, JBC, JZ, JNZ With These conditional branching instructions the same rule above applies. Again, violating the memory boundaries may cause erratic execution .For applications involving interrupts the normal interrupt service routine address locations of the 80C51 family architecture have been preserved. MOVX related instructions, Data Memory

The AT89C2051 contains 128 bytes of internal data memory. Thus, in the T89C2051 the stack depth is limited to128 bytes, the amount of available RAM. External DATA memory access is not supported in this device, nor is external PROGRAM memory execution. Therefore, no MOVX [...] instructions should be included in the program. A typical 80C51 assembler will still assemble instructions, even if they are written in violation of the restrictions mentioned above. It is the responsibility of the controller user to know the physical features and 31

limitations of the device being used and adjust the instructions used correspondingly.

Program Memory Lock Bits On the chip are two lock bits which can be left un programmed (U) or can be programmed (P) to obtain the additional features listed in the table below:

Lock Bit Protection Modes (1) Note: 1 The Lock Bits can only be erased with the Chip Erase operation.

Idle Mode In idle mode, the CPU puts itself to sleep while all the on chip peripherals remain active. The mode is invoked by software. The content of the on-chip RAM and all the special functions registers remain unchanged


during this mode. The idle mode can be terminated by any enabled interrupt or by a hardware reset. P1.0 and P1.1 should be set to 0 if no external pull ups are used, or set to 1 if external pull ups are used. It should be noted that when idle is terminated by a hardware reset, the device normally resumes program execution, from where it left off, up to two machine cycles before the internal reset algorithm takes control. On-chip hardware inhibits access to internal RAM in this event, but access to the port pins is not inhibited. To eliminate the possibility of an unexpected write to a port pin when Idle is Terminated by reset, the instruction following the one that invokes Idle should not be one that writes to a port pin or to external memory.

Power-down Mode In the power down mode the oscillator is stopped, and the instruction that invokes power down is the last instruction executed. The on-chip RAM and Special Function Registers retain their values until the power down mode is Terminated. The only exit from power down is a hard ware reset. Reset redefines the SFR s but does not change the on-chip RAM. The reset should not be activated before VCC is restored to its normal operating level and must be held active long enough to allow the oscillator to restart and stabilize. P1.0 and P1.1 should be set to 0 if no external pull-ups are used, or set to 1 if external pull-ups are used.

Programming The Flash 33

The AT89C2051 is shipped with the 2K bytes of on-chip PEROM code memory array in the erased state (i.e., contents= FFH) and ready to be programmed. The code Memory array is programmed one byte at a time. Once the array is programmed, to re-program any non-blank byte the entire memory array needs to be erased electrically. Internal Address Counter: The AT89C2051 contains an internal PEROM address counter, which is always reset to000H on the rising edge of RST and is advanced by applying a positive going pulse to pin XTAL1.

Programming Algorithm To program the AT89C2051,the following sequence is recommended. 1. Power-up sequence: Apply power between VCC and GND pins Set RST and XTAL1 to GND 2. Set pin RST to H Set pin P3.2 to H 3. Apply the appropriate combination of H or L logic levels to pins P3.3, P3.4, P3.5, P3.7 to select one of the programming operations shown in the PEROM Programming Modes table. To Program and Verify the Array 4. Apply data for Code byte at location 000H to P1.0 to P1.7. 5. Raise RST to 12V to enable programming. 34

6. Pulse P3.2 once to program a byte in the PEROM array or the lock bits. The byte-write cycle is self-timed and typically takes 1.2 ms. 7. To verify the programmed data, lower RST from 12V to logic H level and set pins P3.3 to P3.7 to the appropriate levels. Output data can be read at the port P1 pins. 8. To program a byte at the next address location, pulseXTAL1 pin once to advance the internal address 9. Repeat steps 5 through 8, changing data and advancing the counter. Apply new data to the port P1 pins. Address counter for the entire 2K bytes array or until the end of the object file is reached. 10.Power-off sequence: Set XTAL1 to L Set RST to L Turn VCC power off

Data Polling: The AT89C2051 features Data Polling to indicate the end of a write cycle. During a write cycle, an attempted read of the last byte written will 35

result in the complement of the written data on P1.7. Once the write cycle has been completed, true data is valid on all outputs, and the next cycle may begin. Data Polling may begin any time after a write cycle has been initiated.

Ready/Busy: The Progress of byte programming can also be monitored by the RDY/BSY output signal. Pin P3.1 is pulled low after P3.2 goes High during programming to indicate BUSY. P3.1 is pulled High again when programming is done to indicate READY.

Program Verify: If lock bits LB1 and LB2 have not been programmed code data can be read back via the data lines for verification: 1. Reset the internal address counter to 000H by bringing RST from L to H. 2. Apply the appropriate control signals for Read Code data and read the output data at the port P1 pins. 3. Pulse pin XTAL1 once to advance the internal address counter. 4. Read the next code data byte at the port P1 pins. 5. Repeat steps 3 and 4 until the entire array is read .The lock bits cannot be verified directly. Verification of the lock bits is achieved by observing that their features are enabled. Chip Erase:


The entire PEROM array (2K bytes) and the two Lock Bits are erased electrically by using the proper combination of control signals and by holding P3.2 low for 10 ms. The code array is written with all 1s in the Chip. Erase operation and must be executed before any nonblank memory byte can be re-programmed.

Reading the Signature Bytes: The signature bytes are read by the same procedure as a normal verification of locations 000H, 001H, and 002H, except that P3.5 and P3.7 must be pulled to logic low. The values returned are as follows. (000H) = 1EH indicates manufactured by Atmel (001H) = 21H indicates 89C2051

Programming Interface: Every code byte in the Flash array can be written and using the appropriate combination of control signals can erase the entire array. The write operation cycle is self timed and once initiated, will automatically time itself to completion. All major programming vendors offer worldwide support for the Atmel micro controller series. Please contact your local programming vendor for the appropriate software revision.


Flash Programming Modes:

Notes: 1. The internal PEROM address counter is reset to 000H on the rising edge of RST and is advanced by a positive pulse at XTAL 1 pin. 2. Chip Erase requires a 10 ms PROG pulse. 3. P3.1 is pulled Low during programming to indicate RDY/BS Figure 3. Programming the Flash Memory Figure 4. Verifying the Flash Memory

Flash Programming and Verification Characteristics


Baud Rate Generator: Timer 2 is selected as the baud rate generator by setting TCLK and/or RCLK in T2CON (Table 2). Note that the baud rates for transmit and receive can be different if Timer 2 is used for the receiver or transmitter and Timer 1 is used for the other function. Setting RCLK and/or TCLK puts Timer 2 into its baud rate generator mode, as shown in Figure4. The baud rate generator mode is similar to the auto-reload mode, in that a rollover in TH2 causes the Timer 2 registers to be reloaded with the 16-bit value in registers RCAP2H and RCAP2L, which are preset by software. The baud rates in Modes 1 and 3 are determined by Timer2s overflow rate according to the following equation.


The Timer can be configured for either timer or counter operation. In most applications, it is configured for timer operation (CP/T2 = 0). The timer operation is different for Timer 2 when it is used as a baud rate generator. Normally, as a timer, it increments every machine cycle (at 1/12 the oscillator frequency). As a baud rate generator, however, it increments every state time (at 1/2 the oscillator frequency). The baud rate formula is given below.

where (RCAP2H, RCAP2L) is the content of RCAP2H and RCAP2L taken as a 16-bit unsigned integer. Timer 2 as a baud rate generator is shown in Figure 4. This figure is valid only if RCLK or TCLK = 1 in T2CON. Note that a rollover in TH2 does not set TF2 and will not generate an interrupt. Note too, that if EXEN2 is set, a 1-to-0 transition in T2EX will set EXF2 but will not cause a reload from (RCAP2H, RCAP2L) to (TH2, TL2). Thus when Timer 2 is in use as a baud rate generator, T2EX can be used as an extra external interrupt.

Note that when Timer 2 is running (TR2 = 1) as a timer in the baud rate generator mode, TH2 or TL2 should not be read from or written to. Under these conditions, the Timer is incremented every state time, and the results of a read or write may not be accurate. The RCAP2 registers may be read but should not be written to, because a write might overlap a reload and cause write and/or reload errors. The timer should be turned off (clear TR2) before accessing the Timer 2 or RCAP2 registers. 40

Programmable Clock Out: A 50% duty cycle clock can be programmed to come out on P1.0, as shown in Figure 5. This pin, besides being a regular I/O pin, has two alternate functions. It can be programmed to input the external clock for Timer/Counter 2 or to output a 50% duty cycle clock ranging from 61 Hz to 4 MHz at a 16 MHz operating frequency. To configure the Timer/Counter 2 as a clock generator, bit C/T2 (T2CON.1) must be cleared and bit T2OE (T2MOD.1) must be set. Bit TR2 (T2CON.2) starts and stops the timer. The clock-out frequency depends on the oscillator frequency and the reload value of Timer 2 capture registers (RCAP2H, RCAP2L), as shown in the following equation.


In the clock-out mode, Timer 2 roll-overs will not generate an interrupt. This behavior is similar to when Timer 2 is used as a baud-rate generator. It is possible to use Timer 2 as a baud-rate generator and a clock generator simultaneously. Note, however, that the baud-rate and clock-out Frequencies cannot be determined independently from one another since they both use RCAP2H and RCAP2L.

UART: The UART in the AT89C52 operates the same way as the UART in the AT89C51.



Voltage Regulators: A voltage regulator is an electrical regulator designed to automatically maintain a constant voltage level. It may use an electromechanical mechanism, or passive or active electronic components. Depending on the design, it may be used to regulate one or more AC or DC voltages. With the exception of shunt regulators, all voltage regulators operate by comparing the actual output voltage to some internal fixed reference voltage. Any difference is amplified and used to control the regulation element. This forms a negative feedback servo control loop. If the output voltage is too low, the regulation element is commanded to produce a higher voltage. For some regulators if the output voltage is too high, the regulation element is commanded to produce a lower voltage; however, many just stop sourcing current and depend on the current draw of whatever it is driving to pull the voltage back down. In this way, the output voltage is held roughly constant. The control loop must be carefully designed to produce the desired tradeoff between stability and speed of response.

LM317 (3-Terminal Adjustable Regulator): DescriptionThe LM317 is an adjustable three-terminal positive-voltage regulator capable of supplying more than 1.5 A over an output-voltage range of 1.2 V to 37 V. It is exceptionally easy to use and requires only two external resistors to set the output voltage. Furthermore, both line and load regulation 43

are better than standard fixed regulators. The LM317 is packaged in the KC (TO-220AB) and KTE packages, which are easy to handle and use. In addition to having higher performance than fixed regulators, this device includes on-chip current limiting, thermal overload protection, and safeoperating-area protection. All overload protection remains fully functional, even if the ADJUST terminal is disconnected.

Figure 16: TOP IC view of LM 317

The LM317 is versatile in its applications, including uses in programmable output regulation and local on-card regulation. Or, by connecting a fixed resistor between the ADJUST and OUTPUT terminals, the LM317 can function as a precision current regulator. An optional output capacitor can be added to improve transient response. The ADJUST terminal can be bypassed to achieve very high ripple-rejection ratios, which are difficult to achieve with standard three-terminal regulators. The LM317 is


characterized for operation over the virtual junction temperature range of 0C to 125C.

Figure 17: Adjustable Voltage Regulator


LM7805 (3-Terminal Fixed Voltage Regulator): The MC78XX/LM78XX/MC78XXA series of three terminal positive regulators are available in the TO-220/D-PAK package and with several fixed output voltages, making them useful in a wide range of applications. Each type employs internal current limiting, thermal shut down and safe operating area protection, making it essentially indestructible. If adequate heat sinking is provided, they can deliver over 1A output current. Although designed primarily as fixed voltage regulators, these devices can be used with external components to obtain adjustable voltages and currents.


Figure 18: Internal block Diagram


Figure 19 : Fixed Output Regulator

Features Output Current up to 1A Output Voltages of 5, 6, 8, 9, 10, 12, 15, 18, 24V Thermal Overload Protection Short Circuit Protection Output Transistor Safe Operating Area Protection

Crystal Oscillator: It is often required to produce a signal whose frequency or pulse rate is very stable and exactly known. This is important in any application where anything to do with time or exact measurement is crucial. It is relatively simple to make an oscillator that produces some sort of a signal, but another matter to produce one of relatively precise frequency and stability. AM radio stations must have a carrier frequency accurate within 10Hz of its assigned frequency, which may be from 530 to 1710 kHz. SSB radio systems used in the HF range (2-30 MHz) must be within 50 Hz of channel frequency for acceptable voice quality, and within 10 Hz for best results. Some digital modes used in weak signal communication may require frequency stability of less than 1 Hz within a period of several minutes. 48

The carrier frequency must be known to fractions of a hertz in some cases. An ordinary quartz watch must have an oscillator accurate to better than a few parts per million. One part per million will result in an error of slightly less than one half second a day, which would be about 3 minutes a year. This might not sound like much, but an error of 10 parts per million would result in an error of about a half an hour per year. A clock such as this would need resetting about once a month, and more often if you are the punctual type. A programmed VCR with a clock this far off could miss the recording of part of a TV show. Narrow band SSB communications at VHF and UHF frequencies still need 50 Hz frequency accuracy. At 440 MHz, this is slightly more than 0.1 part per million. Ordinary L-C oscillators using conventional inductors and capacitors can achieve typically 0.01 to 0.1 percent frequency stability, about 100 to 1000 Hz at 1 MHz. This is OK for AM and FM broadcast receiver applications and in other low-end analog receivers not requiring high tuning accuracy. By careful design and component selection, and with rugged mechanical construction, .01 to 0.001%, or even better (.0005%) stability can be achieved. The better figures will undoubtedly employ temperature compensation components and regulated power supplies, together with environmental control (good ventilation and ambient temperature regulation) and battleship mechanical construction. This has been done in some communications receivers used by the military and commercial HF communication receivers built in the 1950-1965 era, before the widespread use of digital frequency synthesis. But these receivers were extremely expensive, large, and heavy. 49

Many modern consumer grade AM, FM, and shortwave receivers employing crystal controlled digital frequency synthesis will do as well or better from a frequency stability standpoint. undesirable.An oscillator is basically an amplifier and a frequency selective feedback network . When, at a particular frequency, the loop gain is unity or more, and the total phaseshift at this frequency is zero, or some multiple of 360 degrees, the condition for oscillation is satisfied, and the circuit will produce a periodic waveform of this frequency. This is usually a sine wave, or square wave, but triangles, impulses, or other waveforms can be produced. In fact, several different waveforms often are simultaneously produced by the same circuit, at different points. It is also possible to have several frequencies produced as well, although this is generally.

CAPACITOR: A capacitor or condenser is a passive electronic component consisting of a pair of conductors separated by a dielectric (insulator). When a potential difference (voltage) exists across the conductors, an electric field is present in the dielectric. This field stores energy and produces a mechanical force between the conductors. The effect is greatest when there is a narrow separation between large areas of conductor, hence capacitor conductors are often called plates. An ideal capacitor is characterized by a single constant value, capacitance, which is measured in farads. This is the ratio of the electric charge on each conductor to the potential difference between them. In practice, the dielectric between the plates passes a small amount of leakage 50

current. The conductors and leads introduce an equivalent series resistance and the dielectric has an electric field strength limit resulting in a breakdown voltage. Capacitors are widely used in electronic circuits to block the flow of direct current while allowing alternating current to pass, to filter out interference, to smooth the output of power supplies, and for many other purposes. They are used in resonant circuits in radio frequency equipment to select particular frequencies from a signal with many frequencies.

Theory of operation Main article: Capacitance

Charge separation in a parallel-plate capacitor causes an internal electric field. A dielectric (orange) reduces the field and increases the capacitance. 51

A simple demonstration of a parallel-plate capacitor A capacitor consists of two conductors separated by a non-conductive region.The non-conductive substance is called the dielectric medium, although this may also mean a vacuum or a semiconductor depletion region chemically identical to the conductors. A capacitor is assumed to be selfcontained and isolated, with no net electric charge and no influence from an external electric field. The conductors thus contain equal and opposite charges on their facing surfaces, and the dielectric contains an electric field. The capacitor is a reasonably general model for electric fields within electric circuits. An ideal capacitor is wholly characterized by a constant capacitance C, defined as the ratio of charge Q on each conductor to the voltage V between them

Sometimes charge buildup affects the mechanics of the capacitor, causing the capacitance to vary. In this case, capacitance is defined in terms of incremental changes: 52

In SI units, a capacitance of one farad means that one coulomb of charge on each conductor causes a voltage of one volt across the device.

Energy storage: Work must be done by an external influence to move charge between the conductors in a capacitor. When the external influence is removed, the charge separation persists and energy is stored in the electric field. If charge is later allowed to return to its equilibrium position, the energy is released. The work done in establishing the electric field, and hence the amount of energy stored, is given by:

Current-voltage relation: The current i(t) through a component in an electric circuit is defined as the rate of change of the charge q(t) that has passed through it. Physical charges cannot pass through the dielectric layer of a capacitor, but rather build up in equal and opposite quantities on the electrodes: as each electron accumulates on the negative plate, one leaves the positive plate. Thus the accumulated charge on the electrodes is equal to the integral of the current, as well as being proportional to the voltage (as discussed above). As with 53

any antiderivative, a constant of integration is added to represent the initial voltage v (t0). This is the integral form of the capacitor equation,

. Taking the derivative of this, and multiplying by C, yields the derivative form,[12]

. The dual of the capacitor is the inductor, which stores energy in the magnetic field rather than the electric field. Its current-voltage relation is obtained by exchanging current and voltage in the capacitor equations and replacing C with the inductance L.

DC circuits:

A simple resistor-capacitor circuit demonstrates charging of a capacitor. A series circuit containing only a resistor, a capacitor, a switch and a constant DC source of voltage V0 is known as a charging circuit. If the


capacitor is initially uncharged while the switch is open, and the switch is closed at t = 0, it follows from Kirchhoff's voltage law that

Taking the derivative and multiplying by C, gives a first-order differential equation,

At t = 0,

the voltage across the capacitor is zero and the voltage

across the resistor is V0. The initial current is then i (0) =V0 /R. With this assumption, the differential equation yields

where 0 = RC is the time constant of the system. As the capacitor reaches equilibrium with the source voltage, the voltage across the resistor and the current through the entire circuit decay exponentially. The case of discharging a charged capacitor likewise demonstrates exponential decay, but with the initial capacitor voltage replacing V0 and the final voltage being zero.

Resistor: 55

Resistors are used to limit the value of current in a circuit. Resistors offer opposition to the flow of current. They are expressed in ohms for which the symbol is . Resistors are broadly classified as (1) (2) Fixed Resistors Variable Resistors

Fixed Resistors The most common of low wattage, fixed type resistors is the moldedcarbon composition resistor. The resistive material is of carbon clay composition. The leads are made of tinned copper. Resistors of this type are readily available in value ranging from few ohms to about 20M, having a tolerance range of 5 to 20%. They are quite inexpensive. The relative size of all fixed resistors changes with the wattage rating. Another variety of carbon composition resistors is the metalized type. It is made by deposition a homogeneous film of pure carbon over a glass, ceramic or other insulating core. This type of film-resistor is sometimes called the precision type, since it can be obtained with an accuracy of 1%.


Tinned Copper Material

Colour Coding

Molded Carbon Clay Composition 56

Fixed Resistor

A Wire Wound Resistor : It uses a length of resistance wire, such as nichrome. This wire is wounded on to a round hollow porcelain core. The ends of the winding are attached to these metal pieces inserted in the core. Tinned copper wire leads are attached to these metal pieces. This assembly is coated with an enamel coating powdered glass. This coating is very smooth and gives mechanical protection to winding. Commonly available wire wound resistors have resistance values ranging from 1 to 100K, and wattage rating up to about 200W. Coding Of Resistor : Some resistors are large enough in size to have their resistance printed on the body. However there are some resistors that are too small in size to have numbers printed on them. Therefore, a system of colour coding is used to indicate their values. For fixed, moulded composition resistor four colour bands are printed on one end of the outer casing. The colour bands are always read left to right from the end that has the bands closest to it. The first and second band represents the first and second significant digits, of the resistance value. The third band is for the number of zeros that follow the second digit. In case the third band is gold or silver, it represents a multiplying factor of 0.1to 0.01. The fourth band represents the manufactures tolerance. RESISTOR COLOUR CHART 57

0 black 1 brown 2 red 3 orange 4 yellow 5 green 6 blue 7 purple

0 black 1 brown 2 red 3 orange 4 yellow 5 green 6 blue 7 purple

0 black 1 brown 2 red 3 orange 4 yellow 5 green 6 blue 7 purple

0 black 1 brown 2 red 3 orange 4 yellow 5 green 6 blue 7 purple

For example , if a resistor has colour band sequence: yellow, violet, orange 8 silver 8 silver 8a silver 8 silver and gold 9 white Then its range will be 9 white 9 white 9 white

Yellow=4, violet=7, orange=10,

gold=5% =47K 5% =2.35K

Most resistors have 4 bands:

The first band gives the first digit. The second band gives the second digit. The third band indicates the number of zeros. The fourth band is used to show the tolerance (precision) of the resistor.

This resistor has red (2), violet (7), yellow (4 zeros) and gold bands. So its value is 270000 = 270 k . 58

The standard colour code cannot show values of less than 10 . To show these small values two special colours are used for the third band: gold, which means 0.1 and silver which means 0.01. The first and second bands represent the digits as normal.

For example:

red, violet, gold bands represent 27 0.1 = 2.7 blue, green, silver bands represent 56 0.01 = 0.56

The fourth band of the colour code shows the tolerance of a resistor. Tolerance is the precision of the resistor and it is given as a percentage. For example a 390 resistor with a tolerance of 10% will have a value within 10% of 390 , between 390 - 39 = 351 and 390 + 39 = 429 (39 is 10% of 390).

A special colour code is used for the fourth band tolerance: silver 10%, gold 5%, red 2%, brown 1%. If no fourth band is shown the tolerance is 20%.

Variable Resistor: In electronic circuits, sometimes it becomes necessary to adjust the values of currents and voltages. For n example it is often desired to change 59

the volume of sound, the brightness of a television picture etc. Such adjustments can be done by using variable resistors. Although the variable resistors are usually called rheostats in other applications, the smaller variable resistors commonly used in electronic circuits are called potentiometers.

Resistor shorthand: Resistor values are often written on circuit diagrams using a code system which avoids using a decimal point because it is easy to miss the small dot. Instead the letters R, K and M are used in place of the decimal point. To read the code: replace the letter with a decimal point, then multiply the value by 1000 if the letter was K, or 1000000 if the letter was M. The letter R means multiply by 1. For example: 560R means 560 2K7 means 2.7 k = 2700 39K means 39 k 1M0 means 1.0 M = 1000 k

Power Ratings of Resistors


Electrical energy is converted to heat when current flows through a resistor. Usually the effect is negligible, but if the resistance is low (or the voltage across the resistor high) a large current may pass making the resistor become noticeably warm. The resistor must be High power resistors (5W top, 25W bottom) Photographs Rapid Electronics

able to withstand the heating effect and resistors have power ratings to show this. Power ratings of resistors are rarely quoted in parts lists because for most circuits the standard power ratings of 0.25W or 0.5W are suitable. For the rare cases where a higher power is required it should be clearly specified in the parts list, these will be circuits using low value resistors (less than about 300 ) or high voltages (more than 15V). The power, P, developed in a resistor is given by: P = I R or P = V / R where: P = power developed in the resistor in watts (W) I = current through the resistor in amps (A) R = resistance of the resistor in ohms ( ) V = voltage across the resistor in volts (V)



A 470 resistor with 10V across it, needs a power rating P = V/R = 10/470 = 0.21W. In this case a standard 0.25W resistor would be suitable.

A 27 resistor with 10V across it, needs a power rating P = V/R = 10/27 = 3.7W. A high power resistor with a rating of 5W would be suitable.

Transistor: A transistor is an active device. It consists of two PN junctions formed by sandwiching either p-type or n-type semiconductor between a pair of opposite types.

There are two types of transistor: 1. n-p-n transistor 2. p-n-p transistor


An n-p-n transistor is composed of two n-type semiconductors separated by a thin section of p-type. However a p-n-p type semiconductor is formed by two p-sections separated by a thin section of n-type. Transistor has two pn junctions one junction is forward biased and other is reversed biased. The forward junction has a low resistance path whereas a reverse biased junction has a high resistance path. The weak signal is introduced in the low resistance circuit and output is taken from the high resistance circuit. Therefore a transistor transfers a signal from a low resistance to high resistance. Transistor has three sections of doped semiconductors. The section on one side is emitter and section on the opposite side is collector. The middle section is base.

Emitter : The section on one side that supplies charge carriers is called emitter. The emitter is always forward biased w.r.t. base.

Collector : The section on the other side that collects the charge is called collector. The collector is always reversed biased.


Base : The middle section which forms two pn-junctions between the emitter and collector is called base. A transistor raises the strength of a weak signal and thus acts as an amplifier. The weak signal is applied between emitter-base junction and output is taken across the load Rc connected in the collector circuit. The collector current flowing through a high load resistance Rc produces a large voltage across it. Thus a weak signal applied in the input appears in the amplified form in the collector circuit.

Heat sink

Waste heat is produced in transistors due to the current flowing through them. Heat sinks are needed for power transistors because they pass large currents. If you find that a transistor is becoming too hot to touch it certainly needs a heat sink! The heat sink helps to dissipate (remove) the heat by transferring it to the surrounding air.



Connectors are basically used for interface between two. Here we use connectors for having interface between PCB and 8051 Microprocessor Kit. There are two types of connectors they are male and female. The one, which is with pins inside, is female and other is male. These connectors are having bus wires with them for connection. For high frequency operation the average circumference of a coaxial cable must be limited to about one wavelength, in order to reduce multimodal propagation and eliminate erratic reflection coefficients, power losses, and signal distortion. The standardization of coaxial connectors during World War II was mandatory for microwave operation to maintain a low reflection coefficient or a low voltage standing wave ratio. Seven types of microwave coaxial connectors are as follows: 1.APC-3.5 2.APC-7 3.BNC 4.SMA 5.SMC 6.TNC 7.Type N

Diode: ACTIVE COMPONENTActive component are those component for not any other component are used its operation. I used in this project only function diode, these component description are described as bellow. 65

SEMICONDUCTOR DIODEA PN junctions is known as a semiconductor or crystal diode.A crystal diode has two terminal when it is connected in a circuit one thing is decide is weather a diode is forward or reversed biased. There is a easy rule to ascertain it. If the external CKT is trying to push the conventional current in the direction of error, the diode is forward biased. One the other hand if the conventional current is trying is trying to flow opposite the error head, the diode is reversed biased putting in simple words.

1. If arrowhead of diode symbol is positive W.R.T Bar of the symbol, the diode is forward biased. 2.The arrowhead of diode symbol is negative W.R.T bar , the diode is the reverse bias. When we used crystal diode it is often necessary to know that which end is arrowhead and which end is bar. So following method are available. 1.Some manufactures actually point the symbol on the body of the diode e. g By127 by 11 4 crystal diode manufacture by b e b. 2. Sometimes red and blue marks are on the body of the crystal diode. Red mark do not arrow wheres blue mark indicates bar e .g oa80 crystal diode. 66

Zener Diode: It has been already discussed that when the reverse bias on a crystal diode is increased a critical voltage, called break down voltage. The break down or zener voltage depends upon the amount of doping. If the diode is heavily doped depletion layer will be thin and consequently the break down of he junction will occur at a lower reverse voltage. On the other hand, a lightly doped diode has a higher break down voltage, it is called zener diode

A properly doped crystal diode, which has a sharped break down voltage, is known as a zenor diode.

DC MOTOR A DC motor is an electric motor that runs on direct current (DC) electricity.


Brushed The brushed DC motor generates torque directly from DC power supplied to the motor by using internal commutation, stationary permanent magnets, and rotating electrical magnets.It works on the principle of Lorentz force , which states that any current carrying conductor placed within an external magnetic field experiences a torque or force known as Lorentz force. Advantages of a brushed DC motor include low initial cost, high reliability, and simple control of motor speed. Disadvantages are high maintenance and low life-span for high intensity uses. Maintenance involves regularly replacing the brushes and springs which carry the electric current, as well as cleaning or replacing the commutator. These components are necessary for transferring electrical power from outside the motor to the spinning wire windings of the rotor inside the motor.

Synchronous Synchronous DC motors, such as the brushless DC motor and the stepper motor, require external commutation to generate torque. They lock up if driven directly by DC power. However, BLDC motors are more similar to a synchronous ac motor.

Brushless Brushless DC motors use a rotating permanent magnet in the rotor, and stationary electrical magnets on the motor housing. A motor controller converts DC to AC. This design is simpler than that of brushed motors because it eliminates the complication of transferring power from outside the 68

motor to the spinning rotor. Advantages of brushless motors include long life span, little or no maintenance, and high efficiency. Disadvantages include high initial cost, and more complicated motor speed controllers.

DC MOTOR: In any electric motor, operation is based on simple electromagnetism. A current-carrying conductor generates a magnetic field; when this is then placed in an external magnetic field, it will experience a force proportional to the current in the conductor, and to the strength of the external magnetic field. As you are well aware of from playing with magnets as a kid, opposite (North and South) polarities attract, while like polarities (North and North, South and South) repel. The internal configuration of a DC motor is designed to harness the magnetic interaction between a current-carrying conductor and an external magnetic field to generate rotational motion.


Every DC motor has six basic parts -- axle, rotor (a.k.a., armature), stator, commutator, field magnet(s), and brushes. In most common DC motors (and all that BEAMers will see), the external magnetic field is produced by high-strength permanent magnets1. The stator is the stationary part of the motor -- this includes the motor casing, as well as two or more permanent magnet pole pieces. The rotor (together with the axle and attached commutator) rotate with respect to the stator. The rotor consists of windings (generally on a core), the windings being electrically connected to the commutator. The above diagram shows a common motor layout -- with the rotor inside the stator (field) magnets. The geometry of the brushes, commutator contacts, and rotor windings are such that when power is applied, the polarities of the energized winding and the stator magnet(s) are misaligned, and the rotor will rotate until it is almost aligned with the stator's field magnets. As the rotor reaches alignment, the brushes move to the next commutator contacts, and energize the next winding. Given our example two-pole motor, the rotation reverses the direction of current through the rotor winding, leading to a "flip" of the rotor's magnetic field, driving it to continue rotating. In real life, though, DC motors will always have more than two poles 70

(three is a very common number). In particular, this avoids "dead spots" in the commutator. You can imagine how with our example two-pole motor, if the rotor is exactly at the middle of its rotation (perfectly aligned with the field magnets), it will get "stuck" there. Meanwhile, with a two-pole motor, there is a moment where the commutator shorts out the power supply (i.e., both brushes touch both commutator contacts simultaneously). This would be bad for the power supply, waste energy, and damage motor components as well. Yet another disadvantage of such a simple motor is that it would exhibit a high amount of torque "ripple" (the amount of torque it could produce is cyclic with the position of the rotor).



The project was completed successfully with in the given time duration. it was learning experience through which we gained invaluable on hand practical knowledge with project enlightened us on the vastness and unique application of micro controller , which forms the basic framework of our project. This project gave us the deep understanding of the controller and described us how to use the controller in different ways as well as provided us the clarity about the different sensors. This is embedded based project as embedded is the combination of both the software as well as the hardware so this system helped us to clear all our doubts related to basic electronic components



1. Mazedi, The 8051 Microcontroller and Embedded Systems, Prentice Hall, 1ST Edition 2. Kenneth J. Ayala, The 8051 Microcontroller, Penram International Publishing,1996, 2nd Edition 3. Some Websites :