Bio-Metric Finger Print Based Car Locker Application System
Bio-Metric Finger Print Based Car Locker Application System
Bio-Metric Finger Print Based Car Locker Application System
APPLICATION SYSTEM
ABSTRACT
2. www.wikipedia.org
3. www.atmel.com
4. www.8051projects.com
In terms of complexity embedded systems can range from very simple with a
single microcontroller chip, to very complex with multiple units, peripherals
and networks mounted inside a large chassis or enclosure.
(or)
Application Software
Operating System
H/W
The operating system runs above the hardware and the application software
runs above the operating system. The same architecture is applicable to any
computer including desktop computer. However these are significant
differences. It is not compulsory to have an operating system in every
embedded system. For small applications such as remote control units, air
conditioners, toys etc.
Applications of Embedded Systems
Some of the most common embedded systems used in everyday life are
As the name implies, stand alone systems work in stand alone mode. They
take i/p, process them and produce the desire o/p. The i/p can be an
electrical signal from transducer or temperature signal or commands from
human being. The o/p can be electrical signal to drive another system an led
or lcd display
4. Mobile devices:-
Actually it is a combination of both VLSI and Embedded System
CHAPTER 2
Microcontrollers
Based on the Processor side Embedded Systems is mainly divided into 3
types
1. Micro Processor : - are for general purpose eg: our personal computer
2. Micro Controller:- are for specific applications, because of cheaper cost
we will go for these
3. DSP ( Digital Signal Processor ):- are for high and sensitive application
purpose
INTRODUCTION TO 8051
Features:-
Timers------2
Interrupts-----6
serial port-----1
After that so many industries are come into picture to introduce 8051 again
wit some extra features. This has led to many versions of the 8051 with
different speeds and amounts of on-chip ROM marketed by more
manufactures those are
Zilog---------Z
Motrolla
Freescale
Before these industries came into picture 8051 chips are made with CMOs
technology. ATmel was introduced with ISP (In System Programming)
Internal ROM of 8k
Pin Description
Pin ( 1- 8 ) Port 1: Port 1 is an 8-bit bidirectional I/O port with internal pull
ups. Port 1 pins that have 1s written to them are pulled high by the internal
pull ups, and in that state can be used as inputs. As inputs, port 1 pins that
are externally being pulled low will source current because of the internal
pull ups.
Pin (10 – 17) Port 3: Port 3 is an 8-bit bidirectional I/O port with internal
pull ups. It also serves the functions of various special features of the 80C51
Family as follows:
Pin 29 PSEN: Program Store Enable is the read strobe to external Program
Memory. When the device is executing out of external Program Memory,
PSEN is activated twice each machine cycle (except that two PSEN
activations are skipped during accesses to external Data Memory). PSEN is
not activated when the device is executing out of internal Program Memory.
Pin 30 ALE/PROG: Address Latch Enable output pulse for latching the low
byte of the address during accesses to external memory. ALE is emitted at a
constant rate of 1/6 of the oscillator frequency, for external timing or
clocking purposes, even when there are no accesses to external memory.
(However, one ALE pulse is skipped during each access to external Data
Memory.) This pin is also the program pulse input (PROG) during EPROM
programming.
Pin 31 EA/VPP: When EA is held high the CPU executes out of internal
Program Memory. Holding EA low forces the CPU to execute out of
external memory regardless of the Program Counter value. In the 80C31, EA
must be externally wired low. In the EPROM devices, this pin also receives
the programming supply voltage (VPP) during EPROM programming.
BASIC REQUIRMENTS
The following are the basic five requirements if any micro controller has to
work properly. That means before going to work with 8051 micro controller
we shoul have take care about the fallowing main features.
1. Power Supply
2. Crystal Oscillator
3. Reset
4. SIP Resistor
5. Resistor for EA Pin
• VOLTAGE REGULATORS
Transformer
Filter
Regulator
This is a simple DC regulated supply project using 7805 voltage regulator to
obtain a variable DC voltage range from 5V to 15V
1. Unregulated voltage in
2. Ground
2. Crystal Oscillator
The 8051 uses the crystal for precisely that: to synchronize it’s operation.
Effectively, the 8051 operates using what are called "machine cycles." A
single machine cycle is the minimum amount of time in which a single 8051
instruction can be executed. although many instructions take multiple
cycles. 8051 has an on-chip oscillator. It needs an external crystal that
decides the operating frequency of the 8051. The crystal is connected to pins
18 and 19 with stabilizing capacitors. 12 MHz (11.059MHz) crystal is often
used and the capacitance ranges from 20pF to 40pF.
11,059,000 / 12 = 921,583
11.0592 MHz crystals are often used because it can be divided to give you
exact clock rates for most of the common baud rates for the UART,
especially for the higher speeds (9600, 19200).
Baud Rates in the 8051
11.0592 MHz
Machine cycle 28800 Hz
XTAL frequency �32
�12 Timer 1
oscillator 921.6 kHz By UART To timer 1
To set the
Baud rate
3. Reset
RESET is an active High input When RESET is set to High, 8051 goes back
to the power on state.The 8051 is reset by holding the RST high for at least
two machine cycles and then returning it low. Initially charging of capacitor
makes RST High, When capacitor charges fully it blocks DC.
4. SIP Resistor
Generally SIP Resistor is used to close the open drain connections of Port 0.
10 resistor for EA pin tells the controller that we are not accessing any
external memory.
CHAPTER 4
BLOCK DIAGRAM
LCD 16×2
RPS
Finger
MICROCONTROLLER
MAX232 print
AT89S52
scanner
Crystal
Relay
LED
The main aim of our project is that whether the coming person is accessible
to our premises or not, for that we will attach a finger print module with the
help of a max 232. first we will register the finger prints into that reader with
the software called EV Tools. Whenever any person keeps his finger onto
that reader it sends the signals to the microcontroller via max232. According
to the received information micro controller will decides whether the
information coming is valid or not. If the coming information is valid the
relay which is attached to the microcontroller will starts work means LED
attached to the relay will glow. If information received is not valid access
will be not given to that user.
INTRODUCTION TO BIOMETRICS
Biometrics refers to methods for uniquely recognizing humans based upon
one or more intrinsic physical or behavioral traits. In information
technology, in particular, biometrics is used as a form of identity access
management and access control. It is also used to identify individuals in
groups that are under surveillance.
Most of us can remember when biometric security checks were the stuff of
science fiction or action movies like James Bond. However, biometric
identification is becoming commonplace as hardware and software come
down in price.
LCD
An 8051 program must interact with the outside world using input and
output devices that communicate directly with a human being. One of the
most common devices attached to an 8051 is an LCD display. Some of the
most common LCDs connected to the 8051 are 16x2 and 20x2 displays. This
means 16 characters per line by 2 lines and 20 characters per line by 2 lines,
respectively.
The standard requires 3 control lines as well as either 4 or 8 I/O lines for the
data bus. The user may select whether the LCD is to operate with a 4-bit data
bus or an 8-bit data bus. If a 4-bit data bus is used the LCD will require a
total of 7 data lines (3 control lines plus the 4 lines for the data bus). If an 8-
bit data bus is used the LCD will require a total of 11 data lines (3 control
lines plus the 8 lines for the data bus).
Sending data/command in 4-bit Mode
We will now look into the common steps to send data/command to LCD
when working in 4-bit mode. As i already explained in 4-bit mode data is
sent nibble by nibble, first we send higher nibble and then lower nibble. This
means in both command and data sending function we need to saperate the
higher 4-bits and lower 4-bits.
The common steps are:
The three control lines are referred to as EN, RS, and RW.
The EN line is called "Enable." This control line is used to tell the LCD that
you are sending it data. To send data to the LCD, your program should make
sure this line is low (0) and then set the other two control lines and/or put
data on the data bus. When the other lines are completely ready, bring EN
high (1) and wait for the minimum amount of time required by the LCD
datasheet (this varies from LCD to LCD), and end by bringing it low (0)
again.
The RS line is the "Register Select" line. When RS is low (0), the data is to
be treated as a command or special instruction (such as clear screen, position
cursor, etc.). When RS is high (1), the data being sent is text data which
sould be displayed on the screen. For example, to display the letter "T" on
the screen you would set RS high.
The RW line is the "Read/Write" control line. When RW is low (0), the
information on the data bus is being written to the LCD. When RW is high
(1), the program is effectively querying (or reading) the LCD. Only one
instruction ("Get LCD status") is a read command. All others are write
commands--so RW will almost always be low.Finally, the data bus consists
of 4 or 8 lines (depending on the mode of operation selected by the user). In
the case of an 8-bit data bus, the lines are referred to as DB0, DB1, DB2,
DB3, DB4, DB5, DB6, and DB7.
Before you may really use the LCD, you must initialize and configure it.
This is accomplished by sending a number of initialization instructions to the
LCD. The first instruction we send must tell the LCD whether we'll be
communicating with it with an 8-bit or 4-bit data bus. We also select a 5x8
dot character font. These two options are selected by sending the command
38h to the LCD as a command. As you will recall from the last section, we
mentioned that the RS line must be low if we are sending a command to the
LCD. There are also instruction command codes that can be sent to the LCD
to clear the display or force the cursor to the home position or blink the
cursor. Table lists the instruction command code
WRITING TEXT TO THE LCD
To send data we simply need to select the data register. Everything is same
as the command routine. Following are the steps:
RELAY
Relays are devices which allow low power circuits to switch a relatively
high Current/Voltage ON/OFF. For a relay to operate a suitable pull-in &
holding current should be passed through its coil. Generally relay coils are
designed to operate from a particular voltage often its 5V or 12V.
Figure shows the basic relay driver circuit. As you can see an NPN
transistor BC547 is being used to control the relay. The transistor is driven
into saturation (turned ON) when a LOGIC 1 is written on the PORT PIN
thus turning ON the relay. The relay is turned OFF by writing LOGIC 0 on
the port pin.
As you can see we have used a pull up resistor at the base of the transistor.
AT8951/52 has an internal pull up resistor of 10k so when the pin is pulled
high the current flows through this resistor so the maximum output current is
5v/10K = 0.5ma, the DC current gain of BC547 is 100 so the maximum
collector current we can get is 0.5ma x 100 = 50ma, but most of the relays
require more than 70ma-130ma current depending on the relay that we have
used, 0.5ma of base current is not suitable enough for turning ON the relay,
so we have used an external pull up resistor. When the controller pin is high
current flows through the controller pin i.e. 5v/10k=0.5ma as well as through
the pull up resistor. We have used 4.7k pull up resistor so 5v/4.7k=1.1ma so
maximum base current can be 0.5ma + 1.1ma=1.6ma i.e. collector current
=1.6ma x 100 = 160ma which is enough to turn ON most of the relays.
CHAPTER 6
SOFTWARE DETAILS
Ride
Please note that in this page RIDE will reference to RIDE6 software
which supports 8051, XA and other derivates. For ARM, ST7 and STM8
family the software is RIDE7.
Fig: RIDE
Multi-file Editor
http://www.raisonance.com/products/info/RIDE.php - top
Project Manager:
The project manager creates links between the various files that
includes a project and the tools necessary to create that project. A project is
dedicated to a particular target: 8051, XA, or other microcontrollers. The
linker manages object and library files, and output format conversion as
necessary.
Fig Project Manager
Tree-structured projects ease the management of the most complex
applications (car switching, flash, multi-processor, multi-module...). The
‘Project Make’ command directs the integrated "make" utility to build or
rebuild the target programs for the current project. To avoid wasting time,
each source file will be translated by its associated tool only if any of its
dependencies are found to be out of date. Dependency analyses, even
directly or indirectly included files, are automatic.
Options can be defined as global (for all the files) or as local (for a specific
node or file). Individual attributes can be set for any file in the project.
Similarities between the different tools make migration from one processor
family to another immediate and easy, permitting multi-processor projects.
http://www.raisonance.com/products/info/RIDE.php-top.
Fig Message
http://www.raisonance.com/products/info/RIDE.php-top.
The Script Language:
Most RIDE commands can be run from a script file. Scripts are
written in a C-like language, and are interpreted at execution time. With the
script language, most repetitive tasks can be done automatically thus
speeding up operations and reducing the probability of errors. Scripts are
very useful for Hardware Testing (board, emulator) and to initialize the
system to a known status, but can also be conveniently used for other tasks
such as creating very complex breakpoints or redirecting some output to a
file to run a 'batch' debug session.
http://www.raisonance.com/products/info/RIDE.php-top.
Context Saving:
http://www.raisonance.com/products/info/RIDE.php-top
Integrated High-level Debug:
With the simple click of a mouse button, the user can select among
several powerful capabilities: simulate, monitor, or emulate. The fast smooth
integration given by RIDE promotes a feeling of familiarity and ease of use,
while providing a level of comfort and efficiency that reduces the most
difficult and complex applications to tasks that are easily managed. This
seamless progression of the "code-translate-link-debug-test" cycle is the
result of perfect communication between the programming tools and the
debugger. This is the heart of RIDE.
Fig : Debugger
Integral Simulation:
Introduction
This ISP Programmer can be used either for in-
system programming or as a stand-alone spi programmer for Atmel
ISP programmable devices. The programming interface is
compatibe
to STK200 ISP programmer hardware so the users of STK200 can also
use the software which can program both the 8051 and AVR series devices.
Hardware
The power to the interface is provided by the target system. The
74HCT541 IC isolates and buffers the parallel port signals. It is necessary to
use the HCT type IC in order to make sure the programmer should also work
with 3V type parallel port.
The printer port buffer interface is same as shown in figure 1.For the
u-controllera40pinZIFsocketcanbe used. This programmer circuit can be
use to program the 89S series devices and the AVR series device switches
are pin compatible to 8051, like 90S8515. For other AVR series devices
the user can make an adapter board for 20, 28 and 40 pin devices. The pin
numbers shown in brackets correspond to PC parallel port connector.
Software
The ISP-30a.zip file contains the main program and the i/o port driver.
Place all files in the same folder. The main screen view of the program is
shown in figure 3.
Also make sure do not program the RSTDISBL fuse in
ATmega8, ATtiny26 and ATtiny2313 otherwise further spi
programming is disable and you will need a parallel programmer to
enable the
spi programming. For the fuses setting consult the datasheet of the
respective device.
Note: The memory buffer contains both the code data and the eeprom
data for the devices which have eeprom memory. The eeprom memory
address in buffer is started after he code memory, so it is necessary the
hex file should contains the eeprom start address after the end of code
memory last address i.e. for 90S2313 the start address for eeprom memory
is 0x800.
The software does not provide the erase command
because th s function is performed automatically during device
programming. If you are required to erase the controller, first use the clear
buffer command then program the controller, this will erase the controller
and also set the AVR device fuses to default setting.
Fig Main screen of the program ISP-Pgm Ver 3.0a
EMBEDDED ‘C’
INTRODUCTION TO EMBEDDED ‘C’
Ex: Hitec – c, Keil – c
Embedded C Compiler
An optimizing assembler.
Compatible - integrates into the MPLAB IDE, MPLAB ICD and most
CONCLUSION