12.automatic toll gate billing system using rfid.

10,041 views

Published on

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,041
On SlideShare
0
From Embeds
0
Number of Embeds
40
Actions
Shares
0
Downloads
530
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

12.automatic toll gate billing system using rfid.

  1. 1. Automatic Toll Gate Billing System using RFID.
  2. 2. INDEX CONTENTS 1. Abbreviations 2. Figures locations 3. Introduction 4. Block Diagram 5. Block Diagram Description 6. Schematic 7. Schematic Description 8. Hardware Components HARDWARES: b. Micro controller c. Power supply d. RFID Reader e. SMART CARD READER f. MAX-232 g. LCD h. EEPROM 1. Circuit Description 2. Software components a. About Kiel b. Embedded ‘C’ 3. KEIL procedure description 4. Conclusion (or) Synopsis 5. Future Aspects
  3. 3. 6. Bibliography Abbreviations
  4. 4. Symbol Name ACC Accumulator B B register PSW Program status word SP Stack pointer DPTR Data pointer 2 bytes DPL Low byte DPH High byte P0 Port0 P1 Port1 P2 Port2 P3 Port3 IP Interrupt priority control IE Interrupt enable control TMOD Timer/counter mode control TCON Timer/counter control T2CON Timer/counter 2 control T2MOD Timer/counter mode2 control TH0 Timer/counter 0high byte TL0 Timer/counter 0 low byte TH1 Timer/counter 1 high byte TL1 Timer/counter 1 low byte TH2 Timer/counter 2 high byte TL2 Timer/counter 2 low byte SCON Serial control SBUF Serial data buffer MAX MAXIM (IC manufacturer ) TTL Transistor to Transistor Logic ATM Automatic Teller Machine RS 232 Recommended Standard AC Alternating Current DC Direct Current
  5. 5. Figure Locations S.No. Figure Page No. 1 Components of Typical Linear Power Supply 2 An Electrical Transformer 3 Bridge Rectifier 4 Bridge Rectifier Positive Cycle 5 Bridge Rectifier Negative Cycle 6 Three terminal voltage Regulator 7 Functional Diagram of Microcontroller 8 Pin Diagram of Microcontroller 9 Oscillator connections 10 External clock drive connections 11 A register 12 B register 13 RAM 14 RAM Allocation
  6. 6. 15 Register Banks 16 PSW 17 DPTR 18 SP 19 PORT 0 20 TL0 and TH0 21 DB9 22 Connecting Microcontroller to PC 23 Types of SIM Structures 24 Smart Card Pin-out 25 Smart Card Reader 26 LCD 27 MAX 232 Pin-out 28 MAX 232 Operating circuit 29 MAX 232 Logic output 30 Project 31 New Project 32 Select Target device 33 Select device for Target 34 Copy 8051 startup code 35 Source group 1 36 New file 37 Opened new file 38 File Save 39 Add files to the source group 40 Adding files to the source group
  7. 7. 41 Compilation 42 After Compilation 43 Build 44 Selecting the Ports to be visualized 45 Start Debugging INTRODUCTION EMBEDDED SYSTEM: An embedded system is a special-purpose system in which the computer is completely encapsulated by or dedicated to the device or system it controls. Unlike a general-purpose computer, such as a personal computer, an embedded system performs one or a few predefined tasks, usually with very specific requirements. Since the system is dedicated to specific tasks, design engineers can optimize it, reducing the size and cost of the product. Embedded systems are often mass-produced, benefiting from economies of scale. Personal digital assistants (PDAs) or handheld computers are generally considered embedded devices because of the nature of their hardware design, even though they are more expandable in software terms. This line of definition continues to blur as devices expand. With the introduction of the OQO Model 2 with the Windows XP operating system and ports such as a USB port — both features usually belong to "general purpose computers", — the line of nomenclature blurs even more.
  8. 8. Physically, embedded systems ranges from portable devices such as digital watches and MP3 players, to large stationary installations like traffic lights, factory controllers, or the systems controlling nuclear power plants. In terms of complexity embedded systems can range from very simple with a single microcontroller chip, to very complex with multiple units, peripherals and networks mounted inside a large chassis or enclosure. Examples of Embedded Systems: • Avionics, such as inertial guidance systems, flight control hardware/software and other integrated systems in aircraft and missiles • Cellular telephones and telephone switches • Engine controllers and antilock brake controllers for automobiles • Home automation products, such as thermostats, air conditioners, sprinklers, and security monitoring systems • Handheld calculators • Handheld computers
  9. 9. • Household appliances, including microwave ovens, washing machines, television sets, DVD players and recorders • Medical equipment • Personal digital assistant • Videogame consoles • Computer peripherals such as routers and printers. • Industrial controllers for remote machine operation. BLOCK DIAGRAM: BLOCK DIAGRAM EXPLANATION: MICRO CONTROLLER: MICRO CONTROLLER POWER SUPPLY LCD RFID READER SMART CARD READER M A X- 2 3 2 Gate System
  10. 10. In this project work the micro-controller is plays major role. Micro-controllers were originally used as components in complicated process-control systems. However, because of their small size and low price, Micro-controllers are now also being used in regulators for individual control loops. In several areas Micro-controllers are now outperforming their analog counterparts and are cheaper as well. POWER SUPPLY: A variable regulated power supply, also called a variable bench power supply, is one where you can continuously adjust the output voltage to your requirements. Varying the output of the power supply is the recommended way to test a project after having double checked parts placement against circuit drawings and the parts placement guide. This type of regulation is ideal for having a simple variable bench power supply. Actually this is quite important because one of the first projects a hobbyist should undertake is the construction of a variable regulated power supply. While a dedicated supply is quite handy e.g. 5V or 12V, it's much handier to have a variable supply on hand, especially for testing. Most digital logic circuits and processors need a 5 volt power supply. To use these parts we need to build a regulated 5 volt source. Usually you start with an unregulated power supply ranging from 9 volts to 24 volts DC (A 12 volt power supply is included with the Beginner Kit and the Microcontroller Beginner Kit.). To make a 5 volt power supply, we use a LM7805 voltage regulator IC. The LM7805 is simple to use. You simply connect the positive lead of your unregulated DC power supply (anything from 9VDC to 24VDC) to the Input pin, connect the negative lead to the Common pin and then when you turn on the power, you get a 5 volt supply from the Output pin. DESCRIPTION: Here in this project drivers are given RFID cards which consist of total information about the vehicle which includes vehicle number, vehicle type, owner’s name and contact number. Whenever
  11. 11. vehicle enters into the tollgate area, there the RFID reader reads the information from the RFID tag and verifies whether the person is authorized or not. If the person is authorized, then the amount will be deducted from the smart card depending on vehicle type etc… and gate will be opened. If the person is unauthorized or no amount in the smart card then a false indication is produced. TECHNOLOGY: RFID; Radio Frequency Identification (RFID) is a silicon chip-based transponder that communicates via radio waves. Radio Frequency Identification is a technology which uses tags as a component in an integrated supply chain solution set that will evolve over the next several years. RFID tags contain a chip which holds an electronic product code (EPC) number that points to additional data detailing the contents of the package. Readers identify the EPC numbers at a distance, without line-of-sight scanning or involving physical contact. Middleware can perform initial filtering on data from the readers. Applications are evolving to comply with shipping products to automatically processing transactions based on RFID technology. The Identification of authorized persons is stored in the RFID module. when ever we want to perform a task the authorized person keeps the RFID Tag on the RFID Reader it reads the and checks whether it is a VALID or INVALID card, if the card belongs to the authorized person (if it is a valid one) then it will allow for further operations i.e., it will send the information to the controller and controller will reads the data. The data is received from particular reader, based on the technology used and is compared with pre-stored values. The device is accessible or the task is performed if and only if the received data equals pre-stored data (Authentication Success). Else it prompts that the Authentication Failure is occurred and LCD displays the message that the concern person is an authorized person or not. If the person is an unauthorized person then he can’t perform the task. If he is an authorized person he can perform the task as specified in program.
  12. 12. SMART CARD: Smart cards are secure tokens that have provided security services to a wide range of applications for over thirty years. A smart card resembles a credit card in size and shape, but inside it is completely different. A normal credit card is a simple piece of plastic. The smart card internally contains a Microprocessor Embedded into it. The microprocessor is under a gold contact pad on one side of the card. In smart card the microprocessor as replacing the usual magnetic strip on a credit card or debit card. SOFTWARES: 1. Embedded C 2. MP Lab IDE 3. PIC prog HARDWARES: 1. Micro controller 2. Power supply 3. RFID Reader 4. SMART CARD READER 5. MAX-232 6. LCD 7. EEPROM HARDWARE EXPLANATION:
  13. 13. MICRO CONTROLLER 89C51 Introduction A Micro controller consists of a powerful CPU tightly coupled with memory, various I/O interfaces such as serial port, parallel port timer or counter, interrupt controller, data acquisition interfaces-Analog to Digital converter, Digital to Analog converter, integrated on to a single silicon chip. If a system is developed with a microprocessor, the designer has to go for external memory such as RAM, ROM, EPROM and peripherals. But controller is provided all these facilities on a single chip. Development of a Micro controller reduces PCB size and cost of design. One of the major differences between a Microprocessor and a Micro controller is that a controller often deals with bits not bytes as in the real world application. Intel has introduced a family of Micro controllers called the MCS-51. The Major Features: • Compatible with MCS-51 products • 4k Bytes of in-system Reprogrammable flash memory • Fully static operation: 0HZ to 24MHZ • Three level programmable clock • 128 * 8 –bit timer/counters • Six interrupt sources • Programmable serial channel • Low power idle power-down modes Why AT 89C51
  14. 14. The system requirements and control specifications clearly rule out the use of 16, 32 or 64 bit micro controllers or microprocessors. Systems using these may be earlier to implement due to large number of internal features. They are also faster and more reliable but, 8-bit micro controller satisfactorily serves the above application. Using an inexpensive 8-bit Microcontroller will doom the 32- bit product failure in any competitive market place. Coming to the question of why to use AT89C51 of all the 8-bit microcontroller available in the market the main answer would be because it has 4 Kb on chip flash memory which is just sufficient for our application. The on-chip Flash ROM allows the program memory to be reprogrammed in system or by conventional non-volatile memory Programmer. Moreover ATMEL is the leader in flash technology in today’s market place and hence using AT 89C51 is the optimal solution. AT89C51 MICROCONTROLLER ARCHITECTURE The 89C51 architecture consists of these specific features: • Eight –bit CPU with registers A (the accumulator) and B • Sixteen-bit program counter (PC) and data pointer (DPTR) • Eight- bit stack pointer (PSW) • Eight-bit stack pointer (Sp) • Internal ROM or EPROM (8751) of 0(8031) to 4K (89C51) • Internal RAM of 128 bytes: 1. Four register banks, each containing eight registers 2. Sixteen bytes, which maybe addressed at the bit level 3. Eighty bytes of general- purpose data memory • Thirty –two input/output pins arranged as four 8-bit ports:p0-p3
  15. 15. • Two 16-bit timer/counters: T0 and T1 • Full duplex serial data receiver/transmitter: SBUF • Control registers: TCON, TMOD, SCON, PCON, IP, and IE • Two external and three internal interrupts sources. • Oscillator and clock circuits. Functional block diagram of micro controller The 89C51 oscillator and clock: The heart of the 89C51 circuitry that generates the clock pulses by which all the internal all internal operations are synchronized. Pins XTAL1 And XTAL2 is provided for connecting a resonant network to form an oscillator. Typically a quartz crystal and capacitors are employed. The crystal frequency is the basic internal clock frequency of the microcontroller. The manufacturers make 89C51 designs that run at specific minimum and maximum frequencies typically 1 to 16 MHz.
  16. 16. Fig 3.7.2: - Oscillator and timing circuit Types of memory: The 89C51 have three general types of memory. They are on-chip memory, external Code memory and external Ram. On-Chip memory refers to physically existing memory on the micro controller itself. External code memory is the code memory that resides off chip. This is often in the form of an external EPROM. External RAM is the Ram that resides off chip. This often is in the form of standard static RAM or flash RAM.
  17. 17. a) Code memory Code memory is the memory that holds the actual 89C51 programs that is to be run. This memory is limited to 64K. Code memory may be found on-chip or off-chip. It is possible to have 4K of code memory on-chip and 60K off chip memory simultaneously. If only off-chip memory is available then there can be 64K of off chip ROM. This is controlled by pin provided as EA b) Internal RAM The 89C51 have a bank of 128 of internal RAM. The internal RAM is found on-chip. So it is the fastest Ram available. And also it is most flexible in terms of reading and writing. Internal Ram is volatile, so when 89C51 is reset, this memory is cleared. 128 bytes of internal memory are subdivided. The first 32 bytes are divided into 4 register banks. Each bank contains 8 registers. Internal RAM also contains 128 bits, which are addressed from 20h to 2Fh. These bits are bit addressed i.e. each individual bit of a byte can be addressed by the user. They are numbered 00h to 7Fh. The user may make use of these variables with commands such as SETB and CLR. FLASH MEMORY: Flash memory (sometimes called "flash RAM") is a type of constantly-powered non volatile that can be erased and reprogrammed in units of memory called blocks. It is a variation of electrically erasable programmable read-only memory (EEPROM) which, unlike flash memory, is erased and rewritten at the byte level, which is slower than flash memory updating. Flash memory is often used to hold control code such as the basic input/output system (BIOS) in a personal computer. When BIOS needs to be changed (rewritten), the flash memory can be written to in block (rather than byte) sizes, making it easy to update. On the other hand, flash memory is not useful as random access memory (RAM) because RAM needs to be addressable at the byte (not the block) level.
  18. 18. Flash memory gets its name because the microchip is organized so that a section of memory cells are erased in a single action or "flash." The erasure is caused by Fowler-Nordheim tunneling in which electrons pierce through a thin dielectric material to remove an electronic charge from a floating gate associated with each memory cell. Intel offers a form of flash memory that holds two bits (rather than one) in each memory cell, thus doubling the capacity of memory without a corresponding increase in price. Flash memory is used in digital cellular phones, digital cameras, LAN switches, PC Cards for notebook computers, digital set-up boxes, embedded controllers, and other devices. Memory Type Features FLASH Low-cost, high-density, high-speed architecture; low power; high reliability ROM Read-Only Memory Mature, high-density, reliable, low cost; time-consuming mask required, suitable for high production with stable code SRAM Static Random-Access Memory Highest speed, high-power, low-density memory; limited density drives up cost EPROM Electrically Programmable Read-Only Memory High-density memory; must be exposed to ultraviolet light for erasure EEPROMorE2 PROM Electrically Erasable Programmable Read- Only Memory Electrically byte-erasable; lower reliability, higher cost, lowest density DRAM High-density, low-cost, high-speed, high-
  19. 19. Dynamic Random Access Memory power Technical Overview of Flash Memory Flash memory is a nonvolatile memory using NOR technology, which allows the user to electrically program and erase information. Intel® Flash memory uses memory cells similar to an EPROM, but with a much thinner, precisely grown oxide between the floating gate and the source (see Figure 2). Flash programming occurs when electrons are placed on the floating gate. The charge is stored on the floating gate, with the oxide layer allowing the cell to be electrically erased through the source. Intel Flash memory is an extremely reliable nonvolatile memory architecture.
  20. 20. Fig 3.7.3: - Pin diagram of AT89C51 Pin Description: VCC: Supply voltage. GND: Ground. Port 0: Port 0 is an 8-bit open-drain bi-directional I/O port. As an output port, each pin can sink eight TTL inputs. When one’s are written to port 0 pins, the pins can be used as high impedance inputs. Port 0 may also be configured to be the multiplexed low order address/data bus during accesses to external program and data memory. In this mode P0 has internal pull-ups. Port 0 also receives the code bytes during Flash programming, and outputs the code bytes during program verification. External pull-ups are required during program verification. Port 1: Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 1 output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups. Port 1 also receives the low-order address bytes during Flash programming and verification. Port 2: Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups. Port 2 emits the high-order address
  21. 21. byte during fetches from external program memory and during accesses to external data memories that use 16-bit addresses (MOVX @DPTR). In this application, it uses strong internal pull-ups when emitting 1s. During accesses to external data memories that use 8-bit addresses (MOVX @ RI), Port 2 emits the contents of the P2 Special Function Register. Port 2 also receives the high-order address bits and some control signals during Flash programming and verification. Port 3: Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 3 output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins they are pulled high by the internal pull- ups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low will source current (IIL) because of the pull-ups. Port 3 also serves the functions of various special features of the AT89C51 as listed below: Port 3 also receives some control signals for Flash programming and verification Tab 6.2.1 Port pins and their alternate functions RST:
  22. 22. Reset input. A high on this pin for two machine cycles while the oscillator is running resets the device. ALE/PROG: Address Latch Enable output pulse for latching the low byte of the address during accesses to external memory. This pin is also the program pulse input (PROG) during Flash programming. In normal operation ALE is emitted at a constant rate of 1/6the oscillator frequency, and may be used for external timing or clocking purposes. Note, however, that one ALE pulse is skipped during each access to external Data Memory. If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the pin is pulled high. Setting the ALE- disable bit has no effect if the microcontroller is in external execution mode. PSEN: Program Store Enable is the read strobe to external program memory. When the AT89C51 is executing code from external program memory, PSEN is activated twice each machine cycle, except that two PSEN activations are skipped during each access to external data memory. EA/VPP: External Access Enable EA must be strapped to GND in order to enable the device to fetch code from external program memory locations starting at 0000H up to FFFFH. Note, however, that if lock bit 1 is programmed, EA will be internally latched on reset. EA should be strapped to VCC for internal program executions. This pin also receives the 12-volt programming enable voltage (VPP) during Flash programming, for parts that require 12-volt VPP.
  23. 23. XTAL1: Input to the inverting oscillator amplifier and input to the internal clock operating circuit. XTAL2: It is the Output from the inverting oscillator amplifier. Oscillator Characteristics: XTAL1 and XTAL2 are the input and output, respectively, of an inverting amplifier which can be configured for use as an on-chip oscillator, as shown in Figs 6.2.3. Either a quartz crystal or ceramic resonator may be used. To drive the device from an external clock source, XTAL2 should be left unconnected while XTAL1 is driven as shown in Figure 6.2.4.There are no requirements on the duty cycle of the external clock signal, since the input to the internal clocking circuitry is through a divide-by-two flip-flop, but minimum and maximum voltage high and low time specifications must be observed. Fig 6.2.3 Oscillator Connections Fig 6.2.4 External Clock Drive Configuration Notes: 1. Under steady state (non-transient) conditions, IOL must be externally
  24. 24. limited as follows: • Maximum IOL per port pin: 10 mA • Maximum IOL per 8-bit port: Port 0: 26 mA • Ports 1, 2, 3: 15 mA • Maximum total IOL for all output pins: 71 mA • If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test conditions. 2. Minimum VCC for Power-down is 2V. REGISTERS: In the CPU, registers are used to store information temporarily. That information could be a byte of data to be processed, or an address pointing to the data to be fetched. The vast majority of 8051 registers are 8–bit registers. In the 8051 there is only one data type: 8bits. The 8bits of a register are shown in the diagram from the MSB (most significant bit) D7 to the LSB (least significant bit) D0. With an 8-bit data type, any data larger than 8bits must be broken into 8-bit chunks before it is processed. Since there are a large number of registers in the 8051, we will concentrate on some of the widely used general-purpose registers and cover special registers in future chapters. D7 D6 D5 D4 D3 D2 D1 D0 The most widely used registers of the 8051 are A (accumulator), B, R0, R1, R2, R3, R4, R5, R6, R7, DPTR (data pointer), and PC (program counter). All of the above registers are 8-bits, except DPTR and the program counter. The accumulator, register A, is used for all arithmetic and logic instructions.
  25. 25. SFRs (Special Function Registers) Among the registers R0-R7 is part of the 128 bytes of RAM memory. What about registers A, B, PSW, and DPTR? Do they also have addresses? The answer is yes. In the 8051, registers A, B, PSW and DPTR are part of the group of registers commonly referred to as SFR (special function registers). There are many special function registers and they are widely used. The SFR can be accessed by the names (which is much easier) or by their addresses. For example, register A has address E0h, and register B has been ignited the address F0H, as shown in table. The following two points should noted about the SFR addresses. 1. The Special function registers have addresses between 80H and FFH. These addresses are above 80H, since the addresses 00 to 7FH are addresses of RAM memory inside the 8051. 2. Not all the address space of 80H to FFH is used by the SFR. The unused locations 80H to FFH are reserved and must not be used by the 8051 programmer. Regarding direct addressing mode, notice the following two points: (a) the address value is limited to one byte, 00-FFH, which means this addressing mode is limited to accessing RAM locations and registers located inside the 8051. (b) If you examine the l st file for an assembly language program, you will see that the SFR registers names are replaced with their addresses as listed in table. Symbol Name Address ACC Accumulator 0E0H B B register 0F0H PSW Program status word 0D0H SP Stack pointer 81H DPTR Data pointer 2 bytes DPL Low byte 82H DPH High byte 83H
  26. 26. P0 Port0 80H P1 Port1 90H P2 Port2 0A0H P3 Port3 0B0H IP Interrupt priority control 0B8H IE Interrupt enable control 0A8H TMOD Timer/counter mode control 89H TCON Timer/counter control 88H T2CON Timer/counter 2 control 0C8H T2MOD Timer/counter mode2 control 0C9H TH0 Timer/counter 0high byte 8CH TL0 Timer/counter 0 low byte 8AH TH1 Timer/counter 1 high byte 8DH TL1 Timer/counter 1 low byte 8BH TH2 Timer/counter 2 high byte 0CDH TL2 Timer/counter 2 low byte 0CCH RCAP2H T/C 2 capture register high byte 0CBH RCAP2L T/C 2 capture register low byte 0CAH SCON Serial control 98H SBUF Serial data buffer 99H PCON Power control 87H Table: 8051 Special function register Address
  27. 27. A Register (Accumulator) This is a general-purpose register which serves for storing intermediate results during operating. A number (an operand) should be added to the accumulator prior to execute an instruction upon it. Once an arithmetical operation is preformed by the ALU, the result is placed into the accumulator. If a data should be transferred from one register to another, it must go through accumulator. For such universal purpose, this is the most commonly used register that none microcontroller can be imagined without (more than a half 8051 microcontroller's instructions used use the accumulator in some way). B Register B register is used during multiply and divide operations which can be performed only upon numbers stored in the A and B registers. All other instructions in the program can use this register as a spare accumulator (A). During programming, each of registers is called by name so that their exact address is not so important for the user. During compiling into machine code (series of hexadecimal numbers recognized as instructions by the microcontroller), PC will automatically, instead of registers’ name, write necessary addresses into the microcontroller. R Registers (R0-R7)
  28. 28. This is a common name for the total 8 general purpose registers (R0, R1, and R2 ...R7). Even they are not true SFRs, they deserve to be discussed here because of their purpose. The bank is active when the R registers it includes are in use. Similar to the accumulator, they are used for temporary storing variables and intermediate results. Which of the banks will be active depends on two bits included in the PSW Register. These registers are stored in four banks in the scope of RAM. The following example best illustrates the useful purpose of these registers. Suppose that mathematical operations on numbers previously stored in the R registers should be performed: (R1+R2) - (R3+R4). Obviously, a register for temporary storing results of addition is needed. Everything is quite simple and the program is as follows: MOV A, R3; Means: move number from R3 into accumulator ADD A, R4; Means: add number from R4 to accumulator (result remains in accumulator) MOV R5, A; Means: temporarily moves the result from accumulator into R5 MOV A, R1; Means: move number from R1 into accumulator ADD A, R2; Means: add number from R2 to accumulator SUBB A, R5; Means: subtract number from R5 (there are R3+R4)
  29. 29. 8051 Register Banks and Stack RAM memory space allocation in the 8051 There are 128 bytes of RAM in the 8051. The 128 bytes of RAM inside the 8051 are assigned addresses 00 to7FH. These 128 bytes are divided into three different groups as follows: 1. A total of 32 bytes from locations 00 to 1FH hex are set aside for register banks and the stack. 2. A total of 16 bytes from locations 20 to 2FH hex are set aside for bit-addressable read/write memory. 3. A total of 80 bytes from locations 30H to 7FH are used for read and write storage, or what is normally called Scratch pad. These 80 locations of RAM are widely used for the purpose of storing data and parameters nu 8051 programmers. Register banks in the 8051 A total of 32bytes of RAM are set aside for the register banks and stack. These 32 bytes are divided into 4 banks of registers in which each bank has registers, R0-R7. RAM locations 0 to 7 are set aside for bank 0 of R0-R7 where R0 is RAM location 0, R1 is RAM location 1, and R2 is location 2, and so on, until memory location7, which belongs to R7 of bank0. The second bank of registers R0-R7 starts at RAM location 08 and goes to location 0FH. The third bank of R0-R7 starts at memory location 10H and goes to location 17H. Finally, RAM locations 18H to 1FH are set aside for the fourth bank of R0-R7. Fig shows how the 32 bytes are allocated into 4 banks. As we can see from fig 1, the bank 1 uses the same RAM space as the stack. This is a major problem in programming the 8051. we must either not use register bank1, or allocate another area of RAM for the stack. Default register bank If RAM locations 00-1F are set aside for the four register banks, which register bank of R0-R7 do we have access to when the 8051 is powered up? The answer is register bank 0; that is , RAM locations 0, 1,2,3,4,5,6, and 7 are accessed with the names R0, R1, R2, R3, R4, R5, R6, and R7 when
  30. 30. programming the 8051. It is much easier to refer to these RAM locations with names such as R0, R1 and so on, than by their memory locations as shown in fig 2. The register banks are switched by using the D3 & D4 bits of register PSW. FIG: RAM Allocation in the 8051
  31. 31. Fig: 8051 Register Banks and their RAM Addresses PSW Register (Program Status Word) This is one of the most important SFRs. The Program Status Word (PSW) contains several status bits that reflect the current state of the CPU. This register contains: Carry bit, Auxiliary Carry, two register bank select bits, Overflow flag, parity bit, and user-definable status flag. The ALU automatically changes some of register’s bits, which is usually used in regulation of the program performing. P - Parity bit. If a number in accumulator is even then this bit will be automatically set (1), otherwise it will be cleared (0). It is mainly used during data transmission and receiving via serial communication.
  32. 32. - Bit 1. This bit is intended for the future versions of the microcontrollers, so it is not supposed to be here. OV Overflow occurs when the result of arithmetical operation is greater than 255 (decimal), so that it can not be stored in one register. In that case, this bit will be set (1). If there is no overflow, this bit will be cleared (0). RS0, RS1 - Register bank selects bits. These two bits are used to select one of the four register banks in RAM. By writing zeroes and ones to these bits, a group of registers R0-R7 is stored in one of four banks in RAM. RS1 RS2 Space in RAM 0 0 Bank0 00h-07h 0 1 Bank1 08h-0Fh 1 0 Bank2 10h-17h 1 1 Bank3 18h-1Fh F0 - Flag 0. This is a general-purpose bit available to the user. AC - Auxiliary Carry Flag is used for BCD operations only. CY - Carry Flag is the (ninth) auxiliary bit used for all arithmetical operations and shift instructions. DPTR Register (Data Pointer) These registers are not true ones because they do not physically exist. They consist of two separate registers: DPH (Data Pointer High) and (Data Pointer Low). Their 16 bits are used for external memory addressing. They may be handled as a 16-bit register or as two independent 8- bit registers. Besides, the DPTR Register is usually used for storing data and intermediate results which have nothing to do with memory locations.
  33. 33. SP Register (Stack Pointer) The stack is a section of RAM used by the CPU to store information temporarily. This information could be data or an address. The CPU needs this storage area since there are only a limited number of registers. How stacks are accessed in the 8051 If the stack is a section of RAM, there must be registers inside the CPU to point to it. The register used to access the stack is called the SP (Stack point) Register. The stack pointer in the 8051 is only 8 bits wide; which means that it can take values of 00 to FFH. When the 8051 is powered up, the SP register contains value 07. This means that RAM location 08 is the first location used for the stack by the 8051. The storing of a CPU register in the stack is called a PUSH, and pulling the contents off the stack back into a CPU register is called a POP. In other words, a register is pushed onto the stack to save it and popped off the stack to retrieve it. The job of the SP is very critical when push and pop actions are performed.
  34. 34. Pushing onto the stack In the 8051 the stack pointer (SP) points to the last used location of the stack. As we push data onto the stack, the stack pointer is incremented by one. Notice that this different from many microprocessors, notably x86 processors in which the SP is decremented when data is pushed onto the stack. As each PUSH is executed, the contents of the register are saved on the stack and SP is incremented by 1. Notice that for every byte of data saved on the stack and then SP is incremented only once. Notice also that to push the registers onto the stack we must use their RAM addresses. For example, the instruction “PUSH” pushes register R1 onto the stack. Popping from the stack Popping the contents of the stack back into a given register is the opposite process of pushing. With every pop, the top byte of the stack is copied to the register specified by the instruction and the stack pointer is decremented once. The upper limit of the stack As, mentioned earlier, locations 08 to 1FH in the 8051 RAM can be used for the stack. This is because locations 20-2FH of RAM are reserved for bit-addressable memory and must not be used by the stack. If in a program we need more than 24 bytes (08 to 1FH=24bytes) of stack, we can change the SP to point to RAM locations 30-7FH. This is done with the instruction “MOV SP, #XX”. P0, P1, P2, P3 - Input/Output Registers In case that external memory and serial communication system are not in use then, 4 ports with in total of 32 input-output lines are available to the user for connection to peripheral environment. Each bit inside these ports corresponds to the appropriate pin on the
  35. 35. microcontroller. This means that logic state written to these ports appears as a voltage on the pin (0 or 5 V). Naturally, while reading, the opposite occurs – voltage on some input pins is reflected in the appropriate port bit. The state of a port bit, besides being reflected in the pin, determines at the same time whether it will be configured as input or output. If a bit is cleared (0), the pin will be configured as output. In the same manner, if a bit is set to 1 the pin will be configured as input. After reset, as well as when turning the microcontroller ON, all bits on these ports are set to one (1). This means that the appropriate pins will be configured as inputs. Program counter: The important register in the 8051 is the PC (Program counter). The program counter points to the address of the next instruction to be executed. As the CPU fetches the OPCODE from the program ROM, the program counter is incremented to point to the next instruction. The program counter in the 8051 is 16bits wide. This means that the 8051 can access program addresses 0000 to FFFFH, a total of 64k bytes of code. However, not all members of the 8051 have the entire 64K bytes of on-chip ROM installed, as we will see soon. Types of instructions Depending on operation they perform, all instructions are divided in several groups: • Arithmetic Instructions • Branch Instructions • Data Transfer Instructions • Logical Instructions • Logical Instructions with bits The first part of each instruction, called MNEMONIC refers to the operation an instruction performs (copying, addition, logical operation etc.). Mnemonics commonly are shortened form of name of operation being executed. For example:
  36. 36. INC R1; Increment R1 (increment register R1) LJMP LAB5 ;Long Jump LAB5 (long jump to address specified as LAB5) JNZ LOOP ;Jump if Not Zero LOOP (if the number in the accumulator is not 0, jump to address specified as LOOP) Another part of instruction, called OPERAND is separated from mnemonic at least by one empty space and defines data being processed by instructions. Some instructions have no operand; some have one, two or three. If there is more than one operand in instruction, they are separated by comma. For example: RET - (return from sub-routine) JZ TEMP - (if the number in the accumulator is not 0, jump to address specified as TEMP) ADD A,R3 - (add R3 and accumulator) CJNE A,#20,LOOP - (compare accumulator with 20. If they are not equal, jump to address specified as LOOP) Arithmetic instructions These instructions perform several basic operations (addition, subtraction, division, multiplication etc.) After execution, the result is stored in the first operand. For example: ADD A, R1 - The result of addition (A+R1) will be stored in the accumulator. Arithmetical Instructions Mnemonic Description Byte Number Oscillator Period ADD A,Rn Add R Register to accumulator 1 1 ADD A,Rx Add directly addressed Rx Register to accumulator 2 2 ADD A,@Ri Add indirectly addressed Register to accumulator 1 1
  37. 37. ADD A,#X Add number X to accumulator 2 2 ADDC A,Rn Add R Register with Carry bit to accumulator 1 1 Branch Instructions There are two kinds of these instructions: Unconditional jump instructions: After their execution a jump to a new location from where the program continues execution is executed. Conditional jump instructions: If some condition is met - a jump is executed. Otherwise, the program normally proceeds with the next instruction. Branch Instruction Mnemonic Description Byte Number Oscillator Period ACALL adr11 Call subroutine located at address within 2 K byte Program Memory space 2 3 LCALL adr16 Call subroutine located at any address within 64 K byte Program Memory space 3 4 RET Return from subroutine 1 4 RETI Return from interrupt routine 1 4 AJMP adr11 Jump to address located within 2 K byte Program Memory space 2 3 LJMP adr16 Jump to any address located within 64 K byte Program Memory space 3 4
  38. 38. Data Transfer Instructions These instructions move the content of one register to another one. The register which content is moved remains unchanged. If they have the suffix “X” (MOVX), the data is exchanged with external memory. Data Transfer Instruction Mnemonic Description Byte Number Cycle Number MOV A,Rn Move R register to accumulator 1 1 MOV A,Rx Move directly addressed Rx register to accumulator 2 2 MOV A,@Ri Move indirectly addressed register to accumulator 1 1 MOV A,#X Move number X to accumulator 2 2 Logical Instructions These instructions perform logical operations between corresponding bits of two registers. After execution, the result is stored in the first operand. Logical Instructions Mnemonic Description Byte Number Cycle Number ANL A,Rn Logical AND between accumulator and R register 1 1 ANL A,Rx Logical AND between accumulator and directly addressed 2 2
  39. 39. register Rx ANL A,@Ri Logical AND between accumulator and indirectly addressed register 1 1 ANL A,#X Logical AND between accumulator and number X 2 2 Logical Operations on Bits Similar to logical instructions, these instructions perform logical operations. The difference is that these operations are performed on single bits. Logical operations on bits Mnemonic Description Byte Number Cycle Number CLR C Clear Carry bit 1 1 CLR bit Clear directly addressed bit 2 2 SETB C Set Carry bit 1 1 SETB bit Set directly addressed bit 2 2 CPL C Complement Carry bit 1 1 CPL bit Complement directly addressed bit 2 2 TIMERS On-chip timing/counting facility has proved the capabilities of the microcontroller for implementing the real time application. These includes pulse counting, frequency measurement, pulse width measurement, baud rate generation, etc,. Having sufficient number of timer/counters may be a need in a certain design application. The 8051 has two timers/counters. They can be used either as timers to generate a time delay or as counters to count events happening outside the microcontroller.
  40. 40. Let discuss how these timers are used to generate time delays and we will also discuss how they are been used as event counters. PROGRAMMING 8051 TIMERS The 8051 has timers: Timer 0 and Timer1.they can be used either as timers or as event counters. Let us first discuss about the timers’ registers and how to program the timers to generate time delays. BASIC RIGISTERS OF THE TIMER Both Timer 0 and Timer 1 are 16 bits wide. Since the 8051 has an 8-bit architecture, each 16-bit timer is accessed as two separate registers of low byte and high byte. TIMER 0 REGISTERS The 16-bit register of Timer 0 is accessed as low byte and high byte. the low byte register is called TL0(Timer 0 low byte)and the high byte register is referred to as TH0(Timer 0 high byte).These register can be accessed like any other register, such as A,B,R0,R1,R2,etc.for example, the instruction
  41. 41. ”MOV TL0, #4F”moves the value 4FH into TL0,the low byte of Timer 0.These registers can also be read like any other register. TIMER 1 REGISTERS Timer 1 is also 16-bit register is split into two bytes, referred to as TL1 (Timer 1 low byte) and TH1 (Timer 1 high byte).these registers are accessible n the same way as the register of Timer 0. TMOD (timer mode) REGISTER Both timers TIMER 0 and TIMER 1 use the same register, called TMOD, to set the various timer operation modes. TMOD is an 8-bit register in which the lower 4 bits are set aside for Timer 0 and the upper 4 bits for Timer 1.in each case; the lower 2 bits are used to set the timer mode and the upper 2 bits to specify the operation.
  42. 42. MODES: M1, M0: M0 and M1 are used to select the timer mode. There are three modes: 0, 1, 2.Mode 0 is a 13- bit timer, mode 1 is a 16-bit timer, and mode 2 is an 8-bit timer. We will concentrate on modes 1 and 2 since they are the ones used most widely. We will soon describe the characteristics of these modes, after describing the reset of the TMOD register. GATE Gate control when set. The timer/counter is enabled only While the INTx pin is high and the TRx control pin is. Set. When cleared, the timer is enabled. C/T Timer or counter selected cleared for timer operation (Input from internal system clock).set for counter Operation (input TX input pin). M 1 Mode bit 1 M0 Mode bit 0 M1 M0 MODE Operating Mode
  43. 43. 0 0 0 13-bit timer mode 8-bit timer/counter THx with TLx as 5 - Bit pre-scaler. 0 1 1 16-bit timer mode 16-bit timer/counters THx with TLx are Cascaded; there is no prescaler 1 0 2 8-bit auto reload 8-bit auto reload timer/counter;THx Holds a value that is to be reloaded into TLx each time it overflows. 1 1 3 Split timer mode. C/T (clock/timer) This bit in the TMOD register is used to decide whether the timer is used as a delay generator or an event counter. If C/T=0, it is used as a timer for time delay generation. The clock source for the time delay is the crystal frequency of the 8051. This section is concerned with this choice. The timer’s use as an event counter is discussed in the next section. Serial Communication: Computers can transfer data in two ways: parallel and serial. In parallel data transfers, often 8 or more lines (wire conductors) are used to transfer data to a device that is only a few feet away. Examples of parallel data transfer are printers and hard disks; each uses cables with many wire strips.
  44. 44. Although in such cases a lot of data can be transferred in a short amount of time by using many wires in parallel, the distance cannot be great. To transfer to a device located many meters away, the serial method is used. In serial communication, the data is sent one bit at a time, in contrast to parallel communication, in which the data is sent a byte or more at a time. Serial communication of the 8051 is the topic of this chapter. The 8051 has serial communication capability built into it, there by making possible fast data transfer using only a few wires. If data is to be transferred on the telephone line, it must be converted from 0s and 1s to audio tones, which are sinusoidal-shaped signals. A peripheral device called a modem, which stands for “modulator/demodulator”, performs this conversion. Serial data communication uses two methods, asynchronous and synchronous. The synchronous method transfers a block of data at a time, while the asynchronous method transfers a single byte at a time. In data transmission if the data can be transmitted and received, it is a duplex transmission. This is in contrast to simplex transmissions such as with printers, in which the computer only sends data. Duplex transmissions can be half or full duplex, depending on whether or not the data transfer can be simultaneous. If data is transmitted one way at a time, it is referred to as half duplex. If the data can go both ways at the same time, it is full duplex. Of course, full duplex requires two wire conductors for the data lines, one for transmission and one for reception, in order to transfer and receive data simultaneously. Asynchronous serial communication and data framing The data coming in at the receiving end of the data line in a serial data transfer is all 0s and 1s; it is difficult to make sense of the data unless the sender and receiver agree on a set of rules, a protocol, on how the data is packed, how many bits constitute a character, and when the data begins and ends. Start and stop bits Asynchronous serial data communication is widely used for character-oriented transmissions, while block-oriented data transfers use the synchronous method. In the asynchronous method, each character is placed between start and stop bits. This is called framing. In the data framing for asynchronous communications, the data, such as ASCII characters, are packed between a start bit and a
  45. 45. stop bit. The start bit is always one bit, but the stop bit can be one or two bits. The start bit is always a 0 (low) and the stop bit (s) is 1 (high). Data transfer rate The rate of data transfer in serial data communication is stated in bps (bits per second). Another widely used terminology for bps is baud rate. However, the baud and bps rates are not necessarily equal. This is due to the fact that baud rate is the modem terminology and is defined as the number of signal changes per second. In modems a single change of signal, sometimes transfers several bits of data. As far as the conductor wire is concerned, the baud rate and bps are the same, and for this reason we use the bps and baud interchangeably. The data transfer rate of given computer system depends on communication ports incorporated into that system. For example, the early IBMPC/XT could transfer data at the rate of 100 to 9600 bps. In recent years, however, Pentium based PCS transfer data at rates as high as 56K bps. It must be noted that in asynchronous serial data communication, the baud rate is generally limited to 100,000bps. RS232 Standards To allow compatibility among data communication equipment made by various manufacturers, an interfacing standard called RS232 was set by the Electronics Industries Association (EIA) in 1960. In 1963 it was modified and called RS232A. RS232B AND RS232C were issued in 1965 and 1969, respectively. Today, RS232 is the most widely used serial I/O interfacing standard. This standard is used in PCs and numerous types of equipment. However, since the standard was set long before the advert of the TTL logic family, its input and output voltage levels are not TTL compatible. In RS232, a 1 is represented by -3 to -25V, while a 0 bit is +3 to +25V, making -3 to +3 undefined. For this reason, to connect any RS232 to a microcontroller system we must use voltage converters such as MAX232 to convert the TTL logic levels to the RS232 voltage levels, and vice versa. MAX232 IC chips are commonly referred to as line drivers. RS232 pins RS232 cable is commonly referred to as the DB-25 connector. In labeling, DB-25P refers to the plug connector (male) and DB-25S is for the socket connector (female). Since not
  46. 46. all the pins are used in PC cables, IBM introduced the DB-9 Version of the serial I/O standard, which uses 9 pins only, as shown in table. DB-9 pin connector 1 2 3 4 5 6 7 8 9 (Out of computer and exposed end of cable) Pin Functions: Pin Description 1 Data carrier detect (DCD) 2 Received data (RXD) 3 Transmitted data (TXD) 4 Data terminal ready(DTR) 5 Signal ground (GND) 6 Data set ready (DSR) 7 Request to send (RTS) 8 Clear to send (CTS) 9 Ring indicator (RI) Note: DCD, DSR, RTS and CTS are active low pins. The method used by RS-232 for communication allows for a simple connection of three lines: Tx, Rx, and Ground. The three essential signals for 2-way RS-232 Communications are these: TXD: carries data from DTE to the DCE. RXD: carries data from DCE to the DTE SG: signal ground
  47. 47. 8051 connection to RS232 The RS232 standard is not TTL compatible; therefore, it requires a line driver such as the MAX232 chip to convert RS232 voltage levels to TTL levels, and vice versa. The interfacing of 8051 with RS232 connectors via the MAX232 chip is the main topic. The 8051 has two pins that are used specifically for transferring and receiving data serially. These two pins are called TXD and RXD and a part of the port 3 group (P3.0 and P3.1). Pin 11 of the 8051 is assigned to TXD and pin 10 is designated as RXD. These pins are TTL compatible; therefore, they require a line driver to make them RS232 compatible. One such line driver is the MAX232 chip. MAX232 converts from RS232 voltage levels to TTL voltage levels, and vice versa. One advantage of the MAX232 chip is that it uses a +5V power source which, is the same as the source voltage for the 8051. In the other words, with a single +5V power supply we can power both the 8051 and MAX232, with no need for the power supplies that are common in many older systems. The MAX232 has two sets of line drivers for transferring and receiving data. The line drivers used for TXD are called T1 and T2, while the line drivers for RXD are designated as R1 and R2. In many applications only one of each is used. Embedded Controller RXD TXD TXD RXD 2 3 5 GND MAX 232 CONNECTING μC to PC using MAX 232
  48. 48. INTERRUPTS A single microcontroller can serve several devices. There are two ways to do that: INTERRUPTS or POLLING. POLLING: In polling the microcontroller continuously monitors the status of a given device; when the status condition is met, it performs the service .After that, it moves on to monitor the next device until each one is serviced. Although polling can monitor the status of several devices and serve each of them as certain condition are met. INTERRUPTS: In the interrupts method, whenever any device needs its service, the device notifies the microcontroller by sending it an interrupts signal. Upon receiving an interrupt signal, the microcontroller interrupts whatever it is doing and serves the device. The program associated with the interrupts is called the interrupt service routine (ISR).or interrupt handler. INTERRUPTS Vs POLLING: The advantage of interrupts is that the microcontroller can serve many devices (not all the same time, of course); each device can get the attention of the microcontroller based on the priority assigned to it. The polling method cannot assign priority since it checks all devices in round-robin fashion. More importantly, in the interrupt method the microcontroller can also ignore (mask) a device request for service. This is again not possible with the polling
  49. 49. method. The most important reason that the interrupt method is preferable is that the polling method wastes much of the microcontroller’s time by polling devices that do not need service. So, in order to avoid tying down the microcontroller, interrupts are used. INTERRUPT SERVICE ROUTINE For every interrupt, there must be an interrupt service routine (ISR), or interrupt handler. When an interrupt is invoked, the microcontroller runs the interrupts service routine. For every interrupt, there is a fixed location in memory that holds the address of its ISR. The group of memory location set aside to hold the addresses of ISR and is called the Interrupt Vector Table. Shown below: Interrupt Vector Table for the 8051: S.No. INTERRUPT ROM LOCATION (HEX) PIN FLAG CLEARING 1. Reset 0000 9 Auto 2. External 0003 P3.2 (12) Auto
  50. 50. hardware Interrupt 0 3. Timers 0 interrupt (TF0) 000B Auto 4. External hardware Interrupt 1(INT1) 0013 P3.3 (13) Auto 5. Timers 1 interrupt (TF1) 001B Auto 6. Serial COM (RI and TI) 0023 Programmer clears it Six Interrupts in the 8051: In reality, only five interrupts are available to the user in the 8051, but many manufacturers’ data sheets state that there are six interrupts since they include reset .the six interrupts in the 8051 are allocated as above. 1. Reset. When the reset pin is activated, the 8051 jumps to address location 0000.this is the power-up reset. 2. Two interrupts are set aside for the timers: one for Timer 0 and one for Timer 1.Memory location 000BH and 001BH in the interrupt vector table belong to Timer 0 and Timer 1, respectively.
  51. 51. 3. Two interrupts are set aside for hardware external harder interrupts. Pin number 12(P3.2) and 13(P3.3) in port 3 are for the external hardware interrupts INT0 and INT1,respectively.These external interrupts are also referred to as EX1 and EX2.Memory location 0003H and 0013H in the interrupt vector table are assigned to INT0 and INT1, respectively. 4. Serial communication has a single interrupt that belongs to both receive and transmit. The interrupt vector table location 0023H belongs to this interrupt. Notice that a limited number of bytes are set aside for each interrupt. For example, a total of 8 bytes from location 0003 to 000A is set aside for INT0, external hardware interrupt 0.similarly,a total of 8 bytes from location 00BH to 0012H is reserved for TF0, Timer 0 interrupt. If the service routine for a given interrupt is short enough to fit in the memory space allocated to it, it is placed in the vector table; otherwise, and an LJMP instruction is placed in the vector table to point to the address of the ISR. In that rest of the bytes allocated to that interrupt are unused. From the above table also notice that only three bytes of ROM space are assigned to the reset pin. they are ROM address location 0,1 and2.address location 3 belongs to external hardware interrupt 0.for this reason, in our program we put the LJMP as the first instruction and redirect the processor away from the interrupt vector table, as shown below Steps in executing an interrupt Upon activation of an interrupt, the microcontroller goes through the following steps. 1. It finishes the instruction it is executing and saves the address of the next instruction (PC) on the stack. 2. It also saves the current status of all the interrupts internally (i.e., not on the stack). 3. It jumps to a fixed location in memory called the interrupt vector table that holds the address of the interrupts service routine.
  52. 52. 4. The microcontroller gets the address of the ISR from the interrupt vector table and jumps to it. It starts to execute the interrupt service subroutine until it reaches the last instruction of the subroutine, which is RETI (return from interrupt). 5. Upon executing the RETI instruction, the microcontroller returns to the place where it was interrupted. First, it gets the program counter (PC) address from the stack by popping the top two bytes of the stack into the PC. Then it starts to execute from that address. Notice from step 5 the critical role of the stack. For this reason, we must be careful in manipulating the stack contents in the ISR. Specifically, in the ISR, just as in any CALL subroutine, the number of pushes and pops must be equal. Enabling and disabling an interrupt: Upon reset, all interrupt are disabled (masked), meaning that none will be responded to by the microcontroller if they are activated. The interrupt must be enabled by software in order for the microcontroller to respond to them. There is a register called IE (interrupt enable) that is responsible for enabling (unmasking) and disabling (masking) the interrupts. Notice that IE is a bit-addressable register. Steps in enabling an interrupt: To enable an interrupt, we take the following steps: 1. Bit D7 of the IE register (EA) must be set to high to allow the reset to take effect. If EA=1, interrupts are enabled and will be responded to if their corresponding bit in IE are high. If EA=0, no interrupt will be responded to, even if the associated bit in the IE register is high.
  53. 53. Interrupt Enable Register D7 D6 D5 D4 D3 D2 D1 D0 EA IE.7 disables all interrupts. If EA=0, no interrupts is acknowledged. If EA=1, each interrupt source is individually enabled disabled By setting or clearing its enable bit. -- IE.6 Not implemented, reserved for future use.* ET2 IE.5 Enables or disables Timer 2 overflow or capture interrupt (8052 Only) ES IE.4 Enables or disables the serial port interrupts. ET1 IE.3 Enables or disables Timers 1 overflow interrupt EX1 IE.2 Enables or disables external interrupt 1. ET0 IE.1 Enables or disables Timer 0 overflow interrupt. EX0 IE.0 Enables or disables external interrupt. RF transmitter section: RF transmitters are electronic devices that create continuously varying electric current, encode sine waves, and broadcast radio waves. RF transmitters use oscillators to create sine waves, the simplest and smoothest form of continuously varying waves, which contain information such as audio and video. EA -- ET2 ES ET1 EX1 ET0 EX0
  54. 54. Modulators encode these sign wives and antennas broadcast them as radio signals. There are several ways to encode or modulate this information, including amplitude modulation (AM) and frequency modulation (FM). Radio techniques limit localized interference and noise. With direct sequence spread spectrum, signals are spread over a large band by multiplexing the signal with a code or signature that modulates each bit. With frequency hopping spread spectrum, signals move through a narrow set of channels in a sequential, cyclical, and predetermined pattern. Selecting RF transmitters requires an understanding of modulation methods such as AM and FM. On-off key (OOK), the simplest form of modulation, consists of turning the signal on or off. Amplitude modulation (AM) causes the base band signal to vary the amplitude or height of the carrier wave to create the desired information content. Frequency modulation (FM) causes the instantaneous frequency of a sine wave carrier to depart from the center frequency by an amount proportional to the instantaneous value of the modulating signal. Amplitude shift key (ASK) transmits data by varying the amplitude of the transmitted signal. Frequency shift key (FSK) is a digital modulation scheme using two or more output frequencies. Phase shift key (PSK) is a digital modulation scheme in which the phase of the transmitted signal is varied in accordance with the base band data signal. Additional considerations when selecting RF transmitters include supply voltage, supply current, RF connectors, special features, and packaging. Some RF transmitters include visual or audible alarms or LED indicators that signal operating modes such as power on or reception. Other devices attach to coaxial cables or include a connector or port to which an antenna can be attached. Typically, RF transmitters that are rated for outdoor use feature a heavy-duty waterproof design. Devices with internal calibration and a frequency range switch are also available. RF transmitters are used in a variety of applications and industries. Often, devices that are used with integrated circuits (ICs) incorporate surface mount technology (SMT), through hole technology (THT), and flat pack. In the telecommunications industry, RF transmitters are designed to fit in a metal rack that can be installed in a cabinet. RF transmitters are also used in radios and in electronic article surveillance systems (EAS) found in retail stores. Inventory management systems use RF transmitters as an alternative to barcodes.
  55. 55. RF transmitter ST-TX01-ASK: General Description: The ST-TX01-ASK is an ASK Hybrid transmitter module. The ST-TX01-ASK is designed by the Saw Resonator, with an effective low cost, small size, and simple-to-use for designing.  Frequency Range: 315 / 433.92 MHZ.  Supply Voltage: 3~12V.  Output Power: 4~16dBm  Circuit Shape: Saw Applications  Wireless security systems  Car Alarm systems  Remote controls.  Sensor reporting  Automation systems
  56. 56. Fig 17: Pin Description of the Transmitter module
  57. 57. Fig 18: Interfacing TX module to a Micro controller RF ENCODER (HT12E): Features _ Operating voltage _ 2.4V~5V for the HT12A _ 2.4V~12V for the HT12E _ Low power and high noise immunity CMOS technology _ Low standby current: 0.1_A (typ.) at VDD=5V _ HT12A with a 38kHz carrier for infrared transmission medium _ Minimum transmission word _ Four words for the HT12E _ One word for the HT12A _ Built-in oscillator needs only 5% resistor _ Data code has positive polarity
  58. 58. _ Minimal external components _ HT12A/E: 18-pin DIP/20-pin SOP package Applications _ Burglar alarm system _ Smoke and fire alarm system _ Garage door controllers _ Car door controllers _ Car alarm system _ Security system _ Cordless telephones _ Other remote control systems General Description The 212 encoders are a series of CMOS LSIs for remote control system applications. They are capable of encoding information which consists of N address bits and 12_N data bits. Each address/data input can be set to one of the two logic states. The programmed addresses/data are transmitted together with the header bits via an RF or an infrared transmission medium upon receipt of a trigger signal. The capability to select a TE trigger on the HT12E or a DATA trigger on the HT12A further enhances the application flexibility of the 212 series of encoders. The HT12A additionally provides a 38kHz carrier for infrared systems.
  59. 59. Note: Address/Data represents pins that can be address or data according to the decoder requirement. Fig 19: Block diagram of HT 12E Encoder Pin Description:
  60. 60. Fig 20: Pin description of HT12E
  61. 61. Note: D8~D11 are all data input and transmission enable pins of the HT12A. TE is a transmission enable pin of the HT12E. Absolute Maximum Ratings Supply Voltage (HT12A) .............._0.3V to 5.5V Storage Temperature................._50_C to 125_C Operating Temperature..............._20_C to 75_C Supply Voltage (HT12E) ..............._0.3V to 13V Input Voltage....................VSS_0.3 to VDD+0.3V
  62. 62. Fig 21: Timing diagram of the HT12E and HT12A
  63. 63. Application Circuits: Fig 22: Application circuit of HT12E
  64. 64. Flow Chart: Fig 23: Flow chat for data transmission in HT12E RF receiver section: RF receivers are electronic devices that separate radio signals from one another and convert specific signals into audio, video, or data formats. RF receivers use an antenna to receive transmitted radio signals and a tuner to separate a specific signal from all of the other signals that the antenna receives. Detectors or demodulators then extract information that was encoded before transmission. There are several ways to decode or modulate this information, including amplitude modulation (AM) and frequency modulation (FM). Radio techniques limit localized interference and noise. With direct sequence spread spectrum, signals are spread over a large band by multiplexing the signal with a code or signature that modulates each bit. With frequency hopping spread spectrum, signals move through a narrow set of channels in a sequential, cyclical, and predetermined pattern.
  65. 65. Selecting RF receivers requires an understanding of modulation methods such as AM and FM. On-off key (OOK), the simplest form of modulation, consists of turning the signal on or off. Amplitude modulation (AM) causes the base band signal to vary the amplitude or height of the carrier wave to create the desired information content. Frequency modulation (FM) causes the instantaneous frequency of a sine wave carrier to depart from the center frequency by an amount proportional to the instantaneous value of the modulating signal. Amplitude shift key (ASK) transmits data by varying the amplitude of the transmitted signal. Frequency shift key (FSK) is a digital modulation scheme using two or more output frequencies. Phase shift key (PSK) is a digital modulation scheme in which the phase of the transmitted signal is varied in accordance with the base band data signal. RF receivers vary in terms of performance specifications such as sensitivity, digital sampling rate, measurement resolution, operating frequency, and communication interface. Sensitivity is the minimum input signal required to produce a specified output signal having a specified signal-to- noise (S/N) ratio. Digital sampling rate is the rate at which samples can be drawn from a digital signal in kilo samples per second. Measurement resolution is the minimum digital resolution, while operating frequency is the range of received signals. Communication interface is the method used to output data to computers. Parallel interfaces include general-purpose interface bus (GPIB), which is also known as IEEE 488 and HPIB Protocol. Serial interfaces include universal serial bus (USB), RS232, and RS485. Additional considerations when selecting RF receivers include supply voltage, supply current, receiver inputs, RF connectors, special features, and packaging. Some RF receivers include visual or audible alarms or LED indicators that signal operating modes such as power on or reception. Other devices attach to coaxial cables or include a connector or port to which an antenna can be attached. Typically, RF receivers that are rated for outdoor use feature a heavy-duty waterproof design. Devices with internal calibration and a frequency range switch are also available. RF receiver ST-RX04-ASK: Description:
  66. 66. The RX04 is a low power ASK receiver IC which is fully compatible with the MitelKESRX01 IC and is suitable for use in a variety of low power radio applications including remote keyless entry. The RX04 is based on a single- Conversion, super-heterodyne receiver architecture and incorporates an entire phase-locked loop (PLL) for precise local oscillator generation. Applications: • Car security system • Wireless security systems • Sensor reporting • automation system • Remote Keyless entry Features • Low power consumption. • Easy for application. • On-Chip VCO with integrated PLL using crystal oscillator reference. • Integrated IF and data filters. • Operation temperature range : 10﹣ ℃~+60℃ • Operation voltage: 5 Volts. • Available frequency at : 315/434 MHz Functional description:
  67. 67. Fig: RF receiver module. Fig 24: RF receiver module. RF DECODER (HT 12D): Features _ Operating voltage: 2.4V~12V _ Low power and high noise immunity CMOS technology _ Low standby current _ Capable of decoding 12 bits of information _ Binary address setting _ Received codes are checked 3 times _ Address/Data number combination _ HT12D: 8 address bits and 4 data bits
  68. 68. _ HT12F: 12 address bits only _ Built-in oscillator needs only 5% resistor _ Valid transmission indicator _ Easy interface with an RF or an infrared transmission medium _ Minimal external components _ Pair with Holteks 212 series of encoders _ 18-pin DIP, 20-pin SOP package Applications _ Burglar alarm system _ Smoke and fire alarm system _ Garage door controllers _ Car door controllers _ Car alarm system _ Security system _ Cordless telephones _ Other remote control systems General Description
  69. 69. The 212 decoders are a series of CMOS LSIs for remote control system applications. They are paired with Holteks 212 series of encoders (refer to the encoder/decoder cross reference table). For proper operation, a pair of encoder/decoder with the same number of addresses and data format should be chosen. The decoders receive serial addresses and data from a programmed 212 series of encoders that are transmitted by a carrier using an RF or an IR transmission medium. They compare the serial input data three times continuously with their local addresses. If no error or unmatched codes are found, the input data codes are decoded and then transferred to the output pins. The VT pin also goes high to indicate a valid transmission. The 212 series of decoders are capable of decoding informations that consist of N bits of address and 12_N bits of data. Of this series, the HT12D is arranged to provide 8 address bits and 4 data bits, and HT12F is used to decode 12 bits of address information. Notes: Data type: L stands for latch type data output. VT can be used as a momentary data output.
  70. 70. Fig 25: Block Diagram of HT 12D Decoder Note: The address/data pins are available in various combinations (see the address/data table). Pin Assignment: Fig 26: Pin diagram of HT12D
  71. 71. Absolute Maximum Ratings Supply Voltage .........................................._0.3V to 13V Storage Temperature ............................_50_C to 125_C Input Voltage ................................VSS_0.3 to VDD+0.3V Operating Temperature..........................._20_C to 75_C
  72. 72. Functional Description Operation The 212 series of decoders provides various combinations of addresses and data pins in different packages so as to pair with the 212 series of encoders. The decoders receive data that are transmitted by an encoder and interpret the first N bits of code period as addresses and the last 12_N bits as data, where N is the address code number. A signal on the DIN pin activates the oscillator, which in turn decodes the incoming address and data. The decoders will then check the received address three times continuously. If the received address codes all match the contents of the decoders local address, the 12_N bits of data are decoded to activate the output pins and the VT pin is set high to indicate a valid transmission. This will last unless the address code is incorrect or no signal is received. The output of the VT pin is high only when the transmission is valid. Otherwise it is always low. Output type
  73. 73. Of the 212 series of decoders, the HT12F has no data output pin but its VT pin can be used as a momentary data output. The HT12D, on the other hand, provides 4 latch type data pins whose data remain unchanged until new data are received. Fig 27: Timing Diagram of Decoder HT12D
  74. 74. Fig 28: Application circuit of HT12D Flowchart The oscillator is disabled in the standby state and activated when a logic _high_ signal applies to the DIN pin. That is to say, the DIN should be kept low if there is no signal input.
  75. 75. Fig 29: Flow chart of HT12D for data transmission
  76. 76. A Passive InfraRed sensor (PIR sensor) is an electronic device that measures infrared (IR) light radiating from objects in its field of view. PIR sensors are often used in the construction of PIR-based motion detectors (see below). Apparent motion is detected when an infrared source with one temperature, such as a human, passes in front of an infrared source with another temperature, such as a wall.[1] All objects emit what is known as black body radiation. It is usually infrared radiation that is invisible to the human eye but can be detected by electronic devices designed for such a purpose. The term passive in this instance means that the PIR device does not emit an infrared beam but merely passively accepts incoming infrared radiation. “Infra” meaning below our ability to detect it visually, and “Red” because this color represents the lowest energy level that our eyes can sense before it becomes invisible. Thus, infrared means below the energy level of the color red, and applies to many sources of invisible energy.[2] In a PIR-based motion detector (usually called a PID, for Passive Infrared Detector), the PIR sensor is typically mounted on a printed circuit board containing the necessary electronics required to interpret the signals from the pyroelectric sensor chip. The complete assembly is contained within a housing mounted in a location where the sensor can view the area to be monitored. Infrared energy is able to reach the pyroelectric sensor through the window because the plastic used is transparent to infrared radiation (but only translucent to visible light). This plastic sheet also prevents the intrusion of dust and/or insects from obscuring the sensor's field of view, and in the case of insects, from generating false alarms. A few mechanisms have been used to focus the distant infrared energy onto the sensor surface. The window may have multiple Fresnel lenses molded into it. A person entering a monitored area is detected when the infrared energy emitted from the intruder's body is focused by a Fresnel lens or a mirror segment and overlaps a section on the chip that had previously been looking at some much cooler part of the protected area. That portion of the chip is now much warmer than when the intruder wasn't there. As the intruder moves, so does the hot spot on the surface of the chip. This moving hot spot causes the electronics connected to the chip to de-energize the relay, operating its contacts, thereby activating the detection input on the alarm control panel. Conversely, if an intruder were to try to defeat a PID, perhaps by holding some sort of thermal shield between himself and the PID, a corresponding 'cold' spot moving across the face of the chip will also cause the relay to de- energize — unless the thermal shield has the same temperature as the objects behind it. Manufacturers recommend careful placement of their products to prevent false (non-intruder caused) alarms. They suggest mounting the PIDs in such a way that the PID cannot 'see' out of a window. Although the wavelength of infrared radiation to which the chips are sensitive does not penetrate glass very well, a strong infrared source such as from a vehicle headlight or sunlight reflecting from a vehicle window can overload the chip with enough infrared energy to fool the electronics and cause a false alarm. A person moving on the other side of the glass however would not be 'seen' by the PID.
  77. 77. They also recommended that the PID not be placed in such a position that an HVAC vent would blow hot or cold air onto the surface of the plastic which covers the housing's window. Although air has very low emissivity (emits very small amounts of infrared energy), the air blowing on the plastic window cover could change the plastic's temperature enough to, once again, fool the electronics. PIDs come in many configurations for a wide variety of applications. The most common, used in home security systems, have numerous Fresnel lenses or mirror segments and an effective range of about thirty feet. Some larger PIDs are made with single segment mirrors and can sense changes in infrared energy over one hundred feet away from the PID. There are also PIDs designed with reversible orientation mirrors which allow either broad coverage (110° wide) or very narrow 'curtain' coverage. PIDs can have more than one internal sensing element so that, with the appropriate electronics and Fresnel lens, it can detect direction. Left to right, right to left, up or down and provide an appropriate output signal. [edit] PIR-based remote thermometer Designs have been implemented in which a PIR circuit measures the temperature of a remote object.[3] In such a circuit, a non-differential PIR output is used. The output signal is evaluated according to a calibration for the IR spectrum of a specific type of matter to be observed. By this means, relatively accurate and precise temperature measurements may be obtained remotely. Without calibration to the type of material being observed, a PIR thermometer device is able to measure changes in IR emission which correspond directly to temperature changes, but the actual temperature values cannot be calculated. Power supply The power supplies are designed to convert high voltage AC mains electricity to a suitable low voltage supply for electronics circuits and other devices. A power supply can by broken down into a series of blocks, each of which performs a particular function. A d.c power supply which maintains the output voltage constant irrespective of a.c mains fluctuations or load variations is known as “Regulated D.C Power Supply” For example a 5V regulated power supply system as shown below:
  78. 78. Transformer: A transformer is an electrical device which is used to convert electrical power from one Electrical circuit to another without change in frequency. Transformers convert AC electricity from one voltage to another with little loss of power. Transformers work only with AC and this is one of the reasons why mains electricity is AC. Step-up transformers increase in output voltage, step-down transformers decrease in output voltage. Most power supplies use a step-down transformer to reduce the dangerously high mains voltage to a safer low voltage. The input coil is called the primary and the output coil is called the secondary. There is no electrical connection between the two coils; instead they are linked by an alternating magnetic field created in the soft-iron core of the transformer. The two lines in the middle of the circuit symbol represent the core. Transformers waste very little power so the power out is (almost) equal to the power in. Note that as voltage is stepped down current is stepped up. The ratio of the number of turns on each coil, called the turn’s ratio, determines the ratio of the voltages. A step-down transformer has a large number of turns on its primary (input)
  79. 79. coil which is connected to the high voltage mains supply, and a small number of turns on its secondary (output) coil to give a low output voltage. An Electrical Transformer Turns ratio = Vp/ VS = Np/NS Power Out= Power In VS X IS=VP X IP Vp = primary (input) voltage Np = number of turns on primary coil Ip = primary (input) current
  80. 80. RECTIFIER: A circuit which is used to convert a.c to dc is known as RECTIFIER. The process of conversion a.c to d.c is called “rectification” TYPES OF RECTIFIERS: • Half wave Rectifier • Full wave rectifier 1. Centre tap full wave rectifier. 2. Bridge type full bridge rectifier. Comparison of rectifier circuits: Parameter Type of Rectifier Half wave Full wave Bridge Number of diodes 1 2 4 PIV of diodes Vm 2Vm Vm D.C output voltage Vm/ 2Vm/ 2Vm/ Vdc,at no-load 0.318Vm 0.636Vm 0.636Vm
  81. 81. Ripple factor 1.21 0.482 0.482 Ripple frequency f 2f 2f Rectification efficiency 0.406 0.812 0.812 Transformer Utilization Factor(TUF) 0.287 0.693 0.812 RMS voltage Vrms Vm/2 Vm/√2 Vm/√2 Full-wave Rectifier: From the above comparison we came to know that full wave bridge rectifier as more advantages than the other two rectifiers. So, in our project we are using full wave bridge rectifier circuit. Bridge Rectifier: A bridge rectifier makes use of four diodes in a bridge arrangement to achieve full-wave rectification. This is a widely used configuration, both with individual diodes wired as shown and with single component bridges where the diode bridge is wired internally. A bridge rectifier makes use of four diodes in a bridge arrangement as shown in fig(a) to achieve full-wave rectification. This is a widely used configuration, both with individual diodes wired as shown and with single component bridges where the diode bridge is wired internally.
  82. 82. Fig(A) Operation: During positive half cycle of secondary, the diodes D2 and D3 are in forward biased while D1 and D4 are in reverse biased as shown in the fig(b). The current flow direction is shown in the fig (b) with dotted arrows. Fig(B) During negative half cycle of secondary voltage, the diodes D1 and D4 are in forward biased while D2 and D3 are in reverse biased as shown in the fig(c). The current flow direction is shown in the fig (c) with dotted arrows.
  83. 83. Fig(C) Filter: A Filter is a device which removes the a.c component of rectifier output but allows the d.c component to reach the load Capacitor Filter: We have seen that the ripple content in the rectified output of half wave rectifier is 121% or that of full-wave or bridge rectifier or bridge rectifier is 48% such high percentages of ripples is not acceptable for most of the applications. Ripples can be removed by one of the following methods of filtering. (a) A capacitor, in parallel to the load, provides an easier by –pass for the ripples voltage though it due to low impedance. At ripple frequency and leave the d.c.to appears the load. (b) An inductor, in series with the load, prevents the passage of the ripple current (due to high impedance at ripple frequency) while allowing the d.c (due to low resistance to d.c)
  84. 84. (c) Various combinations of capacitor and inductor, such as L-section filter section filter, multiple section filter etc. which make use of both the properties mentioned in (a) and (b) above. Two cases of capacitor filter, one applied on half wave rectifier and another with full wave rectifier. Filtering is performed by a large value electrolytic capacitor connected across the DC supply to act as a reservoir, supplying current to the output when the varying DC voltage from the rectifier is falling. The capacitor charges quickly near the peak of the varying DC, and then discharges as it supplies current to the output. Filtering significantly increases the average DC voltage to almost the peak value (1.4 × RMS value). To calculate the value of capacitor(C), C = ¼*√3*f*r*Rl Where, f = supply frequency, r = ripple factor, Rl = load resistance Note: In our circuit we are using 1000µF. Hence large value of capacitor is placed to reduce ripples and to improve the DC component. Regulator: Voltage regulator ICs is available with fixed (typically 5, 12 and 15V) or variable output voltages. The maximum current they can pass also rates them. Negative voltage regulators are available, mainly for use in dual supplies. Most regulators include some automatic protection from excessive current ('overload protection') and overheating ('thermal protection'). Many of the fixed voltage regulator ICs have 3 leads and look like power transistors, such as the 7805 +5V 1A regulator shown on the right. The LM7805 is simple to use. You simply connect the positive lead of your unregulated DC power supply (anything from 9VDC to 24VDC) to the Input pin, connect the negative lead to the Common pin and then when you turn on the power, you get a 5 volt supply from the output pin.
  85. 85. Fig 6.1.6 A Three Terminal Voltage Regulator 78XX: The Bay Linear LM78XX is integrated linear positive regulator with three terminals. The LM78XX offer several fixed output voltages making them useful in wide range of applications. When used as a zener diode/resistor combination replacement, the LM78XX usually results in an effective output impedance improvement of two orders of magnitude, lower quiescent current. The LM78XX is available in the TO-252, TO-220 & TO-263packages, Features: • Output Current of 1.5A • Output Voltage Tolerance of 5% • Internal thermal overload protection • Internal Short-Circuit Limited • No External Component • Output Voltage 5.0V, 6V, 8V, 9V, 10V,12V, 15V, 18V, 24V • Offer in plastic TO-252, TO-220 & TO-263 • Direct Replacement for LM78XX
  86. 86. Circuit description: In this project we required operating voltage for Microcontroller 89C51 is 5V. Hence the 5V D.C. power supply is needed for the IC’s. This regulated 5V is generated by stepping down the voltage from 230V to 18V now the step downed a.c voltage is being rectified by the Bridge Rectifier using 1N4007 diodes. The rectified a.c voltage is now filtered using a ‘C’ filter. Now the rectified, filtered D.C. voltage is fed to the Voltage Regulator. This voltage regulator provides/allows us to have a Regulated constant Voltage which is of +5V. The rectified; filtered and regulated voltage is again filtered for ripples using an electrolytic capacitor 100μF. Now the output from this section is fed to 40th pin of 89C51 microcontroller to supply operating voltage. The microcontroller 89C51 with Pull up resistors at Port0 and crystal oscillator of 11.0592 MHz crystal in conjunction with couple of 30-33pf capacitors is placed at 18th & 19th pins of 89C51 to make it work (execute) properly. In our project we can control the robot by using wireless communication i.e. from Control section (acts as transmitter) we are sending the control signals, then the robot receives (acts as receiver) the signals, according to the signals being received the direction of the robot is controlled and robot on its way senses for the PIR sensor if it is been sensed then there is human begin or soldier alive at war field to know the person is alive buzzer is blown
  87. 87. LCD MODULE To display interactive messages we are using LCD Module. We examine an intelligent LCD display of two lines,16 characters per line that is interfaced to the controllers. The protocol (handshaking) for the display is as shown. Whereas D0 to D7th bit is the Data lines, RS, RW and EN pins are the control pins and remaining pins are +5V, -5V and GND to provide supply. Where RS is the Register Select, RW is the Read Write and EN is the Enable pin. The display contains two internal byte-wide registers, one for commands (RS=0) and the second for characters to be displayed (RS=1). It also contains a user-programmed RAM area (the character RAM) that can be programmed to generate any desired character that can be formed using a dot matrix. To distinguish between these two data areas, the hex command byte 80 will be used to signify that the display RAM address 00h will be chosen.Port1 is used to furnish the command or data type, and ports 3.2 to3.4 furnish register select and read/write levels. The display takes varying amounts of time to accomplish the functions as listed. LCD bit 7 is monitored for logic high (busy) to ensure the display is overwritten. Liquid Crystal Display also called as LCD is very helpful in providing user interface as well as for debugging purpose. The most common type of LCD controller is HITACHI 44780 which provides a simple interface between the controller & an LCD. These LCD's are very simple to interface with the controller as well as are cost effective. 2x16 Line Alphanumeric LCD Display The most commonly used ALPHANUMERIC displays are 1x16 (Single Line & 16 characters), 2x16 (Double Line & 16 character per line) & 4x20 (four lines & Twenty characters per line).
  88. 88. The LCD requires 3 control lines (RS, R/W & EN) & 8 (or 4) data lines. The number on data lines depends on the mode of operation. If operated in 8-bit mode then 8 data lines + 3 control lines i.e. total 11 lines are required. And if operated in 4-bit mode then 4 data lines + 3 control lines i.e. 7 lines are required. How do we decide which mode to use? It’s simple if you have sufficient data lines you can go for 8 bit mode & if there is a time constrain i.e. display should be faster then we have to use 8-bit mode because basically 4-bit mode takes twice as more time as compared to 8-bit mode. Pin Symbol Function 1 Vss Ground 2 Vdd Supply Voltage 3 Vo Contrast Setting 4 RS Register Select 5 R/W Read/Write Select 6 En Chip Enable Signal 7-14 DB0-DB7 Data Lines 15 A/Vee Gnd for the backlight 16 K Vcc for backlight When RS is low (0), the data is to be treated as a command. When RS is high (1), the data being sent is considered as text data which should be displayed on the screen. When R/W is low (0), the information on the data bus is being written to the LCD. When RW is high (1), the program is effectively reading from the LCD. Most of the times there is no need to read from the LCD so this line can directly be connected to Gnd thus saving one controller line. The ENABLE pin is used to latch the data present on the data pins. A HIGH - LOW signal is required to latch the data. The LCD interprets and executes our command at the instant the EN line is brought low. If you never bring EN low, your instruction will never be executed.
  89. 89. COMMANDS USED IN LCD
  90. 90. MAX 232 2.3.1 RS-232 WAVEFORM TTL/CMOS Serial Logic Waveform The diagram above shows the expected waveform from the UART when using the common 8N1 format. 8N1 signifies 8 Data bits, No Parity and 1 Stop Bit. The RS-232 line, when idle is in the Mark State (Logic 1). A transmission starts with a start bit which is (Logic 0). Then each bit is sent down the line, one at a time. The LSB (Least Significant Bit) is sent first. A Stop Bit (Logic 1) is then appended to the signal to make up the transmission. The data sent using this method, is said to be framed. That is the data is framed between a Start and Stop Bit. RS-232 Voltage levels • +3 to +25 volts to signify a "Space" (Logic 0) • -3 to -25 volts for a "Mark" (logic 1). • Any voltage in between these regions (i.e. between +3 and -3 Volts) is undefined. The data byte is always transmitted least-significant-bit first.
  91. 91. The bits are transmitted at specific time intervals determined by the baud rate of the serial signal. This is the signal present on the RS-232 Port of your computer, shown below. RS-232 Logic Waveform 2.3.2 RS-232 LEVEL CONVERTER Standard serial interfacing of microcontroller (TTL) with PC or any RS232C Standard device , requires TTL to RS232 Level converter . A MAX232 is used for this purpose. It provides 2-channel RS232C port and requires external 10uF capacitors. The driver requires a single supply of +5V. MAX-232 includes a Charge Pump, which generates +10V and -10V from a single 5v supply. 2.3.3 Serial communication
  92. 92. When a processor communicates with the outside world, it provides data in byte sized chunks. Computers transfer data in two ways: parallel and serial. In parallel data transfers, often more lines are used to transfer data to a device and 8 bit data path is expensive. The serial communication transfer uses only a single data line instead of the 8 bit data line of parallel communication which makes the data transfer not only cheaper but also makes it possible for two computers located in two different cities to communicate over telephone. Serial data communication uses two methods, asynchronous and synchronous. The synchronous method transfers data at a time while the asynchronous transfers a single byte at a time. There are some special IC chips made by many manufacturers for data communications. These chips are commonly referred to as UART (universal asynchronous receiver-transmitter) and USART (universal synchronous asynchronous receiver transmitter). The AT89C51 chip has a built in UART. In asynchronous method, each character is placed between start and stop bits. This is called framing. In data framing of asynchronous communications, the data, such as ASCII characters, are packed in between a start and stop bit. We have a total of 10 bits for a character: 8 bits for the ASCII code and 1 bit each for the start and stop bits. The rate of serial data transfer communication is stated in bps or it can be called as baud rate. To allow the compatibility among data communication equipment made by various manufacturers, and interfacing standard called RS232 was set by the Electronics industries Association in 1960. Today RS232 is the most widely used I/O interfacing standard. This standard is used in PCs and numerous types of equipment. However, since the standard was set long before the advent of the TTL logic family, its input and output voltage levels are not TTL compatible. In RS232, a 1 bit is represented by -3 to -25V, while a 0 bit is represented +3 to +25 V, making -3 to +3 undefined. For this reason, to connect any RS232 to a microcontroller system we must use voltage converters such as MAX232 to connect the TTL logic levels to RS232 voltage levels and vice versa. MAX232 ICs are commonly referred to as line drivers.
  93. 93. The RS232 cables are generally referred to as DB-9 connector. In labeling, DB-9P refers to the plug connector (male) and DB-9S is for the socket connector (female). The simplest connection between a PC and microcontroller requires a minimum of three pin, TXD, RXD, and ground. Many of the pins of the RS232 connector are used for handshaking signals. They are bypassed since they are not supported by the UART chip. IBM PC/ compatible computers based on x86(8086, 80286, 386, 486 and Pentium) microprocessors normally have two COM ports. Both COM ports have RS232 type connectors. Many PCs use one each of the DB-25 and DB-9 RS232 connectors. The COM ports are designated as COM1 and COM2. We can connect the serial port to the COM 2 port of a PC for serial communication experiments. We use a DB9 connector in our arrangement.
  94. 94. RFID History of RFID: In a very interesting article, the San Jose Mercury News tells us about Charles Walton, the man behind the radio frequency identification technology (RFID). Since his first patent about it in 1973, Walton, now 83 years old, collected about $3 million from royalties coming from his patents. Unfortunately for him, his latest patent about RFID expired in the mid-1990s. So he will not make any money from the billions of RFID tags that will appear in the years to come. But he continues to invent and his latest patent about a proximity card with incorporated PIN code protection was granted in June 2004. What is RFID. RFID is short for Radio Frequency Identification. Generally a RFID system consists of 2 arts. A Reader, and one or more Transponders, also known as Tags. RFID systems evolved from barcode labels as a means to automatically identify and track products and people. You will be generally familiar with RFID systems as seen in: • Access Control. RFID Readers placed at entrances that require a person to pass their proximity card (RF tag) to be "read' before the access can be made. • Contact less Payment Systems. RFID tags used to carry payment information. RFIDs are particular suited to electronic Toll collection systems. Tags attached to vehicles, or carried by people transmit payment information to a fixed reader attached to a Toll station. Payments are then routinely deducted from a users account, or information is changed directly on the RFID tag. • Product Tracking and Inventory Control. RFID systems are commonly used to track and record the movement of ordinary items such as library books, clothes, factory pallets, electrical goods and numerous items.
  95. 95. How do RFIDs work. Shown below is a typical RFID system. In every RFID system the transponder Tags contain information. This information can be as little as a single binary bit, or be a large array of bits representing such things as an identity code, personal medical information, or literally any type of information that can be stored in digital binary format. Shown is a RFID transceiver that communicates with a passive Tag. Passive tags have no power source of their own and instead derive power from the incident electromagnetic
  96. 96. field. Commonly the heart of each tag is a microchip. When the Tag enters the generated RF field it is able to draw enough power from the field to access its internal memory and transmit its stored information. When the transponder Tag draws power in this way the resultant interaction of the RF fields causes the voltage at the transceiver antenna to drop in value. This effect is utilized by the Tag to communicate its information to the reader. The Tag is able to control the amount of power drawn from the field and by doing so it can modulate the voltage sensed at the Transceiver according to the bit pattern it wishes to transmit. COMPONENTS OF RFID Basic RFID systems consist of three components: • An antenna or coil • A transceiver (with decoder) • A transponder (RF tag) electronically programmed with unique information These are described below: 1. ANTENNA The antenna emits radio signals to activate the tag and read and write data to it. Antennas are the conduits between the tag and the transceiver, which controls the system's data acquisition and communication. Antennas are available in a variety of shapes and sizes; they can be built into a door frame to receive tag data from persons or things passing through the door, or mounted on an interstate tollbooth to monitor traffic passing by on a freeway. The electromagnetic field produced by an antenna can be constantly present when multiple tags are expected continually. If constant interrogation is not required, a sensor device can activate the field. Often the antenna is packaged with the transceiver and decoder to become a reader (a.k.a. interrogator), which can be configured either as a handheld or a fixed-mount device. The reader emits radio waves in ranges of anywhere from one inch to 100 feet or more, depending upon its power output and the radio frequency used. When an RFID tag passes through the electromagnetic zone, it detects the reader's activation signal. The reader decodes the data

×