Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ON
By
K. Venkateswar Rao(07AG1A0461)
T. Sai Sampath (07AG1A0456)
H. Pramod Kumar (07AG1A0417)
B. Abhilash (07AG1A0404)
1
INDEX
CONTENTS
1. Abbreviations
2. Figure Locations
3. Introduction to the project
4. Block Diagram
5. Block Diagram Description
6. Schematic
7. Schematic Description
8. Hardware Components
Micro controller
About GPS Technology
About GSM Technology
LCD Display
Power Supply
Max232
Ignition switch
Dc motor
Pc
9. Circuit Description
10.Software components
a. About Keil
b. Embedded ‘C’
13.Future Aspects
14.Bibliography
2
Abbreviations:
ACC - Accumulator
B - B Register
PSW - Program Status Word
SP - Stack Pointer
DPTR - Data pointer
DPL - Low byte
DPH - High byte
P0 - Port 0
P1 - Port 1
P2 - Port 2
P3 - Port 3
IE - Interrupt Enable control
IP - Interrupt Priority control
TMOD - Timer/Counter Mode control
TCON - Timer/Counter control
T2CON - Timer/counter 2 control
T2MOD - Timer/counter mode2 control
TH0 - Timer/counter 0high byte
TL0 - Timer/counter 0 low byte
TH1 - Timer/counter 1 high byte
TL1 - Timer/counter 1 low byte
TH2 - Timer/counter 2 high byte
TL2 - Timer/counter 2 low byte
RCAP2H - T/C 2 capture register high byte
RCAP2L - T/C 2 capture register low byte
SCON - Serial control
SBUF - Serial data buffer
PCON - Power control
GSM -Global System for Mobile Communications
GPS - Global positioning system
PCB - Printed circuit Board
SFR - Special function registers
WAAS - Wide Area Augmentation System
LCD - Liquid Crystal Display
Figure Locations:
Fig 1 : Block Diagram
Fig 2 : Schematic Diagram
Fig 3 : Functional block diagram of micro controller
3
Fig 4 : Oscillator and timing circuit
Fig 5 : Pin diagram of AT89C51
Fig 6.1 : Oscillator Connections
Fig 6.2 : External Clock Drive Configuration
Fig 7 : Memory organization of RAM
Fig 8 : RAM Allocation in the 8051
Fig 9 : 8051 Register Banks and their RAM Addresses
Fig 10 : DB-9 pin connector
Fig 11 : Interfacing of MAX-232 to controller
Fig 12 : GPS MODEM
Fig 13 : GPS sample module (GARMIN)
Fig 14 : GPS 3A pin assignment
Fig 15 : structure of a GSM network
4
ABSTRACT
It deals with the design & development of a theft control system for an
automobile, which is being used to prevent / control the theft of a vehicle. the
developed system makes use of an embedded system based on gsm technology. the
designed & developed system is installed in the vehicle. an interfacing mobile is also
connected to the microcontroller, which is in turn,connected to the engine. once, the
vehicle is being stolen, the information is being used by the vehicle owner for further
processing. the information is passed onto the central processing insurance system,
where by sitting at a remote place, a particular number is dialed by them to the
interfacing mobile that is with the hardware kit which is installed in the vehicle. by
reading the signals received by the mobile, one can control the ignition of the
engine;say to lock it or to stop the engine immediately. again it will come to the
normal condition only after entering a secured password. the owner of the vehicle &
the central processing system will know this secured password. the main concept in
this design is introducing the mobile communications into the embedded system. the
designed unit is very simple & low cost. the entire designed unit is on a single chip.
when the vehicle is stolen, owner of vehicle may inform to the central processing
system, then they will stop the vehicle by just giving a ring to that secret number and
with the help of sim tracking knows the location of vehicle and informs to the local
police or stops it from further movement.
5
INTRODUCTION
The position of the vehicle will be traced with the help of the GPS and GSM
technology. This project is aimed to track the vehicles giving the position of the
vehicle. The location of the vehicle is indicated using GPS (Global Positioning
System) technology. Communication link is made possible through a GPS
transceiver. GPS will give the information of parameters like longitude, latitude and
altitude and that can be sent towards viewing system where we can showthe location
of vehicle where it is passing wit paramerters . With this system we can easily
identify vehicle thefts. GSM is used for receiving and sending messages according to
the software program written to perform the task.
6
BLOCK DIAGRAM:
VEHICLE TRACKING SYSTEM
GPS
POWER SUPPLY
GPS
MICRO
CONTROLLER M
(AT89c51) L A
LCD A X
T -
2 GSM MODEM
C
H 3
2
IGNITION
SWITCH
DC MOTOR DC MOTOR
DRIVERS
7
BLOCK DIAGRAM DESCRIPTION:
Here we have mainly two different blocks,those are tracking and location
viewing blocks in this first we going to know about tracking systemIn this project we
will place this vehicle trcking system in vehicle. The Block diagram consists of a GPS
modem, a GSM modem, a Micro controller, an ignition switch, DC motor,a LCD
Display and power supply. These hardware components will be discussed briefly as
follows:
A GPS modem is used to get the signals and receive the signals from the
satellites. In this project, GPS modem get the signals from the satellites and those are
given to the microcontroller. The signals may be in the form of the coordinates; these
are represented in form of the latitudes, longitudes and altitudes.
A GSM modem is used to get the messages from the mobile and as well as
reading the message also. Thereafter sending the acknowledgement will be done.
Before operating this GSM modem first we have to insert the SIM card in this
modem. Then the total receiving and sending the messages will be done based on this
number. First the concerned person has to register for that number.
And second one is viewing and controlling section the vehicle like tracking
and bloking. In this system mainly we have microcontroller, powersupply, LCD,
GSM, Pc, keypad .by that particular keypad of keys only we are sending request for
track and block ing of vehicle.here we two switches one for sending request for
tracking the vehicle location and another for blocking the vehicle .A Micro controller
is a heart of this project. The total controlling action will be done through this micro
controller. Based on the signals given to the micro controller that will be totally
controlled at the output section. If we send the message like “TRACK” to the GSM
modem at viewing and controlling section it will get recieved by trcking section
which is placed in the vehicle, it will send signals to the micro controller to trcke the
vehicle and if sening message by view and control section is”BLOCK” means the
system get blocked by microcontoller of controlling operation Upon receiving the
signals, the micro controller will switched-off the ignition part of that vehicle. Then
the vehicle does not move at any inch.
An ignition switch plays the key role in the vehicle, for moving. If it is in off
condition, the vehicle does not move at an inch. In this project, for completely
8
stopping the vehicle we are just switched-off the ignition switch with the help of the
micro controller.
A LCD display is used at the output section. To display the status of the GSM
and GPS. The maximum power supply required to operate the hardware circuitry is
+5V DC voltage.
SCHEMATIC DIAGRAM:
Pins connections
11 This pin is connected to P3.1 (TXD) of the Micro controller
12 This pin is connected to P3.0 (RXD) of the Micro controller
13 This pin is connected to 3rd pin (TXD) of DB-9 connector
14 This pin is connected to 2nd pin (RXD) of DB-9 connector
15 Ground
16 vcc (+5v)
Pins Connections
1 VSS (ground)
2 VCC (+5V)
3 10k pot
4 RS, this pin is connected to P2.7 of the micro controller
5 R/w, this pin is connected to P2.6 of the micro controller
6 EN, this pin is connected to P2.5 of the micro controller
7-14 (D0-D7) these pins are connected to the port (P0) of the micro
controller
10
Schematic Explanation:
pc connections:
Pins connections
1 VCC (+5v)
2 This pin is connected to the 2nd (RXD) of the MAX -232 IC
3 GND
Pins connections
11 This pin is connected to P3.1 (TXD) of the Micro controller
11
12 This pin is connected to P3.0 (RXD) of the Micro controller
13 This pin is connected to 3rd pin (TXD) of DB-9 connector
15 Ground
16 vcc (+5v)
Pins Connections
1 VSS (ground)
2 VCC (+5V)
3 10k pot
4 RS, this pin is connected to P2.7 of the micro controller
5 R/w, this pin is connected to P2.6 of the micro controller
6 EN, this pin is connected to P2.5 of the micro controller
7-14 (D0-D7) these pins are connected to the port (P0) of the micro
controller
12
HARDWARE COMPONENTS:
13
AT89C51 MICROCONTROLLER ARCHITECTURE
14
Types of memory:
The 89C51 have three general types of memory. They are on-chip memory,
external Code memory and external Ram. On-Chip memory refers to physically
existing memory on the micro controller itself. External code memory is the code
memory that resides off chip. This is often in the form of an external EPROM.
External RAM is the Ram that resides off chip. This often is in the form of standard
static RAM or flash RAM.
a) Code memory
Code memory is the memory that holds the actual 89C51 programs that is to
be run. This memory is limited to 64K. Code memory may be found on-chip or off-
chip. It is possible to have 4K of code memory on-chip and 60K off chip memory
simultaneously. If only off-chip memory is available then there can be 64K of off chip
ROM. This is controlled by pin provided as EA.
b) Internal RAM
The 89C51 have a bank of 128 of internal RAM. The internal RAM is found
on-chip. So it is the fastest Ram available. And also it is most flexible in terms of
reading and writing. Internal Ram is volatile, so when 89C51 is reset, this memory is
cleared. 128 bytes of internal memory are subdivided. The first 32 bytes are divided
into 4 register banks. Each bank contains 8 registers. Internal RAM also contains 128
bits, which are addressed from 20h to 2Fh. These bits are bit addressed i.e. each
individual bit of a byte can be addressed by the user. They are numbered 00h to 7Fh.
The user may make use of these variables with commands such as SETB and CLR.
Flash memory 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.
15
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
16
they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port
1 pins that are externally being pulled low will source current (IIL) because of the
internal pull-ups. Port 1 also receives the low-order address bytes during Flash
programming and verification.
Port 2:
Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2
output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins
they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port
2 pins that are externally being pulled low will source current (IIL) because of the
internal pull-ups.
Port 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:
RST:
Reset input. A high on this pin for two machine cycles while the oscillator is
running resets the device.
17
ALE/PROG:
Address Latch Enable output pulse for latching the low byte of the address
during accesses to external memory. This pin is also the program pulse input (PROG)
during Flash programming. In normal operation ALE is emitted at a constant rate of
1/6the oscillator frequency, and may be used for external timing or clocking purposes.
Note, however, that one ALE pulse is skipped during each access to external Data
Memory.
If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With
the bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the
pin is 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
18
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.
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.
The following two points should note about the SFR addresses.
19
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.
20
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)
21
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.
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.
22
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.
CY - Carry Flag is the (ninth) auxiliary bit used for all arithmetical operations and
shift instructions.
23
SP Register (Stack Pointer)
If the stack is a section of RAM, there must be registers inside the CPU to
point to it. The register used to access the stack is called the SP (Stack point)
Register. The stack pointer in the 8051 is only 8 bits wide; which means that it can
take values of 00 to FFH. When the 8051 is powered up, the SP register contains
value 07. This means that RAM location 08 is the first location used for the stack by
the 8051. The storing of a CPU register in the stack is called a PUSH, and pulling the
contents off the stack back into a CPU register is called a POP. In other words, a
register is pushed onto the stack to save it and popped off the stack to retrieve it. The
job of the SP is very critical when push and pop actions are performed.
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
24
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
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.
25
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
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.
26
In data transmission if the data can be transmitted and received, it is a duplex
transmission. This is in contrast to simplex transmissions such as with printers, in
which the computer only sends data. Duplex transmissions can be half or full duplex,
depending on whether or not the data transfer can be simultaneous. If data is
transmitted one way at a time, it is referred to as half duplex. If the data can go both
ways at the same time, it is full duplex. Of course, full duplex requires two wire
conductors for the data lines, one for transmission and one for reception, in order to
transfer and receive data simultaneously.
Asynchronous serial communication and data framing
The data coming in at the receiving end of the data line in a serial data transfer
is all 0s and 1s; it is difficult to make sense of the data unless the sender and receiver
agree on a set of rules, a protocol, on how the data is packed, how many bits
constitute a character, and when the data begins and ends.
Start and stop bits
Asynchronous serial data communication is widely used for character-oriented
transmissions, while block-oriented data transfers use the synchronous method. In the
asynchronous method, each character is placed between start and stop bits. This is
called framing. In the data framing for asynchronous communications, the data, such
as ASCII characters, are packed between a start bit and a 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).
RS232 Standards
To allow compatibility among data communication equipment made by
various manufacturers, an interfacing standard called RS232 was set by the
27
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.
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.
12345
6789
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)
28
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
TXD RXD
2
RXD TXD
Embedded 3
Controller GND
5
MAX 232
29
Fig 11: Interfacing of MAX-232 to controller
INTERRUPTS
A single micro controller can serve several devices. There are two ways to do that:
INTERRUPTS or POLLING.
INTERRUPTS vs POLLING:
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.
30
Serial COM (RI and TI) 0023 Programmer
Clears it
Six Interrupts in the 8051:
In reality, only five interrupts are available to the user in the 8051, but many
manufacturers’ data sheets state that there are six interrupts since they include reset
.the six interrupts in the 8051 are allocated as above.
1. Reset. When the reset pin is activated, the 8051 jumps to address location
0000.this is the power-up reset.
2. Two interrupts are set aside for the timers: one for Timer 0 and one for Timer
1.Memory location 000BH and 001BH in the interrupt vector table belong to
Timer 0 and Timer 1, respectively.
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
31
GLOBAL POSITION SYSTEM
About GPS
Global Positioning System (GPS) technology is changing the way we work and
play. You can use GPS technology when you are driving, flying, fishing, sailing,
hiking, running, biking, working, or exploring. With a GPS receiver, you have an
amazing amount of information at your fingertips. Here are just a few examples of
how you can use GPS technology.
Know precisely how far you have run and at what pace while tracking your
path so you can find your way home.
Pinpoint the perfect fishing spot on the water and easily relocate it.
Get the closest location of your favorite restaurant when you are out-of-town.
Find the nearest airport or identify the type of airspace in which you are flying
What is GPS?
GPS, formally known as the NAVSTAR (Navigation Satellite Timing and Ranging).
Global Positioning System originally was developed for the military. Because of its
popular navigation capabilities and because you can access GPS technology using
small, inexpensive equipment, the government made the system available for civilian
use. The USA owns GPS technology and the Department of Defense maintains it.
32
GPS technology requires the following three segments.
Space segment.
Control segment.
User segment
Space Segment
At least 24 GPS satellites orbit the earth twice a day in a specific pattern. They
travel at approximately 7,000 miles per hour about 12,000 miles above the earth’s
surface. These satellites are spaced so that a GPS receiver anywhere in the world can
receive signals from at least four of them.
Each GPS satellite constantly sends coded radio signals (pseudorandom code)
to the earth. These GPS satellite signals contain the following information.
The particular satellite that is sending the information.
Where that satellite should be at any given time (the precise location of the
satellite is. called ephemeris data).
Whether or not the satellite is working properly.
The date and time that the satellite sent the signal.
The signals can pass through clouds, glass, and plastic. Most solid objects such
as buildings attenuate (decrease the power of) the signals. The signals cannot pass
through objects that contain a lot of metal or objects that contain water (such as
underwater locations). The GPS satellites are powered by solar energy. If solar energy
is unavailable, for example, when the satellite is in the earth’s shadow, satellites use
backup batteries to continue running. Each GPS satellite is built to last about 10 years.
The Department of Defense monitors and the satellites to ensure that GPS technology
continues to run smoothly for years to come.
33
Fig12: GPS MODEM
Control Segment
The control segment is responsible for constantly monitoring satellite health, signal
integrity, and orbital configuration from the ground control segment includes the
following sections:
Master control station
Monitor stations
Ground antennas
Monitor Stations
At least six unmanned monitor stations are located around the world. Each
station constantly monitors and receives information from the GPS satellites and then
sends the orbital and clock information to the master control station (MCS).
Master Control Station (MCS)
The MCS) is located near Colorado Springs in Colorado. The MCS constantly
receives GPS satellite orbital and clock information from monitor stations. The
controllers in the MCS make precise corrections to the data as necessary, and send the
information (known as ephemeris data) to the GPS satellites using the ground
antennas.
Ground Antennas
Ground antennas receive the corrected orbital and clock information from the
MCS, and then send the corrected information to the appropriate satellites.
User Segment
The GPS user segment consists of your GPS receiver. Your receiver collects
and processes signals from the GPS satellites that are in view and then uses that
information to determine and display your location, speed, time, and so forth. Your
GPS receiver does not transmit any information back to the satellites.
34
How Does GPS Technology Work?
The following points provide a summary of the technology at work:
The control segment constantly monitors the GPS constellation and uploads
information to satellites to provide maximum user accuracy
Your GPS receiver collects information from the GPS satellites that are in
view.
Your GPS receiver accounts for errors. For more information, refer to the
Sources of Errors.
Your GPS receiver determines your current location, velocity, and time.
Your GPS receiver can calculate other information, such as bearing, track, trip
distance, and distance to destination, sunrise and sunset time so forth.
Your GPS receiver displays the applicable information on the screen.
Marine
GPS technology helps with marine navigation, traffic routing, underwater
surveying, navigational hazard location, and mapping. Commercial fishing fleets use it
to navigate to optimum fishing locations and to track fish migrations.
Military
Military aircraft, ships, submarines, tanks, jeeps, and equipment use GPS
technology for many purposes including basic navigation, target designation, close air
support, weapon technology, and rendezvous.
Public Safety
Emergency and other specialty fleets use satellite navigation for location and
status information.
Rail
Precise knowledge of train location is essential to prevent collisions, maintain
smooth traffic flow, and minimize costly delays. Digital maps and onboard inertial
units allow fully-automated train control.
Recreation
Outdoor and exercise enthusiasts use GPS technology to stay apprised of
location, heading, bearing, speed, distance, and time. In addition, they can accurately
mark and record any location and return to that precise spot.
Space
GPS technology helps track and control satellites in orbit. Future booster
rockets and reusable launch vehicles will launch, orbit the earth. Return, and land, all
under automatic control. Space shuttles also use GPS navigation.
Surveying
Surveyors use GPS technology for simple tasks (such as defining property lines) or
for complex tasks (such as building infrastructures in urban centers). Locating a
precise point of reference used to be very time consuming. With GPS technology, two
people can survey dozens of control points in an hour. Surveying and mapping roads
and rail systems can also be accomplished from mobile platforms to save time and
36
money.
Timing
Delivering precise time to any user is one of the most important functions of
GPS technology. This technology helps synchronize clocks events around the world.
Pager companies depend on GPS satellites to synchronize the transmission of
information throughout their systems. Investment banking firms rely on this service
every day to record international transactions simultaneously.
WAAS/EGNOS
37
The Wide Area Augmentation System (WAAS) is a system of satellites and ground
stations that provides even better position accuracy than the already highly accurate
GPS. Europe’s version of this system is the European Geostationary Navigation
Overlay Service (EGNOS). The Federal Aviation Administration (FAA) developed the
WAAS program. It makes more airspace usable to pilots, provides more direct end
route paths, and provides new precision approach services to runways, resulting in
safety and capacity improvements in all weather conditions at all locations throughout
the U.S. National Airspace System (NAS).
Although it was designed for aviation users, WAAS supports a wide variety of
other uses, for example, more precise marine navigation. To take advantage of WAAS
technology, you must have a WAAS-capable GPS receiver in an area where WAAS
satellite coverage is available such as North America. No additional equipment or fees
are required to take advantage of WAAS.
Sources of Errors
Errors can affect the accuracy of the GPS signal. Take your GPS receiver to an
area with a wide and unobstructed view of the sky to reduce the possibility and impact
of some errors. Here are some of the most common GPS errors.
Ionosphere and Troposphere Delays
—the satellite signal slows down as it passes through the atmosphere. The system uses
a built-in model that calculates an average delay to partially correct this type of error.
Orbital Errors
—this terminology refers to inaccuracies of the satellite’s reported location.
Receiver Clock Errors
—the GPS receiver has a built-in clock that can have small timing errors.
Number of Satellites Visible
—obstructions can block signal reception, causing position errors or no position
reading. The more satellites that your GPS receiver can view, the better the fix is.
Satellite Geometry/Shading
—refers to the relative position of the satellites at any given time. Ideal satellite
geometry exists when the satellites are located at wide angles relative to each other.
Poor geometry results when the satellites are located in a line or in a tight grouping.
Signal Multipath
—the GPS signal bounces off of objects, such as tall buildings or large rock surfaces,
38
before it reaches the GPS receiver. This increases the travel time of the signal and,
therefore, causes errors.
Buying a GPS Receiver
Deciding which GPS receiver to buy can be overwhelming. Think about how you want
to use the unit, for example, traveling or running. Keep the following considerations in
mind:
Product Level
—do you want the basics, or do you want all of the bells and whistles? You can find a
unit that fits your needs and budget.
Power Source
—will you be using the unit away from an auxiliary power source? You might need to
carry extra batteries. With some you can use a vehicle adapter or AC power source.
Portability
—do you have a preference between a portable or a built-in unit? Some units mount
directly in the dashboard of your boat or aircraft.
Mapping Capability
—do you want to know the general direction or street-level details of your chosen
path? Map data can include streets restaurants, tourist attractions, marine data,
topography, and so forth.
Mounts
—a mount for your GPS can be useful to keep your hands free while navigating your
bike, boat, car, or airplane. Many units
with a mount, and several additional mounts are available.
Ease of Use
—some receivers provide a tutorial or an easy-to-use touch screen interface. Some
even have turn-by-turn voice instructions you are navigating your route.
Antenna Configuration
—where are you going to use the unit? With some units, you use only the built-in
antenna. With other units, you attach an external antenna to give you better reception
Price
—which units fit your price range? An inexpensive entry-level unit can be a great way
to enter the GPS world.
Software
—whether you want to save your favorite locations or plan a trip, map software can
39
help. You can use your PC or go directly your GPS receiver. Your preference for map
detail and your specific activities determine which software is right for you.
AarLogic GPS 3A
Pin assignment
40
GLOBAL SYSTEM FOR MOBILE COMMUNICATIONS
41
Definition:
Global system for mobile communication (GSM) is a globally accepted standard for
digital cellular communication. GSM is the name of a standardization group
established in 1982 to create a common European mobile telephone standard that
would formulate specifications for a pan-European mobile cellular radio system
operating at 900 MHz. It is estimated that many countries outside of Europe will join
the GSM partnership.
Description:
GSM Modems
42
A GSM modem can be an external modem device, such as the Wavecom
FASTRACK Modem. Insert a GSM SIM card into this modem, and connect the
modem to an available serial port on your computer.A GSM modem can be a PC Card
installed in a notebook computer, such as the Nokia Card Phone.A GSM modem
could also be a standard GSM mobile phone with the appropriate cable and software
driver to connect to a serial port on your computer. Phones such as the Nokia 7110
with a DLR-3 cable, or various Ericsson phones, are often used for this purpose.
When you install your GSM modem, or connect your GSM mobile phone to the
computer, be sure to install the appropriate Windows modem driver from the device
manufacturer. To simplify configuration, the Now SMS/MMS Gateway will
communicate with the device via this driver. An additional benefit of utilizing this
driver is that you can use Windows diagnostics to ensure that the modem is
communicating properly with the computer.
43
Fig:16 GSM smart modem
INTRODUCTION:
User Manual
PRODUCT DESCRIPTION:
The connectors integrated to the body, guarantee the reliable output and input
connections. An extractible holder is used to insert the SIM card (Micro-SIM type).
Status LED indicates the operating mode.
44
Fig 17: Block diagram of modem with key connections
Physical Characteristics
Temperature Range:
45
To install the modem, plug the device on to the supplied SMPS Adapter. For
Automotive applications fix the modem permanently using the mounting slots
(optional as per your requirement dimensions).
To insert or Remove the SIM Card, it is necessary to press the SIM holder ejector
button with Sharp edged object like a pen or a needle. With this, the SIM holder
comes out a little, then pulls it out and insert or remove the SIM Card
Make sure that the ejector is pushed out completely before accessing the SIM Card
holder do not remove the SIM card holder by force or tamper it (it may permanently
damage). Place the SIM Card Properly as per the direction of the installation. It is
very important that the SIM is placed in the right direction for its proper working
condition
Connect GSM Smart Modem to the external antenna with cable end with SMA male.
The Frequency of the antenna may be GSM 900/1800 MHz. The antenna may be ( 0
dbi, 3 dbi or short length L-type antenna) as per the field conditions and signal
conditions.
DC Supply Connection
The Modem will automatically turn ON when connection is given to it. The
following is the Power Supply Requirement:
46
Supply Voltage 5V 9V 12 V
Peak Current at 5 V supply 1.8 A (during
transmission)
Average Current at 5 V supply in idle 35 mA
Mode
Average Current at 5 V supply in idle 13 mA
Mode and RS232 Power Saving
Activated
RS232 can be used to connect to the external device through the D-SUB/ USB (for
USB model only) device that is provided in the modem.
Connectors:
Connector Function
15 pin or 9 pin D-SUB USB (optional) RS232 link Audio link (only for 15
D-SUB) Reset (only for 15 D-SUB)
USB communication port (optional)
RJ11 (For 9 D-SUB and USB only) Audio link Simple hand set
connection (4 wire) 2 wire desktop
phone connection
47
Serial and control link
Protecting Modem:
Do not expose to the modem to extreme conditions such as High temperatures, direct
sunlight, High Humidity, Rain, Chemicals, Water, Dust etc. For these details see the
specifications given.
48
Handle the Antenna and cable with care.
AT commands features:
Line settings:
A serial link handler is set with the following default values Autobaud, 8 bits data, 1
stop bit, no parity, flow control.
Command line
Commands always start with AT (which means attention) and finish with a <CR>
character.
If command syntax is correct but with some incorrect parameters, the +CME ERROR:
<Err> or +CMS ERROR: <SmsErr> strings are returned with different error codes.
GSM was designed having interoperability with ISDN in mind, and the services
provided by GSM are a subset of the standard ISDN services. Speech is the most
basic, and most important, teleservice provided by GSM.
In addition, various data services are supported, with user bit rates up to 9600 bps.
Specially equipped GSM terminals can connect with PSTN, ISDN, Packet Switched
and Circuit Switched Public Data Networks, through several possible methods, using
synchronous or asynchronous transmission. Also supported are Group 3 facsimile
49
service, videotex, and teletex. Other GSM services include a cell broadcast service,
where messages such as traffic reports, are broadcast to users in particular cells.
A service unique to GSM, the Short Message Service, allows users to send and
receive point-to-point alphanumeric messages up to a few tens of bytes. It is similar to
paging services, but much more comprehensive, allowing bi-directional messages,
store-and-forward delivery, and acknowledgement of successful delivery.
50
Subsystem communicate across the Um interface, also known as the air interface or
radio link. The Base Station Subsystem communicates with the Mobile services
Switching Center across the A interface.
Mobile Station:
The mobile station (MS) consists of the mobile equipment (the terminal) and a smart
card called the Subscriber Identity Module (SIM). The SIM provides personal
mobility, so that the user can have access to subscribed services irrespective of a
specific terminal. By inserting the SIM card into another GSM terminal, the user is
able to receive calls at that terminal, make calls from that terminal, and receive other
subscribed services.
51
The Base Station Subsystem is composed of two parts, the Base Transceiver Station
(BTS) and the Base Station Controller (BSC). These communicate across the
standardized Abis interface, allowing (as in the rest of the system) operation between
components made by different suppliers.
The Base Transceiver Station houses the radio transceivers that define a cell and
handles the radio-link protocols with the Mobile Station. In a large urban area, there
will potentially be a large number of BTSs deployed, thus the requirements for a BTS
are ruggedness, reliability, portability, and minimum cost.
The Base Station Controller manages the radio resources for one or more BTSs. It
handles radio-channel setup, frequency hopping, and handovers, as described below.
The BSC is the connection between the mobile station and the Mobile service
Switching Center (MSC).
Network Subsystem
The central component of the Network Subsystem is the Mobile services Switching
Center (MSC). It acts like a normal switching node of the PSTN or ISDN, and
additionally provides all the functionality needed to handle a mobile subscriber, such
as registration, authentication, location updating, handovers, and call routing to a
roaming subscriber. These services are provided in conjunction with several
functional entities, which together form the Network Subsystem. The MSC provides
the connection to the fixed networks (such as the PSTN or ISDN). Signalling between
functional entities in the Network Subsystem uses Signalling System Number 7 (SS7),
used for trunk signalling in ISDN and widely used in current public networks.
The Home Location Register (HLR) and Visitor Location Register (VLR), together
with the MSC, provide the call-routing and roaming capabilities of GSM. The HLR
contains all the administrative information of each subscriber registered in the
corresponding GSM network, along with the current location of the mobile. The
location of the mobile is typically in the form of the signalling address of the VLR
associated with the mobile as a distributed database. station. The actual routing
procedure will be described later. There is logically one HLR per GSM network,
although it may be implemented
52
The Visitor Location Register (VLR) contains selected administrative information
from the HLR, necessary for call control and provision of the subscribed services, for
each mobile currently located in the geographical area controlled by the VLR.
Although each functional entity can be implemented as an independent unit, all
manufacturers of switching equipment to date implement the VLR together with the
MSC, so that the geographical area controlled by the MSC corresponds to that
controlled by the VLR, thus simplifying the signalling required. Note that the MSC
contains no information about particular mobile stations --- this information is stored
in the location registers.
The other two registers are used for authentication and security purposes. The
Equipment Identity Register (EIR) is a database that contains a list of all valid mobile
equipment on the network, where each mobile station is identified by its International
Mobile Equipment Identity (IMEI). An IMEI is marked as invalid if it has been
reported stolen or is not type approved. The Authentication Center (AuC) is a
protected database that stores a copy of the secret key stored in each subscriber's SIM
card, which is used for authentication and encryption over the radio channel.
DM74LS244
Octal 3-STATE Buffer/Line Driver/Line Receiver
General Description
These buffers/line drivers are designed to improve both the performance and PC
board density of 3-STATE buffers/ drivers employed as memory-address drivers,
clock drivers,
and bus-oriented transmitters/receivers. Featuring 400 mV of hysteresis at each low
current PNP data line input, they provide improved noise rejection and high fanout
outputs and can be used to drive terminated lines down to 133 ohms.
Features
3-STATE outputs drive bus lines directly
PNP inputs reduce DC loading on bus lines
Hysteresis at data inputs improves noise margins
Typical IOL (sink current) 24 mA
Typical IOH (source current) 15 mA
Typical propagation delay times
53
Inverting 10.5 ns
Noninverting 12 ns
Typical enable/disable time 18 ns
Typical power dissipation (enabled)
Inverting 130 mW
Noninverting 135 mW
54
55
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 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.
56
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.
LCD operation
In 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.
57
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.
58
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:
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
59
Fig 21: Interfacing of LCD to a micro controller
To 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.
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
60
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:
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
61
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.
TX and RX
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:
62
MAX232 Pin Nbr. MAX232 Pin Name Signal Voltage DB9 Pin
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.
C1 1 3
C2 4 5
C3 2 16
C5 16 GND
63
The 5V power supply is connected to
+5V: Pin 16
GND: Pin 15
Features
Meet or Exceed TIA/EIA-232-F and ITU
Recommendation 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 With
Maxim MAX232
ESD Protection Exceeds JESD 22
2000-V Human-Body Model (A114-A)
Applications
TIA/EIA-232-F
Battery-Powered Systems
Terminals
Modems
Computers
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.
64
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 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
65
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.
Every DC motor has six basic parts -- axle, rotor (a.k.a., armature), stator,
commutator, field magnet(s), and brushes. In most common DC motors (and all that
Beamers will see), the external magnetic field is produced by high-strength permanent
magnets1. The stator is the stationary part of the motor -- this includes the motor
casing, as well as two or more permanent magnet pole pieces. The rotor (together with
the axle and attached commutator) 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.
66
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
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):
67
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:
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.
H-BRIDGE:
68
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
69
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.
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
70
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.
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:
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.
71
2. Using Transistors:
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.
72
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.
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.
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.
OUTPU
INPUT
T
A
Y
L L
H H
73
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.
L H L H Forward Running
H L H L Backward Running
74
is shown in Figure 2It can be observed from the figure that L293D has a similar
configuration to the circuit in
Figure 1
75
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.
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
TABLE III
DRIVER CONTROL INPUTS
Power supply
76
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:
77
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.
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.
78
Type of Rectifier
Parameter
Half wave Full wave Bridge
Number of
diodes 1 2 3
PIV of diodes
Vm 2Vm Vm
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.
79
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)
80
Filter:
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)
81
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.
Features:
82
• 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
CIRCUIT DESCRIPTION:
In this project, the GSM and GPS are connected to the micro controller. The GSM is
used for sending, receiving and reading the messages. The GPS is used for getting the
location of the vehicle which sends the location name in the form of coordinates ie.,
latitudes, longitudes and altitudes. These GSM and GPS are both meant for serial
communication. Both the GSM and GPS are RS voltage level compatible but the
Micro controller is TTL compatible. To match the voltage levels we using the MAX-
232 line driver to convert the RS voltage level to TTL voltage levels and vice versa.
The controller is having one serial port. It is impossible to interface to two serial
communication devices and access both at a time. So that, through Latch these
devices are connected to the MAX. The latch is acts to store the information
temporarily. For accessing these devices, one is kept in sleep mode and the other
activated and vice versa.
The ignition switch is used for starting/ stopping the engine i.e., nothing but a
motor. This is operated through software, which is connected to one of the port pin.
The LCD display will acts as an output source in this project that will be helpful to
display the location name on this display. The RS, R/W. and EN pins are the control
pins which are used for controlling purpose. The RS pin is used to select either data
mode or command mode. The R/W is used to indicate that the LCD will acts as a
either read or write mode. The EN pin is used to enable the data. D0-D7 are data
pins used to get the data from the micro controller. To operate the LCD display,
which requires maximum of +5V DC power supply.The power supply is used drive
all the hardware components, which are work at the maximum voltage of +5V DC.
The 230V AC is a power supply which is used for operate our general home
83
appliance. But our hardware components which requires just +5V DC voltage. A
step-down transformer is used to step down the 230V AC to the required AC voltage
and thereafter it is meant for filtering with the help of a capacitor. Thereby, the
circuit is meant for the regulation to get the constant +5V DC. This output +5V DC
power supply is getting at the load ie., may be a capacitor for rectification purpose,
ie., any AC ripples should be minimized with the help of this capacitor at the lo
SOFTWARE USED
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.
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.
84
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.
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.
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.
(II) I/O PROGRAMMING IN EMBEDDED “C”:
In this topic we look at C- programming of the I/O ports and also both byte
and bit I/O programming.
85
Byte size I/O
As we know that ports P0-P3 are byte accessible, we use the P0-P3 labels as
defined in the header file.
Bit – addressable I/O programming
The I/O ports of P0-P3 are bit- addressable, so we can access a single bit
without disturbing the rest of the port. We use the sbit data type to access a single bit
of P0-P3.the format is Px^y where x is the port and y is the bit.
Another way to access the SFR RAM space 80-FFH is to use the sfr data type.
This is shown in the below example .Both the bit and byte addresses for the P0-P3
ports are given in the table. Notice in the given example that there is no
#include<reg51.h> statement which allows us to access any byte of the SFR RAM
space 80-FFH.
86
RTC. To display them they must be converted to ASCII. So, in this topic we are
showing application of logic and instructions in the conversion of BCD and ASCII.
ASCII numbers
On ASCII key boards, when the key “0” is activated, “0110000” (30h)
is provided to the system. Similarly 31h (0110001) is provided for the key “1”, and so
on as shown in the table
Packed BCD to ASCII conversion
The RTC provides the time of day (hour, minutes, seconds) and the date (year, month,
day) continuously, regardless of whether the power is ON or OFF. In the conversion
procedure the packed BCD is first converted to unpacked BCD. Then it is tagged with
0110000 (30h).
87
Key ASCII unpacked BCD packed BCD
4 34 00000100
7 37 00000111 01000111 or 47h
To calculate the checksum byte of a series of bytes of data, the following steps can be
used
1) Add the bytes together and drop the carries.
2) Take the 2’s complement of the total sum. This is the checksum byte , which
becomes the last byte of the series
88
One way to do this is to divide it by 10 and keep the remainder, for example
11111101 or FDH is 253 in decimal. The following is one version of the algorithm for
conversion of hex (binary) to decimal.
Quotient Remainder
FD/0A 19 3(low digit) LSD
19/0A 2 5(middle digit)
2(high digit) (MSD)
ABOUT SOFTWARE
Software’s used are:
*Keil software for c programming
*Express PCB for lay out design
*Express SCH for schematic design
µ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?
89
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.
90
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 menu.
Project – New Project…. This opens a standard Windows dialog that asks you
for the new project file name.
We suggest that you use a separate folder for each project. You can simply use the
icon Create New Folder in this dialog to get a new empty folder. Then select 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 contains a default target and
file group name. You can see these names in the Project.
Window – Files.
Now use from the menu Project – Select Device for Target and select a CPU for your
project. The Select Device dialog box shows the µVision2 device database. Just select
the micro controller you use. We are using for our examples the Philips 80C51RD+
CPU. This selection sets necessary tool options for the 80C51RD+ device and
simplifies in this way the tool Configuration.
Building Projects and Creating a HEX Files
Typical, the tool settings under Options – Target are all you need to start a new
application. You may translate all source files and line the application with a click on
the Build Target toolbar icon. When you build an application with syntax errors,
µVision2 will display errors and warning messages in the Output Window – Build
page. A double click on a message line opens the source file on 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
91
µVision2 simulates up to 16 Mbytes of memory from which areas can be mapped for
read, write, or code execution access. The µVision2 simulator traps and reports illegal
memory access.
In addition to memory mapping, the simulator also provides support for the integrated
peripherals of the various 8051 derivatives. The on-chip peripherals of 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 more
Information 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 Debug Session
command. Depending on the Options for Target – Debug Configuration, µVision2
will load the application program and run the startup code µVision2 saves the editor
screen layout and restores the screen layout of the last debug session. If the program
execution stops, µVision2 opens an editor 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 are Available. The
additional debug windows are discussed in the following.
_ The project structure or tool parameters cannot be modified. All build Commands
are disabled.
Disassembly Window
The 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.
92
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.
93
5. Save the Project by typing suitable project name with no extension in u r
own folder sited in either C:\ or D:\
94
9. Select AT89C51 as shown below
95
12. Then Click either YES or NO………mostly “NO”
14. Now double click on the Target1, you would get another option “Source
group 1” as shown in next page.
15. Click on the file option from menu bar and select “new”
96
16. The next screen will be as shown in next page, and just maximize it by
double clicking on its blue boarder.
18. For a program written in Assembly, then save it with extension “. asm”
and for “C” based program save it with extension “ .C”
97
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.
98
21. Now select as per your file extension given while saving the file
23. Now Press function key F7 to compile. Any error will appear if so happen.
99
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.
100
29. Now keep Pressing function key “F11” slowly and observe.
Source Code
101
#include<reg51.h>
#include<GSM_init.h>
unsigned char L,Lg[12],key,x[4],Po,count,z;
bit f2,f3,f4,f5;
sbit IOE1=P3^7; sbit IOE2=P3^6;
sbit m1=P1^0;sbit m2=P1^1;sbit m3=P1^2;sbit m4=P1^3;
sbit as=P3^2;sbit cs=P1^7;sbit ent=P3^3; sbit inc=P3^4;sbit dec=P3^5;
void main(void);
void serial(void) interrupt 4 using 1
{
if(RI)
{
a[i]=SBUF;
RI=0;
if(SBUF=='*')
{
f2=1;
EA=0;
}
i++;
if(SBUF=='$')
{
i=0;
}
}
}
void clear()
{
for(i=0;i<42;i++)
{
a[i]='\0';
}
}
GPS_track()
{
IOE1=1;
IOE2=0;
ES=1;
cmd(0x80);
102
l1: sconf1();
EA=1;
delay(50);
EA=0;
if(a[0]=='G' && a[1]=='P' && a[2]=='G' && a[3]=='G' &&
a[4]=='A' && a[27]=='N')
{
goto l2;
}
else
{
clear(); EA=1; goto l1;
}
l2: cmd(0x01); cmd(0x80);
for(i=6;i<22;i++)
{
DT(a[i]);
}
cmd(0xc0);
for(i=22;i<38;i++)
{
DT(a[i]);
}
Po=0;
for(i=17;i<29;i++)
{
Lg[Po]=a[i];Po++;
}
IOE1=0;
IOE2=1;
GSM_setup();
EA=0;
serial_tx("AT+CMGS=");
serial_tx1(0x22);
serial_tx("+919177212213");
serial_tx1(0x22);
serial_tx1(0x0d);
delay(10);
serial_tx("Logitude:");
for(i=0;i<4;i++)
{
serial_tx1(Lg[i]);
103
}
serial_tx(" Latitude:");
for(i=5;i<11;i++)
{
serial_tx1(Lg[i]);
}
serial_tx1(0x1a);
cmd(0x01);
DTS("msg sent");
for(i=0;i<42;i++)
{
a[i]='\0';
}
EA=1;
cmd(0x01);cmd(0x80);DTS("welcome");
}
void start()
{
m1=1;m2=0;m3=1;m4=0;
}
void stop()
{
m1=1;m2=1;m3=1;m4=1;
}
void main()
{
IOE1=0;
IOE2=1;
GSM_setup();
L=0;f2=0;f3=0;f4=0;f5=0;key=0;
while(1)
{
EA=1;count=0;cmd(0x01);
key=0;Po=0;
goto j2;
j1: key=0;Po=0;
cmd(0x80);DTS("Password :");
j2: if(ent==0)
{
while(ent==0);
104
while(count<2 && f4==1)
{
cmd(0x80);
DTS("Password :");
cmd(0x8a+Po);
DT(key+0x30);
if(inc==0)
{
while(inc==0);
if(key<9 && key>=0)
{
key++;
}
else
{
key=0;
}
}
else if(dec==0)
{
while(dec==0);
if(key<9 && key>0)
{
key--;
}
else
{
key=0;
}
}
else if(ent==0)
{
while(ent==0);
key=0;
Po++;
}
x[Po]=key+0x30;
if(Po>=4)
{
if(x[0]=='1' && x[1]=='2' && x[2]=='3'
&& x[3]=='4')
{
105
cmd(0x01);cmd(0xc0);DTS("correct pass u can");
delay(100);
cmd(0x01);delay(10);f4=0;f3=0;
count=0;
}
else
{
}
}
if(count>=2)
{
cmd(0x01);cmd(0x80);DTS("Due to wrong pass");
cmd(0xc0);DTS("Vehicle P blocked");
while(1) ;
}
if(cs==0 && as==1 && f3==0)
{
start();
cmd(0x01);cmd(0x80);DTS("vehicle is going");
}
else
{
stop();
if(as==0)
{
f3=1;
cmd(0x01);cmd(0x80);DTS("vehicle is
crashed");
EA=0;
serial_tx("AT+CMGS=");
serial_tx1(0x22);
serial_tx("+919177212213");
106
serial_tx1(0x22);
serial_tx1(0x0d);
delay(10);
serial_tx(" ur vehicle is crashed");
serial_tx1(0x1a);
//clear();
i=0;
delay(100);
EA=1;
// f1=wait();
// if(f1!=1)
// {
// goto intim;
// }
// f1=0;
clear();L=0;i=0;
GPS_track();
}
}
while(f2==1)
{
i=0;
cmd(0x01);cmd(0xC0);
while(a[i]!='#')
{
i++ ;
}
z=i;
for(i=z+1;a[i]!='*';i++)
{
DT(a[i]);
}
delay(300);
if(a[z+1]=='B' && a[z+2]=='L' && a[z+3]=='O' &&
a[z+4]=='C' && a[z+5]=='K' && a[z+6]=='*')
{
cmd(0x01);cmd(0x80);DTS("vehicle is
blocked");
delay(300);
stop();
107
f3=1;f4=1;
}
else if(a[z+1]=='T' && a[z+2]=='R' && a[z+3]=='A'
&& a[z+4]=='C' && a[z+5]=='K' && a[z+6]=='*')
{
cmd(0x01);cmd(0x80);DTS("vehicle is
Tracking");
delay(200);cmd(0x01);clear();
GPS_track();
f1=0;
}
i=0;z=0;
for(i=0;i<43;i++)
{
a[i]='\0';
}
f2=0;
EA=1;
}
cmd(0x01);cmd(0xc0);DTS("Waiting for mess");
108
Conclusion
The project “DESIGN & DEVELOPMENT OF GSM & GPS BASED VEHICLE
THEFT CONTROL SYSTEM” has been successfully designed and tested.
Integrating features of all the hardware components used have developed it. Presence
of every module has been reasoned out and placed carefully thus contributing to the
best working of the unit. Secondly, using highly advanced IC’s and with the help of
growing technology the project has been successfully implemented.
Future Aspects
In this project, we are taking the action after the vehicle is thefting. If at all, we
provide some of the authentication before operating the vehicle so that we can prevent
the vehicle thefting at the starting itself. The authentication may be either the RFID
or smart card or a finger print module. By adding the authentication to this project,
there we should provide more security to this project.
109
Bibliography
-Kenneth J.Ayala
-B.Ram
-Ramesh S.Gaonkar
Electronic Components
-D.V.Prasad
Wireless Communications
- Theodore S. Rappaport
http://tycho.usno.navy.mil/gpscurr.html
110