Top Banner
WIRELESS ACCIDENT INTIMATING SYSTEM USING RF The main aim of this project is to implement a system to identify accident by using wireless communication technology RF. The purpose of the project is to get information about the crashing of particular vehicle which passing through a remote area, and using sensor and transmitting a message to the concerned receiver section by using RF communication. In present days Electronic communication takes an important role. In this project we are sending information about vehicle accident by using RF communication with the help of Microcontroller. In our project we have two sections; at first section means the vehicle side, we are going to use the RF Transmitter to transmit the accident information. Accident of a vehicle is identified by using a sensor informs of a vehicle. Whenever the accident will happen the information will be sent to the receiver section .In this section we are using a H-bridge circuit to drive the motor. And second section is the receiver section; this is the section where we will get the information about accident of a vehicle. Here the accident information displayed on lcd and a buzzer at this section will give a sound whenever accident occurs. In these two sections we using microcontroller which process the data and it will send to the other section by RF communication. Every system is automated in order to face new challenges in the present day situation. Automated systems have less manual
104

14.Wireless Accident Intimating System Using RF

Aug 23, 2014

Download

Documents

Sai Kiran
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 14.Wireless Accident Intimating System Using RF

WIRELESS ACCIDENT INTIMATING SYSTEM USING

RF The main aim of this project is to implement a system to identify accident by using

wireless communication technology RF. The purpose of the project is to get information about

the crashing of particular vehicle which passing through a remote area, and using sensor and

transmitting a message to the concerned receiver section by using RF communication.

In present days Electronic communication takes an important role. In this project we are

sending information about vehicle accident by using RF communication with the help of

Microcontroller.

In our project we have two sections; at first section means the vehicle side, we are going to

use the RF Transmitter to transmit the accident information. Accident of a vehicle is identified by

using a sensor informs of a vehicle. Whenever the accident will happen the information will be sent to

the receiver section .In this section we are using a H-bridge circuit to drive the motor. And second

section is the receiver section; this is the section where we will get the information about accident of a

vehicle. Here the accident information displayed on lcd and a buzzer at this section will give a sound

whenever accident occurs. In these two sections we using microcontroller which process the data and

it will send to the other section by RF communication.

Every system is automated in order to face new challenges in the present day situation.

Automated systems have less manual operations, so that the flexibility, reliabilities are high and

accurate. Hence every field prefers automated control systems. Especially in the field of

electronics automated systems are doing better performance. Any automated system will work

effectively if it access wirelessly. Here in this project we are going to use RF communication for

remote accessing of automated system. Probably the most useful thing to know about the RF

communication is that it is an international standard communication.

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.

METHODOLOGY:

Page 2: 14.Wireless Accident Intimating System Using RF

BLOCK DIAGRAM:SECTION 1:

SECTION2:

MICRO CONTROLLE

R

Power supply

H-BrideMotor

HT 12E Encoder

Accident detection ckt

MICRO CONTROLLE

R

Power supply

HT12Ddecoder

RFRX

LCD

BUZZER

RF Tx

Page 3: 14.Wireless Accident Intimating System Using RF

MICRO CONTROLLER 89C51INTRODUCTION

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

AT89C51 is 8-bit micro controller, which 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

Page 4: 14.Wireless Accident Intimating System Using RF

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:

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 3: Functional block diagram of micro controller

Types of memory:

Page 5: 14.Wireless Accident Intimating System Using RF

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 is a nonvolatile memory using NOR technology, which allows the user to

electrically program and erase information. 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.

Page 6: 14.Wireless Accident Intimating System Using RF

Fig 5: - 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 1sare 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

Page 7: 14.Wireless Accident Intimating System Using RF

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 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:

Tab 6.2.1 Port pins and their alternate functions

RST:

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

resets the device.

ALE/PROG:

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

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

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

Page 8: 14.Wireless Accident Intimating System Using RF

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 weakly pulled

high. Setting the ALE-disable bit has no effect if the micro controller is in external execution

mode.

PSEN:

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

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

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

memory.

EA/VPP:

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

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

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

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

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

VPP.

XTAL1:

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

XTAL2:

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

Page 9: 14.Wireless Accident Intimating System Using RF

Fig 6.1 Oscillator Connections Fig 6.2 External Clock Drive Configuration

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.

D7 D6 D5 D4 D3 D2 D1 D0

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

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

except DPTR and the program counter. The accumulator, register A, is used for all arithmetic

and logic instructions.

SFRs (Special Function Registers)

In the 8051, registers A, B, PSW and DPTR are part of the group of registers commonly

referred to as SFR (special function registers). 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 note 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.

Page 10: 14.Wireless Accident Intimating System Using RF

Symbol Name Address

ACC Accumulator 0E0H

B B register 0F0H

PSW Program status word 0D0H

SP Stack pointer 81H

DPTR Data pointer 2 bytes

DPL Low byte 82H

DPH High byte 83H

P0 Port0 80H

P1 Port1 90H

P2 Port2 0A0H

P3 Port3 0B0H

IP Interrupt priority control 0B8H

IE Interrupt enable control 0A8H

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

Page 11: 14.Wireless Accident Intimating System Using RF

Table: 8051 Special function register Address

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

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

Registers (R0-R7)

Fig7: Memory organization of RAM

Page 12: 14.Wireless Accident Intimating System Using RF

This is a common name for the total 8 general purpose registers (R0, R1, 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.

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.

Default register bank

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 programming the 8051.

Page 13: 14.Wireless Accident Intimating System Using RF

FIG 8: RAM Allocation in the 8051

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.

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

that it cannot 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 select 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.

Page 14: 14.Wireless Accident Intimating System Using RF

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.

SP Register (Stack Pointer)

The stack is a section of RAM used by the CPU to store information temporily. 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

Page 15: 14.Wireless Accident Intimating System Using RF

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.

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.

TIMERS

On-chip timing/counting facility has proved the capabilities of the micro controller 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 micro controller.

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

Page 16: 14.Wireless Accident Intimating System Using RF

byte).These register can be accessed like any other register, such as A,B,R0,R1,R2,etc.

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 0 and 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.

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

M1 M0 MODE Operating Mode

0 0 0 13-bit timer mode

8-bit timer/counter THx with TLx as

5-bit prescaler.

0 1 1 16-bit timer mode

16-bit timer/counters THx with TLx are

Page 17: 14.Wireless Accident Intimating System Using RF

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: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

Page 18: 14.Wireless Accident Intimating System Using RF

Asynchronous serial data communication is widely used for character-oriented

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

asynchronous method, each character is placed between start and stop bits. This is called

framing. In the data framing for asynchronous communications, the data, such as ASCII

characters, are packed between a start bit and a stop bit. The start bit is always one bit, but the

stop bit can be one or two bits. The start bit is always a 0 (low) and the stop bit (s) is 1 (high).

Data transfer rate

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

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

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

as the number of signal changes per second. In modems a single change of signal, sometimes

transfers several bits of data. As far as the conductor wire is concerned, the baud rate and bps

are the same, and for this reason we use the bps and baud interchangeably.

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 micro

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

Page 19: 14.Wireless Accident Intimating System Using RF

RS232 pins

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

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

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

uses 9 pins only, as shown in table.

DB-9 pin connector

1 2 3 4 5

6 7 8 9

Fig 10: DB-9 pin connector

(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:

Page 20: 14.Wireless Accident Intimating System Using RF

TXD: carries data from DTE to the DCE.

RXD: carries data from DCE to the DTE

SG: signal ground

8051 connection to RS232The 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.

Since the RS232 is not compatible with today’s microprocessors and microcontrollers,

we need a line driver (voltage converter) to convert the RS232’s signals to TTL voltage levels

that will be acceptable to the 8051’s TXD and RXD pins. One example of such a converter is

MAX232 from Maxim Corp. The MAX232 converts from RS232 voltage levels to TTL voltage

levels, and vice versa.

Fig 11: Interfacing of MAX-232 to controller

INTERRUPTSA single micro controller can serve several devices. There are two ways to do that: INTERRUPTS or POLLING.

INTERRUPTS vs POLLING:

Page 21: 14.Wireless Accident Intimating System Using RF

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

same time, of course); each device can get the attention of the micro controller 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 micro controller can also

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

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

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

service. So, in order to avoid tying down the micro controller, 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 micro controller 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 ISRs is called the interrupt vector table.

Shown below:

Interrupt Vector Table for the 8051:

INTERRUPT ROM

LOCATION (HEX) PIN FLAG CLEARING

Reset 0000 9 Auto

External hardware

Interrupt 0 0003 P3.2 (12) Auto

Timers 0 interrupt (TF0) 000B Auto

External hardware 0013 P3.3 (13) Auto

Interrupt 1(INT1)

Timers 1 interrupt (TF1) 001B Auto

Serial COM (RI and TI) 0023 Programmer

Clears it

Page 22: 14.Wireless Accident Intimating System Using RF

Six Interrupts in the 8051:

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

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

allocated as above.

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

power-up reset.

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

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

respectively.

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

and 13(P3.3) in port 3 is 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.

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 ports interrupt.

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.

EA -- ET2 ES ET1 EX1 ET0 EX0

Page 23: 14.Wireless Accident Intimating System Using RF

EX0 IE.0 Enables or disables external interrupt 0.

Power supply

The power supply 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:

Fig 22: Functional Block Diagram of Power supply

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

Page 24: 14.Wireless Accident Intimating System Using RF

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)

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.

Fig 23: An Electrical Transformer

Turns ratio = Vp/ VS = Np/NS

Power Out= Power InVS X IS=VP X IP

Vp = primary (input) voltage

Np = number of turns on primary coil

Ip  = primary (input) current    

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. Center tap full wave rectifier.2. Bridge type full bridge rectifier.

Page 25: 14.Wireless Accident Intimating System Using RF

Comparison of rectifier circuits:

Parameter Type of Rectifier

Half wave Full wave BridgeNumber of diodes

1 2

3

PIV of diodes Vm

2Vm

Vm

D.C output voltage Vm/

2Vm/

2Vm/

Vdc, at no-load

0.318Vm

0.636Vm 0.636Vm

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 comparisons we came to know that full wave bridge rectifier as more advantages

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

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

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

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

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

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

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

Page 26: 14.Wireless Accident Intimating System Using RF

Fig(24.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(24.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.

Fig(24.C)

Page 27: 14.Wireless Accident Intimating System Using RF

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)

(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,

Page 28: 14.Wireless Accident Intimating System Using RF

r = ripple factor,

Rl = load resistance

Note: In our circuit we are using 1000microfarads.

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.

Fig 25: 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,

Page 29: 14.Wireless Accident Intimating System Using RF

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

RFID Libraries began using RFID systems to replace their electro-magnetic and bar code

systems in the late 1990s. Approximately 130 libraries in North America are using RFID

systems, but hundreds more are considering it (Molnar, Wagner, 2004). The primary cost

impediment is the price of each individual tag. Today, tags cost approximately seventy-five cents

but prices continue to fall.

However, privacy concerns associated with item-level tagging is another significant

impediment to library use of RFID tags. The problem with today’s library RFID systems is that

the tags contain static information that can be relatively easily read by unauthorized tag readers.

This allows for privacy issues described as “tracking” and “hot listing.”

Tracking refers to the ability track the movement of a book (or person carrying the book)

by “correlating multiple observations of the book’s bar code” (Molnar and Wagner, 2004) or

RFID tag. Hot listing refers to process of building a database of books and their associated tag

numbers (the hotlist) and then using an unauthorized reader to determine who is checking out

items on the hotlist.

Current standards (ISO 15693) apply to container-level tagging used in supply chain

applications, and do not address problems of tracking and hot listing. Next generation tags (ISO

18000) are designed for item-level tagging. The newer tags are capable of resolving many of

privacy problems of today’s tags. However, no library RFID products are currently available

using the new standard.

Page 30: 14.Wireless Accident Intimating System Using RF

Libraries implementing RFID systems today are using tags unsuited for item-level

tagging and the cost of upgrading to newer tags when they become available is well beyond the

reach of most library budgets.

This chapter addresses many of the specific issues and privacy concerns associated with

RFID technology in libraries, and suggest best RFID-implementation practices for librarians.

Finally, we explore the larger responsibilities of libraries in regards to RFID, public policy,

privacy and the changing world of technology.

RFID System Components and Their Effects in Libraries

An RFID system consists of three components: the tag, the reader and the application that

makes use of the data the reader reads on the tag.

Tag

Also known as a transponder, the tag consists of an antenna and silicon chip

encapsulated in glass or plastic (Want, 2004). The tags contain a very small amount of

information. For example, many tags contain only a bar code number and security bit (128 bits)

but some tags contain as much as 1,024 bits (Boss, 2003). Tags range in size from the size of a

grain of rice to two inch squares depending on their application. Researchers are now working on

tags as small as a speck of dust (Cavoukian, February 2004).

Tags can be passive, active or semi-active. An active tag contains some type of power

source on the tag, whereas the passive tags rely on the radio signal sent by the reader for power.

Most RFID applications today utilize passive tags because they are so much cheaper to

manufacture. However, the lack of power poses significant restrictions on the tag’s ability to

perform computations and communicate with the reader. It must be within range of the reader to

function.

Semi-active tags are not yet commercially available but will use a battery to run the

microchip’s circuitry but not to communicate with the reader. Semi-active tags rely on capacitive

coupling and carbon ink for the antennas rather than the traditional inductive coupling and silver

or aluminum antenna used in passive tags (Collins, 2004).

Tags operate over a range of frequencies. Passive tags can be low frequency (LF) or high

frequency (HF). LF tags operate at 125 KHz, are relatively expensive, and have a low read range

(less than 0.5 meters). HF tags operate at 13.56 MHz, have a longer read range (approximately 1

Page 31: 14.Wireless Accident Intimating System Using RF

meter) and are less expensive that LF tags. Most library applications use HF tags (Allied

Business Intelligence [ABI], 2002).

Tags can be Read Only (RO), Write Once Read Many (WORM) or Read Write (RW)

(Boss, 2003). RO tags are preprogrammed with a unique number like a serial number (or perhaps

eventually an ISBN number). WORM tags are preprogrammed but additional information can be

added if space permits. RW tags can be updated dynamically. Sometimes space on the RW tags

is locked where permanent data is kept and the rest of the tag is writable. Most library

applications use RW tags (Ward, 2004).

Readers

According to Sarma et al. (2002), RFID readers or receivers are composed of a radio

frequency module, a control unit and an antenna to interrogate electronic tags via radio

frequency (RF) communication. Many also include an interface that communicates with an

application (such as the library’s circulation system).

Readers can be hand-held or mounted in strategic locations so as to ensure they are able

to read the tags as the tags pass through an “interrogation zone.” The interrogation zone is the

area within which a reader can read the tag. The size of the interrogation zone varies depending

on the type of tag and the power of the reader. Passive tags, with shorter read ranges, tend to

operate within a smaller interrogation zone (Sarma, et al., 2002). Most RFID readers in libraries

can read tags up to 16 inches away (Boss, 2003).

Readers in library RFID systems are used in the following eight ways (Boss, 2003):

1. Conversion station – Where library data is written to the tags

2. Staff workstation at circulation – Used to check-in and check-out materials

3. Patron self check-out station – Used to check-out books without staff assistance

4. Exit sensors – Verify that all books leaving the library have been checked out

5. Patron self check-in station – Used to check in books without staff assistance

6. Bookdrop reader – Checks in books when patrons drop them in the bookdrop

7. Sorter – Automated system for returning books to proper area of library

8. Portable reader – Hand-held reader for inventorying and verifying that items are shelved

correctly.

Page 32: 14.Wireless Accident Intimating System Using RF

Application

Once the reader reads the tag, the information is passed on to an “application” that makes use of

the information. Examples of applications and their uses fall into at least six categories:

1. Access control (keyless entry)

2. Asset tracking (self check-in and self check-out)

3. Asset tagging and identification (inventory and shelving)

4. Authentication (counterfeit prevention)

5. Point-of-sale (POS) (FastTrak)

6. Supply chain management (SCM) (tracking of containers, pallets or individual items from

manufacturer to retailer)

RFID is most pervasive in the SCM market. ABI (2002) reports that by 2007, SCM and

asset management applications will account for more than 70% of all transponder (tag)

shipments. In the SCM market, items are tracked by pallet or container, not by individual item.

Once the individual items are removed from the pallet, they are no longer tagged.

In contrast, library applications require that each individual item contain a tag that

uniquely identifies the item (book, CD, DVD, etc). The tag contains some amount of static data

(bar code number, manufacturer ID number) that is permanently affixed to the library item. This

information is conveyed, via reader, to the library’s security, circulation and inventory

applications.

Liquid crystal display

Liquid crystal displays (LCDs) have materials, which combine the properties of both

liquids and crystals. Rather than having a melting point, they have a temperature range within

which the molecules are almost as mobile as they would be in a liquid, but are grouped together

in an ordered form similar to a crystal.

An LCD consists of two glass panels, with the liquid crystal material sand witched in

between them. The inner surface of the glass plates are coated with transparent electrodes which

Page 33: 14.Wireless Accident Intimating System Using RF

define the character, symbols or patterns to be displayed polymeric layers are present in between

the electrodes and the liquid crystal, which makes the liquid crystal molecules to maintain a

defined orientation angle.

One each polarisers are pasted outside the two glass panels. These polarisers would rotate

the light rays passing through them to a definite angle, in a particular direction.

When the LCD is in the off state, light rays are rotated by the two polarisers and the

liquid crystal, such that the light rays come out of the LCD without any orientation, and hence

the LCD appears transparent.

When sufficient voltage is applied to the electrodes, the liquid crystal molecules would be

aligned in a specific direction. The light rays passing through the LCD would be rotated by the

polarisers, which would result in activating/ highlighting the desired characters.

The LCD’s are lightweight with only a few millimeters thickness. Since the LCD’s

consume less power, they are compatible with low power electronic circuits, and can be powered

for long durations.

The LCD’s don’t generate light and so light is needed to read the display. By using

backlighting, reading is possible in the dark. The LCD’s have long life and a wide operating

temperature range.

Changing the display size or the layout size is relatively simple which makes the LCD’s

more customers friendly.

The LCDs used exclusively in watches, calculators and measuring instruments are the

simple seven-segment displays, having a limited amount of numeric data. The recent advances in

technology have resulted in better legibility, more information displaying capability and a wider

temperature range. These have resulted in the LCDs being extensively used in

telecommunications and entertainment electronics. The LCDs have even started replacing the

cathode ray tubes (CRTs) used for the display of text and graphics, and also in small TV

applications.

This section describes the operation modes of LCD’s then describe how to program and

interface an LCD to 8051 using Assembly and C.

Page 34: 14.Wireless Accident Intimating System Using RF

LCD operationIn recent years the LCD is finding widespread use replacing LEDs(seven-segment LEDs

or other multisegment LEDs).This is due to the following reasons:

1. The declining prices of LCDs.

2. The ability to display numbers, characters and graphics. This is in

contract to LEDs, which are limited to numbers and a few characters.

3. Incorporation of a refreshing controller into the LCD, there by

relieving the CPU of the task of refreshing the LCD. In the contrast,

the LED must be refreshed by the CPU to keep displaying the data.

4. Ease of programming for characters and graphics.

LCD pin description The LCD discussed in this section has 14 pins. The function of each pins is given in

table.

TABLE 1:Pin description for LCD:

Pin symbol I/O Description

1 Vss -- Ground

2 Vcc -- +5V power supply

3 VEE -- Power supply to

control contrast

4 RS I RS=0 to select

command register

RS=1 to select

data register

5 R/W I R/W=0 for write

R/W=1 for read

6 E I/O Enable

7 DB0 I/O The 8-bit data bus

8 DB1 I/O The 8-bit data bus

9 DB2 I/O The 8-bit data bus

Page 35: 14.Wireless Accident Intimating System Using RF

10 DB3 I/O The 8-bit data bus

11 DB4 I/O The 8-bit data bus

12 DB5 I/O The 8-bit data bus

13 DB6 I/O The 8-bit data bus

14 DB7 I/O The 8-bit data bus

TABLE 2: LCD Command Codes Code

(hex)

Command to LCD Instruction

Register

1 Clear display screen

2 Return home

4 Decrement cursor

6 Increment cursor

5 Shift display right

7 Shift display left

8 Display off, cursor off

A Display off, cursor on

C Display on, cursor off

E Display on, cursor on

F Display on, cursor blinking

10 Shift cursor position to left

14 Shift cursor position to right

18 Shift the entire display to the left

1C Shift the entire display to the right

80 Force cursor to beginning of 1st line

C0 Force cursor to beginning of 2nd line

38 2 lines and 5x7 matrix

Uses:

Page 36: 14.Wireless Accident Intimating System Using RF

The LCDs used exclusively in watches, calculators and measuring instruments

are the simple seven-segment displays, having a limited amount of numeric data. The recent

advances in technology have resulted in better legibility, more information displaying capability

and a wider temperature range. These have resulted in the LCDs being extensively used in

telecommunications and entertainment electronics. The LCDs have even started replacing the

cathode ray tubes (CRTs) used for the display of text and graphics, and also in small TV

applications.

LCD INTERFACING

Sending commands and data to LCDs with a time delay:

Fig 21: Interfacing of LCD to a micro controllerTo send any command from table 2 to the LCD, make pin RS=0.

for data, make RS=1.Then send a high –to-low pulse to the E pin to enable the internal latch of the LCD.

Page 37: 14.Wireless Accident Intimating System Using RF

IGNITION SWITCH

The term ignition switch is often used interchangeably to refer to two very different parts: the lock cylinder into which the key is inserted, and the electronic switch that sits just behind the lock cylinder. In some cars, these two parts are combined into one unit, but in other cars they remain separate. It is advisable to check your car's shop manual before attempting to purchase an ignition switch, to ensure that you buy the correct part.

In order to start a car, the engine must be turning. Therefore, in the days before ignition switches, car engines had to be turned with a crank on the front of the car in order to start them. The starter performs this same operation by turning the engine's flywheel, a large, flat disc with teeth on the outer edge. The starter has a gear that engages these teeth when it is powered, rapidly and briefly turning the flywheel, and thus the engine.

The ignition switch generally has four positions: off, accessories, on, and start. Some cars have two off positions, off and lock; one turns off the car, and the other allows the key to be removed from the ignition. When the key is turned to the accessories position, certain accessories, such as the radio, are powered; however, accessories that use too much battery power, such as window motors, remain off in order to prevent the car's battery from being drained. The accessories position uses the least amount of battery power when the engine is not running, which is why drive-in movie theaters recommend that the car be left in the accessories mode during the movie.

The on position turns on all of the car's systems, including systems such as the fuel pump, because this is the position the ignition switch remains in while the car's engine is running. The start position is spring loaded so that the ignition switch will not remain there when the key is released. When the key is inserted into the ignition switch lock cylinder and turned to the start position, the starter engages; when the key is released, it returns to the on position, cutting power to the starter. This is because the engine runs at speeds that the starter cannot match, meaning that the starter gear must be retracted once the engine is running on its own.

Either the ignition switch or the lock cylinder may fail in a car, but both circumstances have very different symptoms. When the ignition switch fails, generally the electrical wiring or the plastic housing develops problems. The car may not turn on and/or start when this happens. Also, the spring-loaded start position could malfunction, in which case the starter will not engage unless the key is manually turned back to the on position.

When the lock cylinder malfunctions, however, the operation of the key itself will become problematic. If the tumblers become stripped, the lock cylinder may be able to turn with any key, or you may be able to remove the key when the car is on. If the tumblers begin to shift, the lock cylinder may not turn. Sometimes the key can be wiggled until the lock cylinder turns, but it is important to remember that this is only a temporary fix

MAX-232:

Page 38: 14.Wireless Accident Intimating System Using RF

The MAX232 from Maxim was the first IC which in one package contains the necessary drivers (two) and receivers (also two), to adapt the RS-232 signal voltage levels to TTL logic. It became popular, because it just needs one voltage (+5V) and generates the necessary RS-232 voltage levels (approx. -10V and +10V) internally. This greatly simplified the design of circuitry. Circuitry designers no longer need to design and build a power supply with three voltages (e.g. -12V, +5V, and +12V), but could just provide one +5V power supply, e.g. with the help of a simple 78x05 voltage converter.

The MAX232 has a successor, the MAX232A. The ICs are almost identical, however, the MAX232A is much more often used (and easier to get) than the original MAX232, and the MAX232A only needs external capacitors 1/10th the capacity of what the original MAX232 needs.

It should be noted that the MAX 232(A) is just a driver/receiver. It does not generate the necessary RS-232 sequence of marks and spaces with the right timing, it does not decode the RS-232 signal, it does not provide a serial/parallel conversion. All it does is to convert signal voltage levels. Generating serial data with the right timing and decoding serial data has to be done by additional circuitry, e.g. by a 16550 UART or one of these small micro controllers (e.g. Atmel AVR, Microchip PIC) getting more and more popular.

The MAX232 and MAX232A were once rather expensive ICs, but today they are cheap. It has also helped that many companies now produce clones (ie. Sipex). These clones sometimes need different external circuitry, e.g. the capacities of the external capacitors vary. It is recommended to check the data sheet of the particular manufacturer of an IC instead of relying on Maxim's original data sheet.

The original manufacturer (and now some clone manufacturers, too) offers a large series of similar ICs, with different numbers of receivers and drivers, voltages, built-in or external capacitors, etc. E.g. The MAX232 and MAX232A need external capacitors for the internal voltage pump, while the MAX233 has these capacitors built-in. The MAX233 is also between three and ten times more expensive in electronic shops than the MAX232A because of its internal capacitors. It is also more difficult to get the MAX233 than the garden variety MAX232A.

A Typical Application

The MAX 232(A) has two receivers (converts from RS-232 to TTL voltage levels) and two drivers (converts from TTL logic to RS-232 voltage levels). This means only two of the RS-232 signals can be converted in each direction. The old MC1488/1498 combo provided four drivers and receivers.

Typically a pair of a driver/receiver of the MAX232 is used for

TX and RX

And the second one for

Page 39: 14.Wireless Accident Intimating System Using RF

CTS and RTS.

There are not enough drivers/receivers in the MAX232 to also connect the DTR, DSR, and DCD signals. Usually these signals can be omitted when e.g. communicating with a PC's serial interface. If the DTE really requires these signals either a second MAX232 is needed, or some other IC from the MAX232 family can be used (if it can be found in consumer electronic shops at all). An alternative for DTR/DSR is also given below.

Maxim's data sheet explains the MAX232 family in great detail, including the pin configuration and how to connect such an IC to external circuitry. This information can be used as-is in own design to get a working RS-232 interface. Maxim's data just misses one critical piece of information: How exactly to connect the RS-232 signals to the IC. So here is one possible example:

MAX232 to RS232 DB9 Connection as a DCE

MAX232 Pin Nbr. MAX232 Pin Name Signal Voltage DB9 Pin

7 T2out CTS RS-232 7

8 R2in RTS RS-232 8

9 R2out RTS TTL n/a

10 T2in CTS TTL n/a

11 T1in TX TTL n/a

12 R1out RX TTL n/a

13 R1in TX RS-232 3

14 T1out RX RS-232 2

15 GND GND 0 5

In addition one can directly wire DTR (DB9 pin 4) to DSR (DB9 pin 6) without going through any circuitry. This gives automatic (brain dead) DSR acknowledgment of an incoming DTR signal.

Sometimes pin 6 of the MAX232 is hard wired to DCD (DB9 pin 1). This is not recommended. Pin 6 is the raw output of the voltage pump and inverter for the -10V voltage. Drawing currents from the pin leads to a rapid breakdown of the voltage, and as a consequence to a breakdown of the output voltage of the two RS-232 drivers. It is better to use software which doesn't care about DCD, but does hardware-handshaking via CTS/RTS only.

Page 40: 14.Wireless Accident Intimating System Using RF

The circuitry is completed by connecting five capacitors to the IC as it follows. The MAX232 needs 1.0µF capacitors, the MAX232A needs 0.1µF capacitors. MAX232 clones show similar differences. It is recommended to consult the corresponding data sheet. At least 16V capacitor types should be used. If electrolytic or tantalic capacitors are used, the polarity has to be observed. The first pin as listed in the following table is always where the plus pole of the capacitor should be connected to.

MAX232(A) external Capacitors

Capacitor + Pin - Pin Remark

C1 1 3

C2 4 5

C3 2 16

C4 GND 6 This looks non-intuitive, but because pin 6 ison -10V, GND gets the + connector, and not the -

C5 16 GND

The 5V power supply is connected to

+5V: Pin 16 GND: Pin 15

Features

Meet or Exceed TIA/EIA-232-F and ITURecommendation V.28 Operate With Single 5-V Power Supply Operate Up to 120 kbit/s Two Drivers and Two Receivers 30-V Input Levels Low Supply Current . . . 8 mA Typical Designed to be Interchangeable WithMaxim MAX232 ESD Protection Exceeds JESD 22

2000-V Human-Body Model (A114-A)

ApplicationsTIA/EIA-232-FBattery-Powered SystemsTerminals

Page 41: 14.Wireless Accident Intimating System Using RF

ModemsComputers

Description/ordering information

The MAX232 is a dual driver/receiver that includes a capacitive voltage generator to supply EIA-232 voltage levels from a single 5-V supply. Each receiver converts EIA-232 inputs to 5-V TTL/CMOS levels. These receivers have a typical threshold of 1.3 V and a typical hysteresis of 0.5 V, and can accept 30-V inputs. Each driver converts TTL/CMOS input levels into EIA-232 levels. The driver, receiver, and voltage-generator functions are available as cells in the Texas Instruments Lin ASIClibrary.

Page 42: 14.Wireless Accident Intimating System Using RF
Page 43: 14.Wireless Accident Intimating System Using RF
Page 44: 14.Wireless Accident Intimating System Using RF
Page 45: 14.Wireless Accident Intimating System Using RF
Page 46: 14.Wireless Accident Intimating System Using RF

H-BRIDGE:

Page 47: 14.Wireless Accident Intimating System Using RF

DC motors are typically controlled by using a transistor configuration

called an "H-bridge". This consists of a minimum of four mechanical or solid-state switches,

such as two NPN and two PNP transistors. One NPN and one PNP transistor are activated at a

time. Both NPN and PNP transistors can be activated to cause a short across the motor terminals,

which can be useful for slowing down the motor from the back EMF it creates.

Basic Theory

H-bridge. Sometimes called a "full bridge" the H-bridge is so named because it has four

switching elements at the "corners" of the H and the motor forms the cross bar.

Page 48: 14.Wireless Accident Intimating System Using RF

The key fact to note is that there are, in theory, four switching elements within the bridge. These

four elements are often called, high side left, high side right, low side right, and low side left

(when traversing in clockwise order).

The switches are turned on in pairs, either high left and lower right, or lower left and high right,

but never both switches on the same "side" of the bridge. If both switches on one side of a bridge

are turned on it creates a short circuit between the battery plus and battery minus terminals. If the

bridge is sufficiently powerful it will absorb that load and your batteries will simply drain

quickly. Usually however the switches in question melt.

To power the motor, you turn on two switches that are diagonally opposed. In the picture to the

right, imagine that the high side left and low side right switches are turned on.

The current flows and the motor begins to turn in a "positive" direction. Turn on the high side

right and low side left switches, then Current flows the other direction through the motor and the

motor turns in the opposite direction.

Actually it is just that simple, the tricky part comes in when you decide what to use for switches.

Anything that can carry a current will work, from four SPST switches, one DPDT switch, relays,

transistors, to enhancement mode power MOSFETs.

One more topic in the basic theory section, quadrants. If each switch can be controlled

independently then you can do some interesting things with the bridge, some folks call such a

bridge a "four quadrant device" (4QD get it?). If you built it out of a single DPDT relay, you can

really only control forward or reverse. You can build a small truth table that tells you for each of

the switch's states, what the bridge will do. As each switch has one of two states, and there are

four switches, there are 16 possible states. However, since any state that turns both switches on

one side on is "bad" (smoke issues forth: P), there are in fact only four useful states (the four

quadrants) where the transistors are turned on.

High Side Left High Side Right Low Side Left Low Side Right Quadrant Description

Page 49: 14.Wireless Accident Intimating System Using RF

On Off Off On Forward Running

Off On On Off Backward Running

On On Off Off Braking

Off Off On On Braking

The last two rows describe a maneuver where you "short circuit" the motor which causes the

motors generator effect to work against itself. The turning motor generates a voltage which tries

to force the motor to turn the opposite direction. This causes the motor to rapidly stop spinning

and is called "braking" on a lot of H-bridge designs.

Of course there is also the state where all the transistors are turned off. In this case the motor

coasts freely if it was spinning and does nothing if it was doing nothing.

Implementation

1. Using Relays:

A simple implementation of an H Bridge using four SPST relays is shown. Terminal A is

High Side Left, Terminal B is High Side Right, Terminal C is Low Side Left and

Terminal D is Low Side Right. The logic followed is according to the table above.

Warning: Never turn on A and C or B and D at the same time. This will lead to a short

circuit of the battery and will lead to failure of the relays due to the large current.

Page 50: 14.Wireless Accident Intimating System Using RF

2. Using Transistors:

We can better control our motor by using transistors or Field Effect Transistors (FETs).

Most of what we have discussed about the relays H-Bridge is true of these circuits. See

the diagram showing how they are connected. You should add diodes across the

transistors to catch the back voltage that is generated by the motor's coil when the power

is switched on and off. This fly back voltage can be many times higher than the supply

voltage!

For information on building an H-Bridge using Transistors, have a look here.

Warning: If you don't use diodes, you could burn out your transistors. Also the same

warning as in the diode case. Don't turn on A and C or B and D at the same time.

Page 51: 14.Wireless Accident Intimating System Using RF

Transistors, being a semiconductor device, will have some resistance, which causes them

to get hot when conducting much current. This is called not being able to sink or source

very much power, i.e.: Not able to provide much current from ground or from plus

voltage.

Mosfets are much more efficient, they can provide much more current and not get as hot.

They usually have the fly back diodes built in so you don't need the diodes anymore. This

helps guard against fly back voltage frying your ICs.

To use Mosfets in an H-Bridge, you need P-Channel Mosfets on top because they can

"source" power, and N-Channel Mosfets on the bottom because then can "sink" power.

It is important that the four quadrants of the H-Bridge circuits be turned on and off

properly. When there is a path between the positive and ground side of the H-Bridge,

other than through the motor, a condition exists called "shoot through". This is basically a

direct short of the power supply and can cause semiconductors to become ballistic, in

circuits with large currents flowing. There are H-bridge chips available that are much

easier, and safer, to use than designing your own H-Bridge circuit.

1. Using H-Bridge Devices

The L293 has 2 H-Bridges (actually 4 Half H-Bridges), can provide about 1 amp to each

and occasional peak loads to 2 amps.

Page 52: 14.Wireless Accident Intimating System Using RF

The L298 has 2 h-bridges on board, can handle 1amp and peak current draws to about

3amps. The LMD18200 has one h-bridge on board, can handle about 2 or 3 amps and can

handle a peak of about 6 amps. There are several more commercially designed H-Bridge

chips as well.

Once a Half H-bridge is enabled, it truth table is as follows:

INPUT

A

OUTPUT

Y

L L

H H

So you just give a High level when you want to turn the Half H-Bridge on and Low level

when you want to turn it off. When the Half H-Bridge is on, the voltage at the output is

equal to Vcc2.If you want to make a Full H-Bridge, you connect the motor (or the load)

between the outputs of two Half H-Bridges and the inputs will be the two inputs of the

Half H-Bridges.

Suppose we have connected Half H-Bridges 1 and 2 to form a Full H-Bridge. Now the

truth table is as follows:

INPUT

1A

INPUT

2A

OUTPUT

1Y

OUTPUT

2YDescription

L L L LBraking (both terminals

of motor are Gnd)

L H L H Forward Running

H L H L Backward Running

Page 53: 14.Wireless Accident Intimating System Using RF

H H H HBraking (both terminals

of motor at Vcc2

2) L293D Motor Driver IC:

Since two motors are used to drive The back wheels of the robot independently, there is a need

for Two H-bridges. Instead of implementing the above H-bridge controlCircuit twice, an

alternative is to use an integrated circuit (IC), which Provides more than one

H-bridges. One such IC is L293D, which has 2 H-Bridges in it. It can supply 600Ma continuous

and 1.2A peak Currents. It is suitable for switching applications up to 5 kHz. These Features

make it ideal for our application. Another option is to use IC L298, which can drive 2A

continually and 3A peak currents. The Diagram of L293D is shown in Figure 2It can be observed

from the figure that L293D has a similar configuration to the circuit in

Figure 1

Page 54: 14.Wireless Accident Intimating System Using RF

Figure 1

3) Motor Driver Connections: The motor driver requires 2 control

inputs for each motor. Since we drive 2 motors, we need 4 controls

Inputs from the microcontroller. Since it has many pins which can be configured as outputs,

there are many options for implementation.For example, in our robot the last 4 bits of Port B

(RB4, RB5, RB6,RB7 - Pins 37 to 40) are used to control the rotation direction of the motors .

The enable pins of the motor driver are connected to the PWM outputs of the microcontroller

(Pins 16and 17). This is because, as was mentioned above, by changing the width of the pulse

(implying changing the enable time of the driver) one can change the speed of the motor. The

truth table for motor driver is as shown in Table II, where H = high, L = low, and Z =high output

impedance state.

Page 55: 14.Wireless Accident Intimating System Using RF

Since the motors are reverse aligned, in order to have the robot Move forward they must be

configured such that one of them turns forward and the other one turns backward. In case of any

requirement for the robot to move backward, it is sufficient to just reverse the

TABLE II

THE TRUTH TABLE OF THE MOTOR DRIVER

Page 56: 14.Wireless Accident Intimating System Using RF

input enable output

H H H

L H L

H L z

L L z

TABLE III

DRIVER CONTROL INPUTS

Direction Input 1 Input 2 Input 3 Input 4

Forward H L L H

Backward L H H L

Outputs of the control pins. For example, in our robot while moving forward, inputs of the motor

driver have states shown in the first row Of Table III, whereas for backward movement, the

states shown in the second row of Table III is applied.

DC Motor DC motors are configured in many types and sizes, including brush less, servo,

and gear motor types. A motor consists of a rotor and a permanent magnetic field stator. The

magnetic field is maintained using either permanent magnets or electromagnetic windings. DC

motors are most commonly used in variable speed and torque.

Motion and controls cover a wide range of components that in some way are used

to generate and/or control motion. Areas within this category include bearings and bushings,

clutches and brakes, controls and drives, drive components, encoders and resolves, Integrated

motion control, limit switches, linear actuators, linear and rotary motion components, linear

Page 57: 14.Wireless Accident Intimating System Using RF

position sensing, motors (both AC and DC motors), orientation position sensing, pneumatics and

pneumatic components, positioning stages, slides and guides, power transmission (mechanical),

seals, slip rings, solenoids, springs.

Motors are the devices that provide the actual speed and torque in a drive

system.  This family includes AC motor types (single and multiphase motors, universal, servo

motors, induction, synchronous, and gear motor) and DC motors (brush less, servo motor, and

gear motor) as well as linear, stepper and air motors, and motor contactors and starters.

In any electric motor, operation is based on simple electromagnetism. A current-

carrying conductor generates a magnetic field; when this is then placed in an external magnetic

field, it will experience a force proportional to the current in the conductor, and to the strength of

the external magnetic field. As you are well aware of from playing with magnets as a kid,

opposite (North and South) polarities attract, while like polarities (North and North, South and

South) repel. The internal configuration of a DC motor is designed to harness the magnetic

interaction between a current-carrying conductor and an external magnetic field to generate

rotational motion.

Let's start by looking at a simple 2-pole DC electric motor (here red represents a magnet

or winding with a "North" polarization, while green represents a magnet or winding with a

"South" polarization).

Fig 25: Block Diagram of the DC motor

Every DC motor has six basic parts -- axle, rotor (a.k.a., armature), stator, commutator,

field magnet(s), and brushes. In most common DC motors (and all that Beamers will see), the

Page 58: 14.Wireless Accident Intimating System Using RF

external magnetic field is produced by high-strength permanent magnets1. The stator is the

stationary part of the motor -- this includes the motor casing, as well as two or more permanent

magnet pole pieces. The rotor (together with the axle and attached commutator) rotates with

respect to the stator. The rotor consists of windings (generally on a core), the windings being

electrically connected to the commutator. The above diagram shows a common motor layout --

with the rotor inside the stator (field) magnets.

The geometry of the brushes, commutator contacts, and rotor windings are such that

when power is applied, the polarities of the energized winding and the stator magnet(s) are

misaligned, and the rotor will rotate until it is almost aligned with the stator's field magnets. As

the rotor reaches alignment, the brushes move to the next commutator contacts, and energize the

next winding. Given our example two-pole motor, the rotation reverses the direction of current

through the rotor winding, leading to a "flip" of the rotor's magnetic field, and driving it to

continue rotating.

In real life, though, DC motors will always have more than two poles (three is a

very common number). In particular, this avoids "dead spots" in the commutator. You can

imagine how with our example two-pole motor, if the rotor is exactly at the middle of its rotation

(perfectly aligned with the field magnets), it will get "stuck" there. Meanwhile, with a two-pole

motor, there is a moment where the commutator shorts out the power supply (i.e., both brushes

touch both commutator contacts simultaneously). This would be bad for the power supply, waste

energy, and damage motor components as well. Yet another disadvantage of such a simple motor

is that it would exhibit a high amount of torque” ripple" (the amount of torque it could produce is

cyclic with the position of the rotor).

Fig 26: Block Diagram of the DC motor having two poles only

Page 59: 14.Wireless Accident Intimating System Using RF

So since most small DC motors are of a three-pole design, let's tinker with the

workings of one via an interactive animation (JavaScript required):

Fig 27: Block Diagram of the DC motor having Three poles

You'll notice a few things from this -- namely, one pole is fully energized at a time (but

two others are "partially" energized). As each brush transitions from one commutator contact to

the next, one coil's field will rapidly collapse, as the next coil's field will rapidly charge up (this

occurs within a few microsecond). We'll see more about the effects of this later, but in the

meantime you can see that this is a direct result of the coil windings' series wiring:

Fig 28: Internal Block Diagram of the Three pole DC motor

Page 60: 14.Wireless Accident Intimating System Using RF

There's probably no better way to see how an average dc motor is put together, than by

just opening one up. Unfortunately this is tedious work, as well as requiring the destruction of a

perfectly good motor. This is a basic 3-pole dc motor, with 2 brushes and three commutator

contacts.

SOFTWARE DESCRIPTION

ABOUT SOFTWARE

Software used:*Keil software for c programming

ABOUT KEIL SOFTWARE:

It is possible to create the source files in a text editor such as Notepad, run the Compiler on each C source file, specifying a list of controls, run the Assembler on each Assembler source file, specifying another list of controls, run either the Library Manager or Linker (again specifying a list of controls) and finally running the Object-HEX Converter to convert the Linker output file to an Intel Hex File. Once that has been completed the Hex File can be downloaded to the target hardware and debugged. Alternatively KEIL can be used to create source files; automatically compile, link and covert using options set with an easy to use user interface and finally simulate or perform debugging on the hardware with access to C variables and memory. Unless you have to use the tolls on the command line, the choice is clear. KEIL Greatly simplifies the process of creating and testing an embedded application.

Projects:

The user of KEIL centers on “projects”. A project is a list of all the source files required to build a single application, all the tool options which specify exactly how to build the application, and – if required – how the application should be simulated. A project contains enough information to take a set of source files and generate exactly the binary code required for the application. Because of the high degree of flexibility required from the tools, there are many options that can be set to configure the tools to operate in a specific manner. It would be tedious to have to set these options up every time the application is being built; therefore they are stored in a project file. Loading the project file into KEIL informs KEIL which source files are required, where they are, and how to configure the tools in the correct way. KEIL can then execute each tool with the correct options. It is also possible to create new projects in KEIL. Source files are added to the project and the tool options are set as required. The project can then

Page 61: 14.Wireless Accident Intimating System Using RF

be saved to preserve the settings. The project is reloaded and the simulator or debugger started, all the desired windows are opened. KEIL project files have the extension Simulator/Debugger:

The simulator/ debugger in KEIL can perform a very detailed simulation of a micro controller along with external signals. It is possible to view the precise execution time of a single assembly instruction, or a single line of C code, all the way up to the entire application, simply by entering the crystal frequency. A window can be opened for each peripheral on the device, showing the state of the peripheral. This enables quick trouble shooting of mis-configured peripherals. Breakpoints may be set on either assembly instructions or lines of C code, and execution may be stepped through one instruction or C line at a time. The contents of all the memory areas may be viewed along with ability to find specific variables. In addition the registers may be viewed allowing a detailed view of what the microcontroller is doing at any point in time. The Keil Software 8051 development tools listed below are the programs you use to compile your C code, assemble your assembler source files, link your program together, create HEX files, and debug your target program. µVision2 for Windows™ Integrated Development Environment: combines Project Management, Source Code Editing, and Program Debugging in one powerful environment. C51 ANSI Optimizing C Cross Compiler: creates relocatable object modules from your C

source code, A51 Macro Assembler: creates relocatable object modules from your 8051

assembler source code, BL51 Linker/Locator: combines relocatable object modules created by the compiler and

assembler into the final absolute object module, LIB51 Library Manager: combines object modules into a library, which may be used by the

linker, OH51 Object-HEX Converter: creates Intel HEX files from absolute object modules.What's New in µVision3?µVision3 adds many new features to the Editor like Text Templates, Quick Function Navigation, and Syntax Coloring with brace high lighting Configuration Wizard for dialog based startup and debugger setup. µVision3 is fully compatible to µVision2 and can be used in parallel with µVision2.What is µVision3?µVision3 is an IDE (Integrated Development Environment) that helps you write, compile, and debug embedded programs. It encapsulates the following components:

A project manager. A make facility. Tool configuration. Editor. A powerful debugger.

To help you get started, several example programs (located in the \C51\Examples, \C251\Examples, \C166\Examples, and \ARM\...\Examples) are provided.

HELLO is a simple program that prints the string "Hello World" using the Serial Interface.

Page 62: 14.Wireless Accident Intimating System Using RF

MEASURE is a data acquisition system for analog and digital systems. TRAFFIC is a traffic light controller with the RTX Tiny operating system. SIEVE is the SIEVE Benchmark. DHRY is the Dhrystone Benchmark. WHETS is the Single-Precision Whetstone Benchmark.

Additional example programs not listed here are provided for each device architecture.Building an Application in µVision2To build (compile, assemble, and link) an application in µVision2, you must:

1. Select Project -(forexample,166\EXAMPLES\HELLO\HELLO.UV2).2. Select Project - Rebuild all target files or Build target.

µVision2 compiles, assembles, and links the files in your projectCreating Your Own Application in µVision2 To create a new project in µVision2, you must:

1. Select Project - New Project.2. Select a directory and enter the name of the project file.3. Select Project - Select Device and select an 8051, 251, or C16x/ST10 device from the

Device Database™.4. Create source files to add to the project.5. Select Project - Targets, Groups, Files. Add/Files, select Source Group1, and add the

source files to the project.6. Select Project - Options and set the tool options. Note when you select the target device

from the Device Database™ all special options are set automatically. You typically only need to configure the memory map of your target hardware. Default memory model settings are optimal for most applications.

7. Select Project - Rebuild all target files or Build target.Debugging an Application in µVision2To debug an application created using µVision2, you must:

1. Select Debug - Start/Stop Debug Session.2. Use the Step toolbar buttons to single-step through your program. You may enter G,

main in the Output Window to execute to the main C function.3. Open the Serial Window using the Serial #1 button on the toolbar.

Debug your program using standard options like Step, Go, Break, and so on.Starting µVision2 and Creating a ProjectµVision2 is a standard Windows application and started by clicking on the program icon. To create a new project file select from the µVision2 menuProject – New Project…. This opens a standard Windows dialog that asks youfor the new project file name.We suggest that you use a separate folder for each project. You can simply usethe icon Create New Folder in this dialog to get a new empty folder. Thenselect this folder and enter the file name for the new project, i.e. Project1.µVision2 creates a new project file with the name PROJECT1.UV2 which containsa default target and file group name. You can see these names in the ProjectWindow – Files.Now use from the menu Project – Select Device for Target and select a CPU

Page 63: 14.Wireless Accident Intimating System Using RF

for your project. The Select Device dialog box shows the µVision2 devicedatabase. Just select the micro controller you use. We are using for our examples the Philips 80C51RD+ CPU. This selection sets necessary tooloptions for the 80C51RD+ device and simplifies in this way the tool Configuration Building Projects and Creating a HEX FilesTypical, the tool settings under Options – Target are all you need to start a newapplication. You may translate all source files and line the application with aclick on the Build Target toolbar icon. When you build an application withsyntax errors, µVision2 will display errors and warning messages in the OutputWindow – Build page. A double click on a message line opens the source fileon the correct location in a µVision2 editor window.Once you have successfully generated your application you can start debugging.

After you have tested your application, it is required to create an Intel HEX file to download the software into an EPROM programmer or simulator. µVision2 creates HEX files with each build process when Create HEX files under Options for Target – Output is enabled. You may start your PROM programming utility after the make process when you specify the program under the option Run User Program #1.CPU Simulation:µVision2 simulates up to 16 Mbytes of memory from which areas can bemapped for read, write, or code execution access. The µVision2 simulator trapsand reports illegal memory accesses.In addition to memory mapping, the simulator also provides support for theIntegrated peripherals of the various 8051 derivatives. The on-chip peripheralsof the CPU you have selected are configured from the Device.Database selection:you have made when you create your project target. Refer to page 58 for moreInformation about selecting a device. You may select and display the on-chip peripheral components using the Debug menu. You can also change the aspects of each peripheral using the controls in the dialog boxes.Start Debugging:You start the debug mode of µVision2 with the Debug – Start/Stop DebugSession command. Depending on the Options for Target – DebugConfiguration, µVision2 will load the application program and run the startupcode µVision2 saves the editor screen layout and restores the screen layout of the last debug session. If the program execution stops, µVision2 opens aneditor window with the source text or shows CPU instructions in the disassembly window. The next executable statement is marked with a yellow arrow. During debugging, most editor features are still available. For example, you can use the find command or correct program errors. Program source text of your application is shown in the same windows. The µVision2 debug mode differs from the edit mode in the following aspects:_ The “Debug Menu and Debug Commands” described on page 28 areAvailable. The additional debug windows are discussed in the following._ The project structure or tool parameters cannot be modified. All buildCommands are disabled.

Page 64: 14.Wireless Accident Intimating System Using RF

Disassembly WindowThe Disassembly window shows your target program as mixed source and assembly program or just assembly code. A trace history of previously executed instructions may be displayed with Debug – View Trace Records. To enable the trace history, set Debug – Enable/Disable Trace Recording. If you select the Disassembly Window as the active window all program step commands work on CPU instruction level rather than program source lines. You can select a text line and set or modify code breakpoints using toolbar buttons or the context menu commands. You may use the dialog Debug – Inline Assembly… to modify the CPU instructions. That allows you to correct mistakes or to make temporary changes to the target program you are debugging.

Page 65: 14.Wireless Accident Intimating System Using RF

Software components

About Keil

1. Click on the Keil u Vision Icon on Desktop

2. The following fig will appear

3. Click on the Project menu from the title bar

4. Then Click on New Project

Page 66: 14.Wireless Accident Intimating System Using RF

5. Save the Project by typing suitable project name with no extension in u r own folder sited in either C:\ or D:\

6. Then Click on Save button above.

7. Select the component for u r project. i.e. Atmel……

8. Click on the + Symbol beside of Atmel

Page 67: 14.Wireless Accident Intimating System Using RF

9. Select AT89C51 as shown below

10. Then Click on “OK”

11. The Following fig will appear

Page 68: 14.Wireless Accident Intimating System Using RF

12. Then Click either YES or NO………mostly “NO”

13. Now your project is ready to USE

14. Now double click on the Target1, you would get another option “Source group 1” as

shown in next page.

Page 69: 14.Wireless Accident Intimating System Using RF

15. Click on the file option from menu bar and select “new”

16. The next screen will be as shown in next page, and just maximize it by double

clicking on its blue boarder.

17. Now start writing program in either in “C” or “ASM”

18. For a program written in Assembly, then save it with extension “. asm” and for “C”

based program save it with extension “ .C”

Page 70: 14.Wireless Accident Intimating System Using RF

19. Now right click on Source group 1 and click on “Add files to Group Source”

20. Now you will get another window, on which by default “C” files will appear.

Page 71: 14.Wireless Accident Intimating System Using RF

21. Now select as per your file extension given while saving the file

22. Click only one time on option “ADD”

23. Now Press function key F7 to compile. Any error will appear if so happen.

24. If the file contains no error, then press Control+F5 simultaneously.

Page 72: 14.Wireless Accident Intimating System Using RF

25. The new window is as follows

26. Then Click “OK”

27. Now Click on the Peripherals from menu bar, and check your required port as shown

in fig below

28. Drag the port a side and click in the program file.

Page 73: 14.Wireless Accident Intimating System Using RF

29. Now keep Pressing function key “F11” slowly and observe.

30. You are running your program successfully

Embedded C:

Data Types:

U people have already come across the word “Data types” in C- Language. Here also the

functionality and the meaning of the word is same except a small change in the prefix of their

labels. Now we will discuss some of the widely used data types for embedded C- programming.

Data Types Size in Bits Data Range/Usage

unsigned char 8-bit 0-255

signed char 8-bit -128 to +127

unsigned int 16-bit 0 to 65535

signed int 16-bit -32,768 to +32,767

sbit 1-bit SFR bit addressable only

Page 74: 14.Wireless Accident Intimating System Using RF

Bit 1-bit RAM bit addressable only

Sfr 8-bit RAM addresses 80-FFH

only

Unsigned char:

The unsigned char is an 8-bit data type that takes a value in the range of 0-255(00-FFH).

It is used in many situations, such as setting a counter value, where there is no need for signed

data we should use the unsigned char instead of the signed char. Remember that C compilers use

the signed char as the default if we do not put the key word

Signed char:

The signed char is an 8-bit data type that uses the most significant bit (D7 of D7-D0) to

represent the – or + values. As a result, we have only 7 bits for the magnitude of the signed

number, giving us values from -128 to +127. In situations where + and – are needed to represent

a given quantity such as temperature, the use of the signed char data type is a must.

Unsigned int:

The unsigned int is a 16-bit data type that takes a value in the range of 0 to 65535 (0000-

FFFFH). It is also used to set counter values of more than 256. We must use the int data type

unless we have to. Since registers and memory are in 8-bit chunks, the misuse of int variables

will result in a larger hex file. To overcome this we can use the unsigned char in place of

unsigned int.

Page 75: 14.Wireless Accident Intimating System Using RF

Signed int:

Signed int is a 16-bit data type that uses the most significant bit (D15 of D15-D0) to

represent the – or + value. As a result we have only 15 bits for the magnitude of the number or

values from -32,768 to +32,767.

Sbit (single bit):

The sbit data type is widely used and designed specifically to access single bit

addressable registers. It allows access to the single bits of the SFR registers.

RESULT:

With this project we can implement a system to identify the accident of a vehicle by

using RF communication system.