You are on page 1of 40



3.1 Introduction
Companies look for any advantage to remain competitive in todays high-speed business climate. They work to streamline their supply chain management systems, knowing that even a few minutes in order processing time can make a huge difference in getting product to end user. And that can be the difference between who gets the job and who doesnt - even who gets to stay in business and who doesn't. One of the ways to save minutes that turn into competitive advantages is to save seconds on highly repetitive tasks by using fast, accurate radio frequency (RF) technology. More and more companies are evaluating RF technology because they have learned that wirelessly transmitting data can provide tremendous time and cost savings.

RF communication works by creating electromagnetic waves at a source and being able to pick up those electromagnetic waves at a particular destination. These electromagnetic waves travel through the air at near the speed of light. The wavelength of an electromagnetic signal is inversely proportional to the frequency; the higher the frequency, the shorter the wavelength.

Frequency is measured in Hertz (cycles per second) and radio frequencies are measured in kilohertz (KHz or thousands of cycles per second), megahertz (MHz or millions of cycles per second) and gigahertz (GHz or billions of cycles per second). Higher frequencies result in shorter wavelengths. The wavelength for a 900 MHz device is longer than that of a 2.4 GHz device.

In general, signals with longer wavelengths travel a greater distance and penetrate through, and around objects better than signals with shorter wavelengths.

3.2 What is RF?

When you hear someone say "RF," he or she is generally referring to radio frequency data communications. In the past, it has also been referred to as RFDC, to differentiate it from

radio frequency identification (RFID), which is a different and potentially complementary technology. Wireless local area networks (WLANs) are a very popular form of RFDC.

RF is the wireless transmission of data by digital radio signals at a particular frequency. It maintains a two-way, online radio connection between a mobile terminal and the host computer. The mobile terminal, which can be portable, even worn by the worker, or mounted on a forklift truck, collects and displays data at the point of activity. The host computer can be a PC, a minicomputer or a much larger mainframe.

The end result is a seamless flow of information to and from the host, allowing workers to go wherever they need to go to get their job done without fear of being out of touch with the data they need. RFDC improves the timeliness of information, and therefore the value of information, especially in time-sensitive operating environments like cross-dock, make-to-order manufacturing and just-in-time replenishment.

3.3 System Overview

A basic RF system consists of up to three components: A mobile RF terminal; A base station (sender/receiver); and A network controller. The mobile terminal forms the link (interface) between the user and the RF system. It collects the data to be sent, receives instructions or data from the host, and allows the user to view the data or messages on its display screen. The terminal also has a radio sender/receiver and antenna to provide communication with the rest of the system. The base station has a system antenna and acts as a bridge between wireless and wired networks. It is connected to a controller, (controller can be a separate device or included in the base station), which in turn is connected to the host. The controller receives and processes information it gets from the host computer and passes this information to the mobile terminals via the base station.

3.4 The RF Advantage

The advantages of a RF communication system are many. Start with the simple fact that if it is wireless, you don't have to lay cable all over your facility. Cable is expensive, less flexible than RF coverage and is prone to damage. For new facilities, implementing a wireless infrastructure may be more cost effective than running cable through industrial environments, especially if the space configuration may change to support different storage space allocation or flexible manufacturing stations.

Accessibility is a key benefit. If workers are within range of the system and they always should be if a proper site survey is performed (as explained on page 8) they are always in touch with their data. This advantage cannot be overstated. To always have your data literally at your fingertips whenever needed means there is no break in productivity and no empty or deadhead trips to a stationary terminal, docking station or dispatch location to receive pick or putaway instructions. Critical decisions can be made and action taken immediately at the point of activity. Less wasted time means you can do significantly more, faster, without adding additional employees.

Other general advantages of real-time RF communication include a significant improvement in order accuracy (>99%), the elimination of paperwork, replacement of timeconsuming batch processing by rapid real-time data processing, prompt response times and improved service levels. Complementing a real-time data collection system with automated data entry by bar code scanning or another automatic data collection technology improves the accuracy of information and eliminates the need for redundant data entry, which provides another set of time- and cost-saving advantages.

Many points in the supply chain can realize important advantages of accurate, real-time data that RF provides. Here are some examples of RF applied to a few common environments.

3.5 RF Transmitter

RF transmitters are widely used in radio frequency communications systems, such as cellular and satellite mobile phone communications devices. Such wireless communication device includes a built-in radio transceiver or is coupled to an associated radio transceiver. The RF transmitter may be part of an RF transceiver, wherein a duplexer or RF switch is placed between the RF power amplifier and the antenna, so that received communication signals from the antenna may be switched to a receive circuit. An RF transmitter includes a data modulation device, intermediate frequency circuits, and a power amplifier. The modulator modulates an input signal and converts raw data into baseband signals in accordance with the particular wireless communication standard. The intermediate frequency circuits mix the baseband signals with one or more local oscillations to produce RF signals. In order to make it possible to raise the power of the RF signals for transmission, the transmitter is provided with a power amplifier which is coupled to the modulator to amplify the modulated input signal. The radio frequency power amplifier is connected to an antenna that transmits the amplified modulated input signal. Compact RF transmitters are widely employed to transmit radiating signals for use in connection with remote signal communication systems. Compact handheld transmitters are usually battery operated and are generally required to accommodate a compact enclosure and to exhibit efficient power usage.

RF Communication
o o

Widely used, including Bluetooth, Radios, Cell phones, Satellite etc Wide range, from few meters to millions of kilometers (Can be Used to control Robots in Mars)

o o o

Does not require two devices to be in line of sight. Can cross many obstacles Circuits can be complicated and costly.

3.6 RF Receiver
In an RF receiver, an incoming RF signal is first passed through an RF bandpass filter to remove signal components outside of the frequency range of the desired signal. The resulting

filtered signal is then usually amplified by a low noise amplifier. A radio frequency receiver includes a frequency converter for converting a received radio frequency signal to an intermediate frequency (IF) signal. An IF filter is coupled to the frequency converter for limiting the IF signal to the bandwidth of a communication channel. The band -limited signal is applied to a demodulator where the signal is processed to recover the original baseband frequency signal. A low power RF receiver circuit comprises a low noise preamplifier and double-balanced mixer, using novel monolithic micro strip inductors and transformers for radio frequency IC (integrated circuit) applications using submicron bipolar CMOS process technology. RF receivers normally include a means for preventing tracking error, which is the deviation between a tuning frequency of an RF tuning circuit and a frequency of an RF signal to be converted to a desired IF signal at a mixer circuit. A direct-conversion receiver in a radio communication system is configured to have a varying gain in order to track the varying signal strength of the received RF signal. Radio frequency (RF) receivers for cellular phone base stations must provide high degrees of both selectivity and sensitivity. An important measure of a receiver's performance is its sensitivity and one means for measuring this sensitivity is to compare the measured bit error rate (BER) of a received signal with the signal to noise ratio. Antennas are provided as accessories of RF receivers in order to provide the receivers with the capability of receiving RF signals that are transmitted over the air.

3.7 How does RF communication System Work?

Imagine an RF transmitter wiggling an electron in one location. This wiggling electron causes a ripple effect, somewhat akin to dropping a pebble in a pond. The effect is an electromagnetic (EM) wave that travels out from the initial location resulting in electrons wiggling in remote locations. An RF receiver can detect this remote electron wiggling. The RF communication system then utilizes this phenomenon by wiggling electrons in a specific pattern to represent information. The receiver can make this same information available at a remote location; communicating with no wires. In most wireless systems, a designer has two overriding constraints: it must operate over a certain distance (range) and transfer a certain amount of information within a time frame (data rate). Then the economics of the system must work out (price) along with acquiring government agency approvals (regulations and licensing).

3.8 Range Determination

In order to accurately compute range it is essential to understand a few terms: dB - Decibels Decibels are logarithmic units that are often used to represent RF power. To convert from watts to dB: Power in dB = 10* (log x) where x is the power in watts. Another unit of measure that is encountered often is dBm (dB milliwatts). The conversion formula for it is Power in dBm = 10* (log x) where x is the power in milliwatts. Line-of-site (LOS) Line-of-site when speaking of RF means more than just being able to see the receiving antenna from the transmitting antenna. In, order to have true line-of-site no objects (including trees, houses or the ground) can be in the Fresnel zone. The Fresnel zone is the area around the visual line-of-sight that radio waves spread out into after they leave the antenna. This area must be clear or else signal strength will weaken. There are essentially two parameters to look at when trying to determine range. Transmit Power:- Transmit power refers to the amount of RF power that comes out of the antenna port of the radio. Transmit power is usually measured in Watts, milliwatts or dBm. Receiver sensitivity:-Receiver sensitivity refers to the minimum level signal the radio can demodulate. It is convenient to use an example with sound waves; Transmit power is how loud someone is yelling and receive sensitivity would be how soft a voice someone can hear. Transmit power and receive sensitivity together constitute what is known as link budget. The link budget is the total amount of signal attenuation you can have between the transmitter and receiver and still have communication occur. Example: Maxstream 9XStream TX Power: 20dBm Maxstream 9XStream RX Sensitivity: -110dBm Total Link budget: 130dBm.

For line-of-site situations, a mathematical formula can be used to figure out the approximate range for a given link budget. For non line-of-site applications range calculations are more complex because of the various ways the signal can be attenuated.

3.9 RF communications and data rate

Data rates are usually dictated by the system - how much data must be transferred and how often does the transfer need to take place. Lower data rates, allow the radio module to have better receive sensitivity and thus more range. In the XStream modules the 9600 baud module has 3dB more sensitivity than the 19200 baud module. This means about 30% more distance in line-of-sight conditions. Higher data rates allow the communication to take place in less time, potentially using less power to transmit.

3.10 RF Module
A RF Module is a small circuit pre built and tested. They come in Pair. One is RX or the receiver and other is a TX or Transmitter. The one we will be using is a low cost module. They have reasonable range and works very good. Typical data rate is 1000 bits per seconds.

Fig 3.1 Pin Diagrams of TX and RX

They have very low pin count. This is because they are highly modular in design. The PINs are

TX 1. Antenna 2. Vcc (Positive Supply) 3. DATA (Data Input) 4. GND

RX 5. Antenna 6. GND 7. GND 8. Vcc (Positive Supply) 9. Vcc (Positive Supply) 10. DATA 11. DATA 12. GND

How RF Module Works Working of RF Modules is simple but with a little trick. The working is shown in figure below.

Fig 3.2 Working of RF Module.

Here whatever digital data you input on "Data In" of TX is available on "Data Out" of RX. Say, if you set "data in" high, the "data out" will become high as well. But here lies the trick! The fact is that you cannot Keep Logic HIGH or LOW for a Long period of time, say for a few millisecond second. If you apply a logic low on "data in" the "data out" will become low but only for few milliseconds and it will start oscillating (become high/low repeatedly) after that. Same thing will happen if you set "data in" to high state.

Let us assume we have connected the RF modules with MCUs as shown below.

Fig 3.3RF Modules connected to USART of Microcontrollers.

When the TX unit is switched off or not transmitting data, then as I said the "data out" of RX will be oscillating high and low and as this is connected to RX of MCU's USART, the MCU#2 will be receiving garbage data. And when TX unit will send some data, MCU#2 will also be receiving them. So MCU #2 is always receiving data, even when MCU#1 is not sending anything. So there must be a mechanism to differentiate real data with garbage data.

3.11 RF Transmitter
General Description: The ST-TX01-ASK is an ASK Hybrid transmitter module. 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

Applications Wireless security systems

Car Alarm systems Remote controls. Sensor reporting Automation systems Absolute Maximum Ratings Operation Voltage 3V 5V 12V V 315MHz 4 10 16 dBm Supply current 11 20 57 Ma 434MHz 4 10 16 dBm

Fig.4.5 Interfacing TX module to a Micro controller

3.12 RF Receiver

General Description: The ST- RX04-ASK is an ASK superhetro receiver module with PLL synthesizer and crystal oscillator. The circuit shape is: PLL. Receiver Frequency: 315 / 433.92 MHZ Operation Voltage 5V IF Frequency: 500k Typical sensitivity: -105dBm Supply Current: 2.3mA

Applications: Car security system Wireless security systems Sensor reporting Automation system Remote Keyless entry

Features Low power consumption. Easy for application. Operation voltage: 5 Volts. Available frequency at : 315/434 MHz

Fig 4.6 315/434MHz ASK Receiver

Fig 4.7 Pin Diagram of Receiver


4.1 What is a System?
A systems is something that maintains its existence and functions as a whole through the interaction of its parts. E.g. Body, Mankind, Access Control, etc A system is a part of the world that a person or group of persons during some time interval and for some purpose choose to regard as a whole, consisting of interrelated components, each component characterized by properties that are selected as being relevant to the purpose.

System Constituents


We can define an embedded system as a computing device, built in to a device that is not a computer, and meant for doing specific computing tasks. An embedded system is a special-purpose computer system usually built into a Environment connected to systems through sensors , actuators and other I/O interfaces. Embedded system must meet timing & other constraints imposed on it by environment

Typical Embedded System

Technically, there are prevalent and common characteristics of embedded systems. From a programmer's perspective the following components are minimum: Central Processing Unit (CPU), Random Access Memory (RAM), Programmable Read Only Memory (PROM) or Erasable PROM (EPROM), and Input/Output (I/O) space.

Micro-processor: The CPU is a unit that centrally fetches and processes a set of general purpose instructions. The CPU instruction set includes instructions for data transfer operations, ALU operations, stack operations, I/P &O/P operations and program control sequencing and supervising operations. Any CPU must process the following basic functionality units: 1. A control unit to fetch and control the sequential processing of given commands or instruction and for communicating with the rest of the system. 2. An ALU for the arithmetic and logic operations on the bytes or words. It may be capable of processing 8,16,32or 64-bit words at an instant. 3. A microprocessor is a single VLSI chip that has a chip and may also have some other units that are additionally present and that result in faster processing of instructions.

Microcontroller A microcontroller is a single chip VLSI unit (also called microcomputer) which though having limited computational capabilities posses an enhanced I/P, O/P capabilities and a number of on-chip functional units micro-controllers are particularly suited for use in embedded systems for real time applications with on-chip program memory and devices.


REQUIRMENTS Finalize the functional requirement of the system that has to be implemented ANALYSIS Analyze the requirements and finalise the system requirements IMPLEMENTATION Based on the hardware design make the layout of the PCB and design the routing Get the PCB fabricated Mount the components on to the PCB


Use the designated tools for programming the microcontroller or processor whichever is selected Atmel Kiel 'C- compiler Uc flash programmer

Micro chip Mplab IDE ICD2 ARM-GCC,ADS

TESTING/DEBUGGING Hardware debugging Software debugging Functionality test

PACKAGING/IMPLEMENTATION Mount the module into the designed enclosure Install the designed system in the required application area

The Essence
An embedded system is a microcontroller-based, software driven, reliable, real-time control system, autonomous, or human or network interactive, operating on diverse physical variables and in diverse environments and sold into a competitive and cost conscious market.

4.4 Software design and working of embedded systems:

In the design of the software, it simply has a loop called control loop. The loop calls subroutines. Each subroutine manages a part of the hardware or software. Interrupts generally set flags, or update counters that are read by the rest of the software. A simple API disables and enables interrupts. Done right, it handles nested calls in nested subroutines, and restores the preceding interrupt state in the outermost enable. This is one of the simplest methods of creating an exokernel. There is some sort of subroutine in the loop to manage a list of software timers, using a periodic real time interrupt. Hardware events fail about
once in a trillion times. A change of state stores a different function into the pointer. The function

pointer is executed every time the loop runs. Many designers read each IO device once per loop, and storing the result so the logic acts on consistent values


5.1 Microcontroller Unit (AT89C51)

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 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 todays 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 may be 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 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.

Fig 4.8 Functional block diagram of micro controller

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. 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. 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 FowlerNordheim 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.
Features Memory Type 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 EPROM Electrically Memory EEPROMorE2PROM Electrically byte-erasable; lower reliability, Programmable Highest speed, high-power, low-density memory; limited density drives up cost High-density memory; must be exposed to Read-Only ultraviolet light for erasure

Electrically Erasable Programmable Read- higher cost, lowest density Only Memory

DRAM Dynamic Random Access Memory

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

Fig 4.10 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 ones 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 byte during fetches from external program memory and during accesses to external data memories that use 16-bit addresses (MOVX @DPTR) 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

Table 4.2 Port pins and their alternate functions

RST: Reset input. A high on this pin for two machine cycles while the oscillator is running resets the device. ALE/PROG: Address Latch Enable output pulse for latching the low byte of the address during accesses to external memory. This pin is also the program pulse input (PROG) during Flash programming. In normal operation ALE is emitted at a constant rate of 1/6the oscillator frequency, and may be used for external timing or clocking purposes. . 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 12volt programming enable voltage (VPP) during Flash programming, for parts that require 12-volt VPP. XTAL1: Input to the inverting oscillator amplifier and input to the internal clock operating circuit.

XTAL2: It is the Output from the inverting oscillator amplifier.

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 8bit 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 8bits, except DPTR and the program counter. arithmetic and logic instructions. The accumulator, register A, is used for all

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

file for an assembly

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

Table 4.3Special Function Registers with Address Symbol ACC B PSW SP DPTR DPL DPH P0 P1 P2 P3 IP IE TMOD TCON T2CON T2MOD TH0 TL0 Name Accumulator B register Program status word Stack pointer Data pointer 2 bytes Low byte High byte Port0 Port1 Port2 Port3 Interrupt priority control Interrupt enable control Timer/counter mode control Timer/counter control Timer/counter 2 control Timer/counter mode2 control Timer/counter 0high byte Timer/counter 0 low byte 82H 83H 80H 90H 0A0H 0B0H 0B8H 0A8H 89H 88H 0C8H 0C9H 8CH 8AH Address 0E0H 0F0H 0D0H 81H


Timer/counter 1 high byte Timer/counter 1 low byte Timer/counter 2 high byte Timer/counter 2 low byte


RCAP2H T/C 2 capture register high byte 0CBH RCAP2L SCON SBUF PCON T/C 2 capture register low byte Serial control Serial data buffer Power control 0CAH 98H 99H 87H



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.
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)

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. 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) 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.. This is again not possible with the polling method. The most important reason that the interrupt method is preferable is that the polling method wastes much of the

microcontrollers time by polling devices that do not need service. So, in order to avoid tying down the microcontroller, interrupts are used.

5.2 Encoder (HT12E)

The 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.

Fig 4.13 Pin diagram of Encoder

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

Table 4.9 Pin Description of Encoder

Functional Description
Operation The encoders begin a 4-word transmission cycle upon receipt of a transmission enable (TE for the HT12E, active low). This cycle will repeat itself as long as the transmission enable TE is held low. Once the transmission enable returns high the encoder output completes its final cycle and then stops as shown below

Transmission Enable For the HT12E encoders, applying a low signal to the TE pin enables transmission.

Fig 4.14 Transmission timing Diagram Address/Data Programming (Preset) The status of each address/data pin can be individually pre-set to logic _high_ or _low_. If a transmission-enable signal is applied, the encoder scans and transmits the status of the 12 bits of address/data serially in the order A0 to AD11 for the HT12E encoder During information transmission these bits are transmitted with a preceding synchronization bit. If the trigger signal is not applied, the chip enters the standby mode and consumes a reduced current of less than 1_A for a supply voltage of 5V. Usual applications preset the address pins with individual security codes using DIPswitches or PCB wiring, while the data is selected by push buttons or electronic switches.

Fig 4.15 Flow chart of encoder

Electrical characteristics

5.3 Decoder (HT12D)

General Description The decoders are a series of CMOS LSIs for remote Control system applications. 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 programmed encoders. Which 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. of decoders are capable of decoding Information that consists of N bits of address and 12_NBits of data of this series, the HT12D is arranged to provide8 address bits and 4 data bits, and HT12F is used to Decode 12 bits of address information

Fig 4.16 Pin Diagram of Decoder

PIN DESCRIPTION OF DECODER Table 4.10 Pin Description of Decocder

Functional Description: Operation: 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 transmissionis valid. Otherwise it is always low.

Decoder timing

5.4 Led matrix (5x8)

General Description The CP23058 SR2/C/A is a 1.4 inch (35.76mm)