Bio-Metric Finger Print Based Car Locker Application System

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 46

BIO-METRIC FINGER PRINT BASED CAR LOCKER

APPLICATION SYSTEM
ABSTRACT

The main objective of this project is to develop an embedded system


based car locker control by using our fingerprints as authentication.
Working principle of our project is we will store all the people’s
finger prints in the reader which is having the capability to store 1000 finger
prints. The persons who will come and put their fingers on to the reader will
be given access for the car applications if that persons finger print is already
recorded, will be rejected if not stored.
Whenever the user enters into the car he puts his finger on to the
reader where we kept our embedded board attached with the reader.
Whenever the persons finger is valid then our embedded systems board will
be automatically gives the permission to carry the operations in the car if the
persons finger print is not there at out readers memory no way the access
will be given to do the operations.

The system can work standalone and can also be integrated to a


computer using RS-232 port. The complete code for the embedded system is
going to be developed using embedded ‘C’-Language.
SOFTWARE: Embedded ‘C’
TOOLS: RIDE/KEIL ‘C’ IDE
TARGET DEVICE: AT89S52 based our own developed board.
ADVANTAGES: Low cost, automated operation, Low Power
consumption.
REFERENCES
1. The 8051 micro controller and embedded systems by
Mazidi.

2. www.wikipedia.org

3. www.atmel.com

4. www.8051projects.com

5. Embedded systems with 8051 by Kenneth J. Ayala


CHAPTER 1
INTRODUCTION TO EMBEDDED SYSTEMS

Each day, our lives become more dependent on 'embedded systems',


digital information technology that is embedded in our environment. More
than 98% of processors applied today are in embedded systems, and are no
longer visible to the customer as 'computers' in the ordinary sense. An
Embedded System is a special-purpose system in which the computer is
completely encapsulated by or dedicated to the device or system it controls.
Unlike a general-purpose computer, such as a personal computer, an
embedded system performs one or a few pre-defined tasks, usually with very
specific requirements. Since the system is dedicated to specific tasks, design
engineers can optimize it, reducing the size and cost of the product.
Embedded systems are often mass-produced, benefiting from economies of
scale. The increasing use of PC hardware is one of the most important
developments in high-end embedded systems in recent years. Hardware
costs of high-end systems have dropped dramatically as a result of this trend,
making feasible some projects which previously would not have been done
because of the high cost of non-PC-based embedded hardware. But software
choices for the embedded PC platform are not nearly as attractive as the
hardware.

Typically, an embedded system is housed on a single microprocessor


board with the programs stored in ROM. Virtually all appliances that have a
digital interface -- watches, microwaves, VCRs, cars -- utilize embedded
systems. Some embedded systems include an operating system, but many are
so specialized that the entire logic can be implemented as a single program.
Physically, Embedded Systems range from portable devices such as digital
watches and MP3 players, to large stationary installations like traffic lights,
factory controllers, or the systems controlling nuclear power plants.

In terms of complexity embedded systems can range from very simple with a
single microcontroller chip, to very complex with multiple units, peripherals
and networks mounted inside a large chassis or enclosure.

Definition of an Embedded Systems

Embedded system is defined as, For a particular/specific application


implementing the software code to interact directly with that particular
hardware what we built. Software is used for providing features and
flexibility, Hardware = {Processors, ASICs, Memory,...} is used for
Performance (& sometimes security)
(or)

An embedded system is a special-purpose computer system designed


to perform one or a few dedicated functions, often with real-time computing
constraints. It is usually embedded as part of a complete device including
hardware and mechanical parts. In contrast, a general-purpose computer,
such as a personal computer, can do many different tasks depending on
programming.

(or)

An embedded system is a single-purpose computer built into a larger system


for the purposes of controlling and monitoring the system. A specialized
computer system that is part of a larger system or machine.
There are many definitions of embedded system but all of these can be
combined into a single concept. An embedded system is a special purpose
computer system that is used for particular task.

Overview of an Embedded System Architecture

Every Embedded system consists of a custom-built hardware built around a


central processing unit. This hardware also contains memory chips onto
which the software is loaded.

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

Small embedded controllers: 8-bit CPUs dominate, simple or no


operating system
( e.g., thermostats)
Control systems: Often use DSP chip for control computations
(e.g., automotive engine control)
Distributed embedded control: Mixture of large and small nodes on a real-
time
embedded networks
(e.g., cars, elevators, factory automation)
System on chip: ASIC design tailored to application area
(e.g., consumer electronics, set-top boxes)
Network equipment: Emphasis on data movement/packet flow
(e.g., network switches; telephone switches)
Critical systems: Safety and mission critical computing
(e.g., pacemakers, automatic trains)
Signal processing: Often use DSP chips for vision, audio, or
other signal
Processing (e.g., face recognition)
Robotics: Uses various types of embedded computing
(especially
vision and control) (e.g., autonomous
vehicles)
Computer peripherals: Disk drives, keyboards, laser printers, etc.
Wireless systems: Wireless network-connected “sensor
networks” and
“motes” to gather and report information
Embedded PCs: Palmtop and small form factor PCs
embedded into
equipment
Command and control: Often huge military systems and “systems
of systems”
(e.g., a fleet of warships with interconnected
computers)
Home Appliances, intercom, telephones, security systems, garage door
openers, answering machines, fax machines, home computers, TVs, cable
TV tuner, VCR, camcorder, remote controls, video games, cellular phones,
musical instruments, sewing machines, lighting control, paging, camera,
pinball machines, toys, exercise equipment
Office Telephones, computers, security systems, fax machines, microwave,
copier, laser printer, color printer, paging
Auto Trip computer, engine control, air bag, ABS, instrumentation, security
system, transmission control, entertainment, climate control, cellular phone,
keyless entry

TYPES OF EMBEDDED SYSTEMS


Based on functionality and performance embedded systems categorized as 4
types
1. Stand alone embedded systems
2. Real time embedded systems
3. Networked information appliances
4. Mobile devices

1. Stand alone embedded systems:-

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

ex digital camera, microwave oven, CD player, Air conditioner etc


2. Real time embedded systems:-

In this type of an embedded system a specific work has to be complete in a


particular period of time.
Hard Real time systems:- embedded real time used in missiles
Soft Real time systems:- DVD players

3. Networked information appliances:-


Embedded systems that are provided with n/w interfaces and accessed by
n/w's such as local area n/w or internet are called Network Information
Appliances

ex A web camera is connected to the internet. Camera can send pictures in


real time to any computers connected to the internet

4. Mobile devices:-
Actually it is a combination of both VLSI and Embedded System

Mobile devices such as Mobile phone, Personal digital assistants, smart


phones etc are special category of embedded systems

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

MICROCONTROLLER VERSUS MICROPROCESSOR

A system designer using a general-purpose microprocessor such as the


Pentium or the 68040 must add RAM, ROM, I/O ports, and timers externally
to make them functional. Although the addition of external RAM, ROM, and
I/O ports makes these systems bulkier and much more expensive, they have
the advantage of versatility such that the designer can decide on the amount
of RAM, ROM and I/O ports needed to fit the task at hand.

A Microcontroller has a CPU (a microprocessor) in addition to a fixed


amount of RAM, ROM, I/O ports, and a timer all on a single chip. In other
words, the processor, the RAM, ROM, I/O ports and the timer are all
embedded together on one chip; therefore, the designer cannot add any
external memory, I/O ports, or timer to it. The fixed amount of on-chip
ROM, RAM, and number of I/O ports in Microcontrollers makes them ideal
for many applications in which cost and space are critical.
MICRO CONTROLLER: is a chip through which we can connect many
other devices and also those are controlled by the program the program
which burn into that chip

INTRODUCTION TO 8051

Intel Corporation introduced an 8 bit micro controller called the 8051 in


1981. While the time of introduction, Intel was given some specific features
and particular name as MCS-51

Features:-

ROM ---- 4 K bytes of Memory

RAM ----- 128 bytes

Timers------2

4 ports --- 32 I/O ports ( each 8 bit wide )

Interrupts-----6

serial port-----1

all on a single chip

Many semiconductor manufacturers started either manufacturing the 8051


devices as such (Intel was liberal in giving away license to whoever asked)
or developing a new kind of microcontrollers based on 8051 core
architecture. Manufacturers modified the basic 8051 architecture and added
many new peripheral functions to make them attractive to the designers.

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

Dallas ------ DS4700

Zilog---------Z

Motrolla

Freescale

Atmel ------- AT89C51/52, AT89S51/52

Phillips ----- P89C51RD2Fn

Before these industries came into picture 8051 chips are made with CMOs
technology. ATmel was introduced with ISP (In System Programming)

Pin diagram of AT89s52


AT89S52 MICROCONTROLLER

The AT89S52 is a low-power, high-performance CMOS 8-bit


microcontroller with 8K bytes of in-system programmable Flash memory.
The device is manufactured using Atmel’s high-density nonvolatile memory
technology and is compatible with the industry-standard 80C51
instruction set and pin out. The on-chip Flash allows the program memory to
be reprogrammed in-system or by a conventional nonvolatile memory
programmer. By combining a versatile 8-bit CPU with in-system
programmable Flash on a monolithic chip, the Atmel AT89S52 is a powerful
microcontroller which provides a highly-flexible and cost-effective solution
to many embedded control applications.
AT89S52 Architecture consists of these specific features:

 8 bit CPU with registers A (Accumulator) and B

 16 bit Program Counter(PC) and Data Pointer (DPTR)

 8 bit Program Status Word (PSW)

 8 bit Stack Pointer (SP)

 Internal ROM of 8k

 Internal RAM of 128 bytes

• Four Register cars each containing eight registers

• Sixteen bytes, which may be addressed at the bit level

• Eighty bytes of general purpose data memory


 32 I/O pins arranged as four 8-bit ports: P0,P1,P2,P3

 Two 16-bit Timers/Counters: T0 and T1

 Full duplex serial data Receiver/Transmitter : SBUF

 Control Registers: TCON,TMOD,SCON,SMOD,PCON,IP and IE.

 Two external and three internal interrupt sources.

 Oscillator and Clock circuits.

Pin Description

Pin ( 32 – 39 ) Port 0: Port 0 is an 8-bit open drain bidirectional port. As


an open drain output port, it can sink eight LS TTL loads. Port 0 pins that
have 1s written to them float, and in that state will function as high
impedance inputs. Port 0 is also the multiplexed low-order address and data
bus during accesses to external memory. In this application it uses strong
internal pull ups when emitting 1s. Port 0 emits code bytes during program
verification. In this application, external pull ups are required.

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.

Alternate Functions of Port 1 used for In system Programmable

P.5 MOSI --------- Instruction Input

P.6 MISO ---------- Data Output

P.7 SCK ----------- Clk in


Pin ( 21 – 28 ) Port 2: Port 2 is an 8-bit bidirectional I/O port with internal
pull ups. Port 2 emits the high-order address byte during accesses to external
memory that use 16-bit addresses. In this application, it uses the strong
internal pull ups when emitting 1s.

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:

Port Pin Alternate Function

P3.0- RxD (serial input port)

P3.1 -TxD (serial output port)

P3.2 -INT0 (external interrupt 0)

P3.3- INT1 (external interrupt 1)

P3.4 -T0 (timer 0 external input)

P3.5 -T1 (timer 1 external input)

P3.6 -WR (external data memory write strobe)

P3.7 -RD (external data memory read strobe)

Pin 40 VCC: -Supply voltage

Pin 20 VSS: -Circuit ground potential

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.

Pin 18 XTAL1: Input to the inverting oscillator amplifier.

Pin 19 XTAL2: Output from the inverting oscillator amplifier.


CHAPTER 3

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

1. Regulated Power Supply

In mains-supplied electronic systems the AC input voltage must be


converted into a DC voltage with the right value and degree of stabilization.
The common DC voltages that are required to power up the devices are
generally in the range of 3 VDC to 30 VDC. Typically the fixed types of DC
voltages are 5V, 9V, 12V, 15V and 18V DC.

POWER SUPPLY MODULES:

• STEP DOWN TRANSFORMER

• BRIDGE RECTIFIER WITH FILTER

• VOLTAGE REGULATORS
Transformer

Transformers convert AC electricity from one voltage to another with little


loss of power. Transformers work only with AC and this is one of the
reasons why mains electricity is AC. Step-up transformers increase voltage,
step-down transformers reduce voltage.
A step down power transformer is used to step down the AC voltage from
the line voltage
of 110 VAC or 220 VAC i.e, it converts higher voltage at the input side to a
lower voltage at the output.
Rectifier

There are several ways of connecting diodes to make a rectifier to convert


AC to DC. The bridge rectifier is the most important and it produces full-
wave varying DC

Bridge rectifier Output: full-wave varying DC


Alternate pairs of diodes conduct, changing over (using all the
AC wave)
the connections so the alternating directions of
AC are converted to the one direction of DC.

Filter

Filtering is performed by a large value electrolytic capacitor connected


across the DC supply to act as a reservoir, supplying current to the
output when the varying DC voltage from the rectifier is falling. The
diagram shows the unfiltered varying DC (dotted line) and the filtered
DC (solid line). The capacitor charges quickly near the peak of the
varying DC, and then discharges as it supplies current to the output.

Typically 1000 μf capacitor is used

Regulator
This is a simple DC regulated supply project using 7805 voltage regulator to
obtain a variable DC voltage range from 5V to 15V

Pin out of the 7805 regulator IC.

1. Unregulated voltage in

2. Ground

3. Regulated voltage out


If you need other voltages than +5V, you can modify the circuit by replacing
the 7805 chips with another regulator with different output voltage from
regulator 78xx chip family. The last numbers in the the chip code tells the
output voltage. Remember that the input voltage must be at least 3V greater
than regulator output voltage ot otherwise the regulator does not work well.

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.

A cycle is, in reality, 12 pulses of the crystal. That is to say, if an instruction


takes one machine cycle to execute, it will take 12 pulses of the crystal to
execute. Since we know the we can calculate how many instruction cycles
the 8051 can execute per second:

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

XTAL = 11.0592 MHz:

The frequency of system clock = 11.0592 MHz / 12 = 921.6 kHz

The frequency sent to timer 1 = 921.6 kHz/ 32 = 28,800 Hz

(a) 28,800 / 3 = 9600 where -3 = FD (hex) is loaded into TH1

(b) 28,800 / 12 = 2400 where -12 = F4 (hex) is loaded into TH1

(c) 28,800 / 24 = 1200 where -24 = E8 (hex) is loaded into TH1

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

Sip Resistor is a single in pack Resistor (i.e.,) 8 resistors connected in series.


Basically SIP resistor is a 9 pin connector first pin is for power supply to the
entire 8 resistors in SIP.

Generally SIP Resistor is used to close the open drain connections of Port 0.

5. 10k resistor for EA pin

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

BLOCK DIAGRAM DISCRIPTION :

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.

Biometric characteristics can be divided in two main classes:

• Physiological are related to the shape of the body. Examples include,


but are not limited to fingerprint, face recognition, DNA, hand and
palm geometry, iris recognition, which has largely replaced retina, and
odor/scent.
• Behavioral are related to the behavior of a person. Examples include,
but are not limited to typing rhythm, gait, and voice. Some
researchers[1] have coined the term behavioral metrics for this class
of biometrics.
Biometric data that does not change
Security personnel look for biometric data that does not change over the
course of your life; that is, they look for physical characteristics that stay
constant and that are difficult to fake or change on purpose.

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.

There are a number of advantages to this technology:


• Biometric identification can provide extremely accurate, secured access
to information; fingerprints, retinal and iris scans produce absolutely
unique data sets when done properly
• Current methods like password verification have many problems (people
write them down, they forget them, they make up easy-to-hack
passwords)
• Automated biometric identification can be done very rapidly and
uniformly, with a minimum of training
• Your identity can be verified without resort to documents that may be
stolen, lost or altered.
• · best and most effective protection of buildings, property, data and
information
· providing complete convenience and security for users
· fast user authorisation of registered digital fingerprints images (less than
1sec.)
· guaranteed certainty and authenticity of users
· low running costs
· built-in super exact silicone optical scanner
· user authorisation: FINGERPRINT, RFID card, PIN password, RFID
card
CHAPTER 5

LCD

Interfacing an LCD to 8051 Microcontroller

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:

 Mask lower 4-bits


 Send to the LCD port
 Send enable signal
 Mask higher 4-bits
 Send to LCD port
 Send enable signal

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.

INITIALIZING THE LCD

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:

• Move data to LCD port


• select data register
• select write operation
• send enable signal
• wait for LCD to process the data

RELAY

Interfacing Relay to Microcontroller

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.

A diode (1N4007/1N4148) is connected across the relay coil, this is done so


as to protect the transistor from damage due to the BACK EMF generated in
the relay's inductive coil when the transistor is turned OFF. When the
transistor is switched OFF the energy stored in the inductor is dissipated
through the diode & the internal resistance of the relay coil.

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 AND ISP 3.0 SOFTWARE

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.

RIDE is a fully featured Integrated Development Environment (IDE)


that provides seamless integration and easy access to all the development
tools. From editing to compiling, linking, debugging and back to the start,
with a Simulator, ICE, Rom Monitor or other debugging tools, RIDE
conveniently manages all aspects of the Embedded Systems development
with a single user interface.

Fig: RIDE
Multi-file Editor

RIDE is based on a fast multi-document editor designed to meet the


specific needs of programming. The various methods, menus, commands,
and shortcuts are all fully compliant with the Microsoft® specifications for
Windows 2000, XP and NT. Classic commands, such as string search and
block action are integrated. Advanced features such as Matching Delimiter
(parenthesis, brackets), Grep (multi-file search) and Indenter are integrated
as well. The customizable color-highlighting feature is very useful to
indicate specific syntactic elements as they appear in the source file:
keywords, comments, identifiers, operators, and so on. The color-
highlighting feature is automatically keyed to the intrinsic file type (which
means, it works differently for C and assembler).This permits the user to
identify quickly and easily those parts of the code responsible for syntax
errors.

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.

The Message Window and the On-line Help:

The message window displays all warning, error, and progress


messages generated during the processing of files associated with each
project.
Clicking on an error string in the message window automatically positions
the cursor at the point of that error in the source code window.

The Online help system is context-sensitive and provides information


on nearly all aspects of RIDE. A specific help file is supplied with each tool
driven by the IDE ('C' Compiler, Assembler, Linker, and RTOS). Online
menu hints appear on the status line whenever you select a menu command.

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:

When a project is closed, the whole associated context is saved (open


file list, window size and position etc.). Settings associated with the
debugger are also saves such as breakpoints, watches etc...

http://www.raisonance.com/products/info/RIDE.php-top
Integrated High-level Debug:

RIDE provides a fully integrated source-level debugging environment.


All information necessary is derived from the translators used to accomplish
each step of the process. This includes mundane aspects such as "path
names", and source code specific information such as details of complex
data types.

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:

RIDE includes simulation engines for most 8051, and XA derivatives.


The simulator/debugger is cleanly integrated into the presentation Windows.
A wide range of 'views' can be selected to provide flexible direct
examination of all memory spaces as well the all internal peripherals. The
simulation engines perform detailed and faithful simulations (including
IDLE or Power down modes), of all peripherals (including interrupt and
watchdog events) present on the selected component.
Advanced Features

RIDE provides a rich variety of 'views' into an application. These


views or windows are associated with control commands like complex
breakpoints or high level trace recording.
http://www.raisonance.com/products/info/RIDE.php - top

ISP 3.0 SOFTWARE

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.

For the auto hardware detection it is necessary to short pin 2 and 12 of


DB25connector, otherwise the software uses the default parallel port i.e.
LPT1.

Following are the main features of this software,

 Read and write the Intel Hex file.

 Read signature, lock and fuse bits.

 Clear and Fill memory buffer.

 Verify with memory buffer.

 Reload current Hex file.


 Display buffer checksum.

 Program selected lock bits & fuses.

 Auto detection of hardware.

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

HI-TECH Software makes industrial-strength software development


tools and C compilers that help software developers write compact, efficient
embedded processor code.

For over two decades HI-TECH Software has delivered the


industry's most reliable embedded software development tools and compilers
for writing efficient and compact code to run on the most popular embedded
processors. Used by tens of thousands of customers including General
Motors, Whirlpool, Qualcomm, John Deere and many others, HI-TECH's
reliable development tools and C compilers, combined with world-class
support have helped serious embedded software programmers to create
hundreds of breakthrough new solutions.

Whichever embedded processor family you are targeting with your


software, whether it is the ARM, PICC or 8051 series, HI-TECH tools and C
compilers can help you write better code and bring it to market faster.

HI-TECH PICC is a high-performance C compiler for the Microchip


PIC micro 10/12/14/16/17 series of microcontrollers. HI-TECH PICC is an
industrial-strength ANSI C compiler - not a subset implementation like some
other PIC compilers. The PICC compiler implements full ISO/ANSI C, with
the exception of recursion. All data types are supported including 24 and 32
bit IEEE standard floating point. HI-TECH PICC makes full use of specific
PIC features and using an intelligent optimizer, can generate high-quality
code easily rivaling hand-written assembler. Automatic handling of page and
car selection frees the programmer from the trivial details of assembler code.

Embedded C Compiler

 ANSI C - full featured and portable.

 Reliable - mature, field-proven technology.

 Multiple C optimization levels.

 An optimizing assembler.

 Full linker, with overlaying of local variables to minimize RAM


usage.

 Comprehensive C library with all source code provided.


 Includes support for 24-bit and 32-bit IEEE floating point and 32-bit
long data types.

 Mixed C and assembler programming.

 Unlimited number of source files.

 Listings showing generated assembler.

 Compatible - integrates into the MPLAB IDE, MPLAB ICD and most

3rd-party development tools.

 Runs on multiple platforms: Windows, Linux, UNIX, Mac OS X, and


Solaris.

CONCLUSION

This project introduces to the world of information technology and data


security as a part of it. It talks about access control, its components, and
levels and types of access control. The project recognizes the importance of
identifying and authenticating any given user in the business areas.
Therefore, it gives full attention to biometrics as one of the access control
technology and discusses variety and performance of other known
techniques; points out the advantages and disadvantages of using them. The
project also presents some real life examples of companies, implementing
biometric solutions in their businesses

You might also like