Download 8-bit 8051-Compatible Microcontroller (MCU) with

Document related concepts

Brushed DC electric motor wikipedia , lookup

Fault tolerance wikipedia , lookup

Mains electricity wikipedia , lookup

Power over Ethernet wikipedia , lookup

Printed circuit board wikipedia , lookup

Buck converter wikipedia , lookup

Stepper motor wikipedia , lookup

Two-port network wikipedia , lookup

Variable-frequency drive wikipedia , lookup

Multidimensional empirical mode decomposition wikipedia , lookup

Switched-mode power supply wikipedia , lookup

Metadyne wikipedia , lookup

Opto-isolator wikipedia , lookup

Liquid-crystal display wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Transcript
CHAPTER 1
INTRODUCTION
1.1 Existing system
Now a days, if we want to secure any system or anything we need to have a security system.
So the traditional method is with passwords, tokens, receipts etc. but day by day we can see
that world is going with technology and this passwords may be hacked with person who is
superior in computers. Tokens which are given for the security purpose might have loose by
the person. So we can say that in this growing technological world we cannot relied on this
type of security systems. Then what will be the next option to overcome all this problems? The
answer is biometrics security systems.
1.2 Introduction
In order to overcome the disadvantages or limitations of this all type of security systems, we
come across biometrics system. This is the system where more uniqueness and scalability is
found. A brief background of biometric and biometric security systems will provide a greater
understanding of the concept of network security. Biometrics is defined as the unique
(personal) physical/logical characteristics or traits of human body. These characteristics and
traits are used to identify each human. Any details of the human body which differs from one
human to other will be used as unique biometric data to serve as that person's unique
identification (ID), such as: retinal, iris, fingerprint, palm print and DNA. Biometric systems
will collect and store this data in order to use it for verifying personal identity. The combination
of biometric data systems and biometrics recognition/ identification technologies creates the
biometric security systems. The biometric security system is a lock and capture mechanism to
control access to specific data. In order to access the biometric security system, an individual
will need to provide their unique characteristics or traits which will be matched to a database
in the system. If there is a match, the locking system will provide access to the data for the
user. The locking and capturing system will activate and record information of users who
accessed the data. The relationship between the biometric and biometric security system is also
known as the lock and key system. The biometrics security system is the lock and biometrics
is the key to open that lock.
1
There are seven basic criteria for biometric security system: uniqueness, universality,
permanence, collectability, performance, acceptability and circumvention. As mentioned
above, uniqueness is considered as the priority one requirement for biometric data. It will
indicate how differently and uniquely the biometric system will be able to recognize each user
among groups of users.
1.3 About Eye veins
Retinal images play vital role in several applications such as disease diagnosis and human
recognition. They also play a major role in early detection of diabetics by comparing the states
of retinal blood vessels. The detection of blood vessels from the retinal images in tedious
process. In this work a new algorithm to detect the blood vessels effectively has been proposed.
Initially enhancement of the image is carried out using curvelet transform and modification of
the curve let coefficients. Since the blood vessels are distributed in various directions,
morphology processing with multidirectional structuring elements are used to extract the blood
vessel from the retinal images. Afterwards, morphological operator by reconstruction using
multistructure elements eliminates the ridges not belonging to the vessel tree. A simple
thresholding along with connected component analysis (CCA) indicates the remained ridges
belonging to vessel tree. Finally applying length filter on the connected components all residual
ridges ridges are refined from the images. Experimental results show that the blood vessels are
extracted from the retinal images with better PSNR and 96% accuracy than enhancement using
other techniques.
Biometrics has been used for identification or recognition purposes. The physical, behavioural,
biological traits of an individual can verify a person’s identify. Physical traits include face,
fingerprints, iris and sclera. Behavioural traits are like gait, voice and biological include DNA.
Each of these has its own advantages and disadvantages. Some traits could change over a period
of time, cannot be used for recognition from a distance or can cause hygiene issues. A biometric
may be more applicable in a particular scenario than the rest. No biometric is perfect or can be
applied universally.
Biometric systems compared with traditional authentication schemes are more reliable and it
is difficult to copy, share or distribute the biometric feature. The biometric characteristics have
the following requirements due to which they can be used in authentication schemes.
Universality : each person should have the characteristics.
2
Distinctiveness : any
The eyes are one of the complicated human organs and we find lots of information by analyzing
it. There are many research works done to differentiate human beings based on eye parts. Sclera
is the opaque, white area and acts as a protective covering of the human eye. The sclera
completely surrounds the eye. The vein patterns seen in the sclera region are unique to each
person in visible wavelengths. So it is made as a biometric tool for human identification. The
thickness of sclera changes with the increase in the age of a person. By making this as
automated system the features of the vein pattern should be extracted. The features extracted
from the vein pattern are used for the matching purpose. When sclera recognition is compared
with iris recognition, sclera recognition has more advantages than iris recognition.
1.4 MATLAB
In this project the software which we are using is Matlab. MATLAB (matrix laboratory) is
a multi-paradigm numerical computing environment and fourth-generation programming
language. A proprietary programming language developed by MathWorks, MATLAB
allows matrix manipulations, plotting of functions and data, implementation of algorithms,
creation of user interfaces, and interfacing with programs written in other languages,
including C, C++,Java, Fortran and Python.
Although MATLAB is intended primarily for numerical computing, an optional toolbox uses
the MuPAD symbolic engine, allowing access to symbolic computing abilities. An additional
package,
Simulink,
adds
graphical
multi-domain
simulation
and model-based
design for dynamic and embedded systems.
FIGURE 1.1: MATLAB LOGO
3
CHAPTER 2
BLOCK DIAGRAM
2.1 Block Diagram
DC POWER
SUPPLY
POWER
SUPPLY
PC
MATLAB
USB TO
TTL
WEBCAM
MICRO
CONTROLLE
R
(89e516rd2)
MOTOR
DRIVER
(LOCKER
OPEN/CLO
SE)
LCD
BUZZER
2.2 Explanation
This block diagram is consist of following contents:
1. Power supply
2. PC / Laptop
3. Webcam
4. USB to TTL converter
4
5. Microcontroller(SST89e516RD2)
6. Motor driver
7. LCD display
8. Buzzer
2.2.1 Power Supply
Here two power supplies are used, one is for pc/laptop and another one is for microcontroller.
If the PC is used for execution then we need power supply compulsory. So power supply for
PC is of 230v ac supply and supply for microcontroller is 5v.
2.2.2 PC / Laptop
PC / laptop is used in this project with MATLAB2013b software which particularly used for
iris scan purpose.
2.2.3 Webcam
In this project as we have to scan the iris, we need to take picture of it while execution so for
this purpose webcam is used. This webcam can take picture with better resolution.
2.2.4 USB to TTL converter
USB to TTL converter is specially used for serial communication from MATLAB to
Microcontroller. The purpose of using this device is we need not to change the protocols
twice as in MAX232, which further helps in to save the power.
2.2.5 Microcontroller (SST89E516RD2)
Here microcontroller plays an important role. We are using SST89E516RD2 microcontroller
which has advantage of In system programming. When input from MATLAB is given
serially to microcontroller according to condition it will control motor, buzzer, LCD display.
2.2.6 Motor driver IC
L293D is motor driver IC which is in H- bridge type generally used for drive DC motor. We
can connect two motors at a time to this IC. As power consumption is more motor will not able
to run by itself so it will need a driver IC.
5
2.2.7 LCD display
LCD 16x2 display is the device which generally used for showing the status of the security
system.
2.2.8 Buzzer
Buzzer will give the indication that unauthorized person for false match of eye patterns.
6
CHAPTER 3
CIRCUIT DIAGRAM
3.1 Circuit diagram
3.2 Explanation
This is the circuit diagram of Biometric security system where motor, buzzer, USB to TTL
converter and LCD display is connected to microcontroller.
7
Pin number 40 of microcontroller is connected to VCC. With the resistor capacitor and push
buttons reset circuit is connected to pin no. 9 of microcontroller, so when switch is pressed
high pulse will be at this pin and circuit will be reset.
There are 4 ports to the microcontroller each one is connected with components.
In this diagram we can see that port 3 is specifically used for serial communication where input
will be from USB to TTL converter is given. With this buzzer is also connected to port 3 via
TIP 122 which is a buzzer driver.
At port 0 LCD display is connected. It will indicate the information according to the given
input and programming. Here only 4 pins of LCD are used as LCD is used in 4 bit mode.
Potentiometer is connected between the VCC, VEE and VSS pins for brightness varying
purpose.
At port 2 motor driver IC is connected which is specifically used to drive motor. As power
consumption is more this will be needed to drive the motor.
At the pin no 18 and 19 crystal is connected with two capacitors of 30pF for stabilization
purpose.
8
CHAPTER 4
COMPONENT SPECIFICATION AND DESCRIPTION
4.1 COMPONENT SPECIFICTION:
TABLE NO. 4.1: Components specifications
Sr.
Components
no
1
Price (in Ideal
Rs)
Microcontroller
Practical
Method of Remark
Testing
Parameter
Parameter
120 /-
-
-
DMM
Ok
15/-
10Uf
9.7uF
LCR-Q
Ok
SST89E516RD2
2
Capacitor
Meter
0.1Uf
0.1uF
LCR-Q
Ok
Meter
470uF
470uF
LCR-Q
Ok
Meter
3
Crystal oscillator
30/-
11.0592M
11.0592MHz
CRO
Ok
10 Kω
9.3kΩ
DMM
Ok
100 Ω
94Ω
DMM
Ok
470Ω
467Ω
DMM
Ok
12V,10RP
12V,10RPM
By supply
Ok
Hz
4
5
Resistor
DC Motor
10/-
120/-
M
voltage &
fully
increasing
9
Current
6
Lcd display
150/-
-
-
By supply
Ok
voltage &
potetiomet
er
7
L293D
60/-
-
-
DMM
Ok
8
Buzzer
15/-
-
-
Power
Ok
supply
9
USB to TTL
150/-
PC
converter
Showed as
COM port
OK
10
Webcam
1130/-
PC
4.2 COMPONENT DESCRIPTION
4.2.1 SST 89E516RD2 MICROCONTROLLER
FEATURES
• 8-bit 8051-Compatible Microcontroller (MCU) with Embedded SuperFlash Memory
•
–
Fully Software Compatible
–
Development Toolset Compatible
–
Pin-For-Pin Package Compatible
SST89E5xxRD2 Operation
–
0 to 40 MHz at 5V
• 1 KByte Internal RAM
• Dual Block Super Flash EEPROM
–
8/16/32/64 KByte primary block + 8 KByte secondary block (128-Byte sector size for
both blocks)
–
Individual Block Security Lock with Soft Lock
10
–
Concurrent Operation during In-Application Programming (IAP)
–
Memory Overlay for Interrupt Support during IAP
• Support External Address Range up to 64 KByte of Program and Data Memory
• Three High-Current Drive Ports (16 mA each)
• Three 16-bit Timers/Counters
• Full-Duplex, Enhanced UART
• Programmable Watchdog Timer (WDT)
• Programmable Counter Array (PCA)
• Four 8-bit I/O Ports (32 I/O Pins) and One 4-bit Port
• Second DPTR register
• Low EMI Mode (Inhibit ALE)
• SPI Serial Interface
• Standard 12 Clocks per cycle, the device has an option to double the speed to 6 clocks per
cycle.
• TTL- and CMOS-Compatible Logic Levels
• Brown-out Detection
• Low Power Modes
FIGURE 4.1 Pin diagram of SST89E516RD2
Port 0:
11
Port 0 is an 8-bit open drain bi-directional I/O port. As an output port each pin can sink several
LS TTL inputs. Port 0 pins float that have ‘1’s written to them, and in this state can be used 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 pullups when
transitioning to VOH. Port 0 also receives the code bytes during the external host mode
programming, and outputs the code bytes during the external host mode 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
drive LS TTL inputs. Port 1 pins are pulled high by the internal pull-ups when “1”s are written
to them and can be used as inputs in this state. As inputs, Port 1 pins that are externally pulled
low will source current because of the internal pull-ups. P1[5, 6, 7] have high current drive of
16 mA. Port 1 also receives the low-order address bytes during the external host mode
programming and verification.
Table no.4.2: port 1
P1[0]
I/O
T2: External count input to Timer/Counter 2 or Clock-out from
Timer/Counter 2
P1[1]
I
T2EX: Timer/Counter 2 capture/reload trigger and direction control
P1[2]
I
ECI: PCA Timer/Counter External Input:
This signal is the external clock input for the PCA timer/counter.
P1[3]
I/O
CEX0: Compare/Capture Module External I/O
Each compare/capture module connects to a Port 1 pin for external I/O.
When not used by the PCA, this pin can handle standard I/O.
P1[4]
I/O
SS#: Master Input or Slave Output for SPI.
OR
CEX1: Compare/Capture Module External I/O
12
P1[5]
I/O
MOSI: Master Output line, Slave Input line for SPI
OR
CEX2: Compare/Capture Module External I/O
P1[6]
I/O
MISO: Master Input line, Slave Output line for SPI
OR
CEX3: Compare/Capture Module External I/O
P1[7]
I/O
SCK: Master clock output, slave clock input line for SPI
OR
CEX4: Compare/Capture Module External I/O
Port 2:
Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. Port 2 pins are pulled high by
the internal pull-ups when “1”s are written to them and can be used as inputs in this state. As
inputs, Port 2 pins that are externally pulled low will source current because of the internal
pull-ups. Port 2 sends the high-order address byte during fetches from external Program
memory and during accesses to external Data Memory that use 16-bit address
(MOVX@DPTR). In this application, it uses strong internal pull-ups when transitioning to
VOH. Port 2 also receives some control signals and a partial of high-order address bits during
the external host mode programming and verification.
Port 3(P3.0 to P3.7):
It can be used as
a) Simple input/output port
b) Alternate functions of port 3 are as given below
13
Table no. 4.3: port 3
Program Store Enable( Pin 29):
PSEN is the read strobe for external program memory. When the device is executing from
internal program memory, PSEN is inactive (HIGH). When the device is executing code from
external program memory, PSEN(bar) is activated a twice in each machine cycle, except that
two PSEN(bar) activations are skipped during each access to external data memory. A forced
HIGH-to-LOW input transition on the PSEN pin while the RST input is continually held HIGH
14
for more than 10 machine cycles will cause the device to enter external host mode
programming.
Reset (Pin 9):
While the oscillator is running, a HIGH logic state on this pin for two machine cycles will reset
the device. If the PSEN pin is driven by a HIGH-to-LOW input transition while the RST input
pin is held HIGH, the device will enter the external host mode, otherwise the device will enter
the normal operation mode.
Address Latch Enable (Pin 30):
ALE is the output signal for ALE is emitted at a constant rate of 1⁄6 the crystal frequency and
can be used for external timing and clocking. One ALE pulse is skipped during each access to
external data memory. However, if AO is set to ‘1’, ALE is disabled.
Crystal 1 (XTAL1 (Pin19)):
Input to the inverting oscillator amplifier and input to the internal clock generator circuits.
Crystal 2 ( XTAL2 (Pin 18)):
Output from the inverting oscillator amplifier.
VCC (Pin 40):
This pin used to supply voltage of +5V with rated current of 125mA.
Ground (Pin 20):
This pin connected to ground reference.
4.2.2 Capacitor:
Capacitor is an electronic component that stores electric charge. The capacitor is made of 2
close conductors (usually plates) that are separated by a dielectric material.The plates
accumulate electric charge when connected to power source. One plate accumulates positive
charge and the other plate accumulates negative charge.The capacitance is the amount of
electric charge that is stored in the capacitor at voltage of 1 Volt.
The capacitance is measured in units of Farad (F).
15
The capacitor disconnects current in direct current (DC) circuits and short circuit in alternating
current (AC) circuits.
Figure 4.2 capacitor
4.2.3 Crystal Oscillator:
An electronic circuit that is used to generate an electrical signal of precise frequency by
utilizing the vibrating crystal’s mechanical resonance made of piezoelectric material. There are
different types of piezoelectric resonators, but typically, quartz crystal is used in these types of
oscillators. Hence, these oscillator electronic circuits are named as crystal oscillators.
Figure 4.3: Crystal Oscillator
4.2.4 Resistor:
A resistor is
a passive two-terminal electrical
component that
implements electrical
resistance as a circuit element. Resistors act to reduce current flow, and, at the same time, act
16
to lower voltage levels within circuits. In electronic circuits, resistors are used to limit current
flow, to adjust signal levels, bias active elements, and terminate transmission lines among
other uses. High-power resistors, that can dissipate many watts of electrical power as heat, may
be used as part of motor controls, in power distribution systems, or as test loads for generators.
Fixed resistors have resistances that only change slightly with temperature, time or operating
voltage. Variable resistors can be used to adjust circuit elements (such as a volume control or
a lamp dimmer), or as sensing devices for heat, light, humidity, force, or chemical activity.
Figure 4.4: Resistor
Resistors are common elements of electrical networks and electronic circuits and are
ubiquitous in electronic equipment. Practical resistors as discrete components can be composed
of various compounds and forms. Resistors are also implemented within integrated circuits.
The electrical function of a resistor is specified by its resistance: common commercial resistors
are manufactured over a range of more than nine orders of magnitude. The nominal value of
the resistance will fall within a manufacturing tolerance
4.2.5. Dc Motor:
A DC motor is any of a class of electrical machines that converts direct current electrical
power into mechanical power. The most common types rely on the forces produced by
magnetic fields. Nearly all types of DC motors have some internal mechanism, either
electromechanical or electronic, to periodically change the direction of current flow in part of
17
the motor. Most types produce rotary motion; a linear motor directly produces force and motion
in a straight line.
DC motors were the first type widely used, since they could be powered from existing directcurrent lighting power distribution systems. A DC motor's speed can be controlled over a wide
range, using either a variable supply voltage or by changing the strength of current in its field
windings. Small DC motors are used in tools, toys, and appliances. The universal motor can
operate on direct current but is a lightweight motor used for portable power tools and
appliances. Larger DC motors are used in propulsion of electric vehicles, elevator and hoists,
or in drives for steel rolling mills. The advent of power electronics has made replacement of
DC motors with AC motors possible in many applications.
Figure 4.5: DC motor
Workings of a brushed electric motor with a two-pole rotor (armature) and permanent magnet
stator. "N" and "S" designate Polarities on the inside faces of the magnets. The outside faces
have opposite polarities. The + and - signs show where the DC current is applied to
the commutator which supplies current to the armature coils.
4.2.6 16X2 LCD DISPLAY
LCD (Liquid Crystal Display) screen is an electronic display module and find a wide range of
applications. A 16x2 LCD display is very basic module and is very commonly used in various
devices and circuits. These modules are preferred over seven segments and other multi
segment LEDs. The reasons being: LCDs are economical; easily programmable; have no
limitation
of
displaying
special
&
even
custom
characters (unlike
in
seven
segments), animations and so on.
18
A 16x2 LCD means it can display 16 characters per line and there are 2 such lines. In this LCD
each character is displayed in 5x7 pixel matrix. This LCD has two registers, namely, Command
and Data.
The command register stores the command instructions given to the LCD. A command is an
instruction given to LCD to do a predefined task like initializing it, clearing its screen, setting
the cursor position, controlling display etc. The data register stores the data to be displayed on
the LCD. The data is the ASCII value of the character to be displayed on the LCD. Click to
learn more about internal structure of a LCD.
FIGURE 4.6: 16X2 LCD DISPLAY
Pin Description:
Table no. 4.4: LCD pin description
Pin
Function
Name
1
Ground (0V)
Ground
2
Supply voltage; 5V (4.7V – 5.3V)
Vcc
3
Contrast adjustment; through a variable resistor
VEE
No
4
Selects command register when low; and data register when
high
Register Select
19
5
Low to write to the register; High to read from the register
Read/write
6
Sends data to data pins when a high to low pulse is given
Enable
7
DB0
8
DB1
9
DB2
10
DB3
8-bit data pins
11
DB4
12
DB5
13
DB6
14
DB7
15
Backlight VCC (5V)
Led+
16
Backlight Ground (0V)
Led-
4.2.7. L293D Motor Driver IC:
L293D is a dual H-bridge motor driver integrated circuit (IC). Motor drivers act as
current amplifiers since they take a low-current control signal and provide a higher-current
signal. This higher current signal is used to drive the motors.
L293D contains two inbuilt H-bridge driver circuits. In its common mode of operation,
two DC motors can be driven simultaneously, both in forward and reverse direction. The motor
operations of two motors can be controlled by input logic at pins 2 & 7 and 10 & 15. Input
logic 00 or 11 will stop the corresponding motor. Logic 01 and 10 will rotate it in clockwise
and anticlockwise directions, respectively.
Enable pins 1 and 9 (corresponding to the two motors) must be high for motors to start
operating. When an enable input is high, the associated driver gets enabled. As a result, the
20
outputs become active and work in phase with their inputs. Similarly, when the enable input is
low, that driver is disabled, and their outputs are off and in the high-impedance state.
FIGURE 4.7: L293D PIN DIAGRAM
Pin Description:
Table no. 4.5: L293D pin description
Pin
Function
Name
1
Enable pin for Motor 1; active high
Enable 1,2
2
Input 1 for Motor 1
Input 1
3
Output 1 for Motor 1
Output 1
4
Ground (0V)
Ground
5
Ground (0V)
Ground
6
Output 2 for Motor 1
Output 2
7
Input 2 for Motor 1
Input 2
8
Supply voltage for Motors; 9-12V (up to 36V)
Vcc 2
No
21
9
Enable pin for Motor 2; active high
Enable 3,4
10
Input 1 for Motor 1
Input 3
11
Output 1 for Motor 1
Output 3
12
Ground (0V)
Ground
13
Ground (0V)
Ground
14
Output 2 for Motor 1
Output 4
15
Input2 for Motor 1
Input 4
16
Supply voltage; 5V (up to 36V)
Vcc 1
4.2.8 BUZZER
These high reliability electromagnetic buzzers are applicable to automobile equipment.
Compact, pin terminal type electromagnetic buzzer with 2048Hz output. Pin type terminal
construction enables direct mounting onto printed circuit boards.
FIGURE4.8: BUZZER
4.2.9 USB to TTL converter
22
FIGURE 4.9: USB to TTL converter
The PL-2303 operates as a bridge between one USB port and one standard RS232 Serial port.
The two large on-chip buffers accommodate data flow from two different buses. The USB
bulk-type data is adopted for maximum data transfer. Automatic handshake is supported at the
Serial port. With these, a much higher baud rate can be achieved compared to the legacy UART
controller. This device is also compliant with USB power management and remote wakeup
scheme. Only minimum power is consumed from the host during Suspend. By integrating all
the function in a SSOP-28 package, this chip is suitable for cable embedding. Users just simply
hook the cable into PC or hub’s USB port, and then they can connect to any RS-232 devices.
4.2.10. WEBCAM
FEATURES
1) High quality CMOS sensor Interpolated 20M pixels still image resolution & 2.1M
pixels video resolution High quality still pictures & motion video capture
2) High quality 5G wide angle lens for sharp and clear picture. 6 LEDs for night vision,
with brightness controller.
3) Built-in high sensitive USB microphone.
4) Snapshot button for still image capture
23
5) 4x Digital zoom and Auto face tracking 10 Photo frames and 16 Special effects for
more fun. Built-in JPEG Compression. Lens Focus from 5 cm to Infinity. Multi-utility
camera base (can be used on desktop, laptop, LCD & tripod).
6) Specifications: Image Sensor : High quality Œ" CMOS sensor Max.
7) Video Resolution : 1920 x 1080 pixels Max.
8) Image Resolution : 5500 x 3640 pixels
9) Frame Rates : 30 frames per second
10) Interface : USB 2.0. Backward compatible with USB 1.1
11) Focus : 5 cm to Infinity
12) Microphone : Built-in high sensitive USB microphone
13) High quality 5G wide angle lens
14) LED's : 6 LEDs for night vision, with brightness controller Video Format : 24-Bit True
Color
15) Power Supply : USB bus powered
FIGURE 4.10 webcam
24
CHAPTER 5
ALGORITHM, FLOWCHART & PROGRAMING
5.1 Algorithm
An algorithm is sequence of well defined steps that produce a result in finite time.
Step1: Start.
Step2: Save the eye pattern in MATLAB.
Step3: Capture the user’s eye pattern.
Step4: If the eye pattern which is saved and the eye pattern of user is matched, then motor
will turned on and door will open LCD will display the message ”authorized user entered”.
Step5: If the eye pattern didn’t matched then buzzer will turned on and LCD will display
message that ”unauthorized user entered beware”.
5.2 Flowchart
Creating program flowchart is a gift to programmer as it makes programming task very easy
&systematic. More ever they can be sure of the outcome of what they are doing and are very
well aware of the complete system. Creating programming Flowchart also helps to
understand the process easily later in the future when someone else Would be working on it.
Various software contain special shapes and setting for crating program flowchart.
25
START
SAVE THE EYE PATTERN OF AUTHORITY
CAPTURE THE IMAGE OF USER
COMPARE NEW IMAGE
WITH SAVED EYE
PATTERN
IF
MATCHED
MOTOR WILL
TURNED ON
IF DIDN’T
MATCHED
BUZZER WILL
TURNED ON
5.3 C program for microcontroller
#include <reg51.h>
unsigned char val_cmd,val_data;
sbit ALARM = P3^7;
sbit EN = P2^7;
sbit M11 = P2^6;
sbit M12 = P2^5;
sbit BL=P0^0;
sbit RS=P0^1;
26
sbit RW=P0^2;
sbit E=P0^3;
void init_uart();
void init_timer1();
void tx();
void rx();
void Msdelay(unsigned int);
void alarm(void);
void clearlcd(void);
void cmd_wr();
void data_wr();
void lcd_delay(unsigned int);
void enable();
void init_lcd();
void printff(unsigned char *ptr);
void lcd_delay(unsigned int);
unsigned int tx_data,rx_data,i=0;
unsigned char temp1,temp2,temp3,garbage;
void main(void)
{
init_timer1();
init_uart();
27
init_lcd();
val_cmd=0x80;
//INITALISE CURSOR
POSITION ON THE LCD SCREEN TO 84TH POSITION.
cmd_wr();
lcd_delay(5);
clearlcd();
printff("VESP - BIOMETRIC");
//PRINT THE VALUES IN ARRAY
name_lut[].
Msdelay(50);
val_cmd=0xc0;
//INITALISE CURSOT
POSITION ON THE LCD SCREEN TO CO POSITION.
cmd_wr();
printff("SECURITY SYSTEM");
Msdelay(500);
val_cmd=0x01;
//INITALISE CURSOT
POSITION ON THE LCD SCREEN TO CO POSITION.
cmd_wr();
Msdelay(50);
val_cmd=0x80;
//INITALISE CURSOT
POSITION ON THE LCD SCREEN TO CO POSITION.
cmd_wr();
printff("SHWETA SHUBHAM");
val_cmd=0xc0;
//INITALISE CURSOT
POSITION ON THE LCD SCREEN TO CO POSITION.
cmd_wr();
28
printff("RAJAT PRATHAMESH");
Msdelay(500);
clearlcd();
lcd_delay(5);
while(1)
{
clearlcd();
val_cmd=0x80;
//INITALISE CURSOT
POSITION ON THE LCD SCREEN TO CO POSITION.
cmd_wr();
printff("WAITING");
//
P0=0x00;
ALARM =0;
EN=0;
M11=0;
M12=0;
init_uart();
tx_data = 'P';
tx();
tx_data = 'K';
tx();
rx();
29
garbage = rx_data;
rx();
tx_data = garbage;
tx();
rx();
temp1 = rx_data;
rx();
temp2 = rx_data;
rx();
temp3 = rx_data;
tx_data = temp1;
tx();
tx_data = temp2;
tx();
tx_data = temp3;
tx();
if(temp1 == '5' && temp2 == '3' && temp3 == '6')
{
tx_data = 'O';
tx();
30
tx_data = 'K';
tx();
clearlcd();
val_cmd=0x80;
//INITALISE CURSOT
POSITION ON THE LCD SCREEN TO CO POSITION.
cmd_wr();
Msdelay(20);
printff("AUTHORIZED
");
val_cmd=0xC0;
//INITALISE CURSOT
POSITION ON THE LCD SCREEN TO CO POSITION.
cmd_wr();
Msdelay(20);
printff("PERSON ENTERED...");
EN=1;
M11=0;
M12=1;
Msdelay(100);
EN=0;
Msdelay(400);
EN=1;
M11=1;
M12=0;
Msdelay(100);
31
EN=0;
val_cmd=0x80;
//INITALISE CURSOT
POSITION ON THE LCD SCREEN TO CO POSITION.
cmd_wr();
clearlcd();
Msdelay(200);
}
else
{
alarm();
}
}
}
void Msdelay(unsigned int itime)
32
{
unsigned int i,j;
for(i=0;i<itime;i++)
for(j=0;j<1275;j++);
}
void alarm(void)
{
unsigned int p;
clearlcd();
val_cmd=0x80;
//INITALISE CURSOT
POSITION ON THE LCD SCREEN TO CO POSITION.
cmd_wr();
Msdelay(20);
printff("UNAUTHORIZED ");
val_cmd=0xC0;
//INITALISE CURSOT
POSITION ON THE LCD SCREEN TO CO POSITION.
cmd_wr();
printff("ACCESS - BEWARE!");
Msdelay(200);
// tst_printf ();
for(p=0;p<50000;p++)
{
33
unsigned int i;
ALARM =0;
for(i=0;i<10;i++);
ALARM = 1;
for(i=0;i<10;i++);
}
}
void init_lcd()
//initalise lcd by sending following sequcence of codes
{
lcd_delay(15);
//03h,03h,03h,02h,20h,28h,06h,0ch.
val_cmd=0x03;
cmd_wr();
lcd_delay(5);
val_cmd=0x03;
cmd_wr();
34
lcd_delay(5);
val_cmd=0x03;
cmd_wr();
lcd_delay(5);
val_cmd=0x02;
cmd_wr();
lcd_delay(5);
val_cmd=0x20;
cmd_wr();
lcd_delay(5);
val_cmd=0x28;
cmd_wr();
lcd_delay(5);
val_cmd=0x06;
cmd_wr();
lcd_delay(5);
val_cmd=0x0c;
35
cmd_wr();
lcd_delay(5);
BL=0;
}
void cmd_wr()
//THIS FUNCTION RECIEVES THE VALUE OF
VAL_CMD
{
//AND SENDS IT TO PORT 1 AETER CERTAIN
MANIPULATIONS
unsigned char msb,lsb;
RS=0;
RW=0;
msb=val_cmd&0xf0;
//THIS
SEGMENT TRANSMITS THE MSB OF VAL_CMD.
lsb=P0&0x0f;
P0=msb|lsb;
enable();
36
msb=val_cmd<<4;
//THIS SEGMENT TRANSMITS THE LSB OF
VAL_CMD.
lsb=P0&0x0f;
P0=msb|lsb;
enable();
}
void data_wr()
{
unsigned char msb,lsb;
RS=1;
RW=0;
msb=val_data&0xf0;
//THIS
SEGMENT TRANSMITS THE MSB OF VAL_DATA
lsb=P0&0x0f;
P0=msb|lsb;
enable();
msb=val_data<<4;
//THIS
SEGMENT TRANSMITS THE LSB OF VAL_DATA
37
lsb=P0&0x0f;
P0=msb|lsb;
enable();
}
void enable()
{
E=1;
;
;
;
E=0;
}
void lcd_delay(unsigned int n)
{
unsigned int i,j;
for (i=0;i<=n;i++)
for (j=0;j<=255;j++);
}
38
void printff(unsigned char *ptr)
//POINTER
BASED FUNCTION WHICH DIRECTLY RECIEVES
{
//THE ADDRESS OF THE STRING TO BE
DISPLAYED.
while(*ptr!='\0')
{
val_data=*ptr;
data_wr();
lcd_delay(5);
ptr++;
}
}
void clearlcd()
{
val_cmd=0x01;
//INITALISE CURSOT
POSITION ON THE LCD SCREEN TO CO POSITION.
cmd_wr();
Msdelay(5);
}
39
void init_uart()
{
init_timer1();
SCON=0x52;
TI=1;
RI=1;
}
void init_timer1()
{
TMOD|=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
ET1=0;
}
void tx()
{
while(TI==0);
SBUF=tx_data;
TI=0;
40
}
void rx()
{
while(!RI);
rx_data=SBUF;
RI=0;
}
5.4 Matlab code for eye pattern saving
clc;
clear all;
imaqreset;
vid=videoinput('winvideo',2,'YUY2_320x240');
preview(vid)
pause(4)
a=getsnapshot(vid);
a = ycbcr2rgb(a);
imwrite(a,'01.png');
imshow(a)
stop(vid);
fprintf('done');
close all
5.5 Matlab code for comparision of eye pattern
% pause(5);
clc
clear all
41
imaqreset
ser= serial('COM8','BaudRate',9600,'DataBits',8);
fopen(ser); %To send data through the serial port, the available commands
fid = fopen('text.txt', 'wt');%Opens text.txt as file for write
filesList = dir(strcat(pwd,'\camdata\*.png'));
filesListCount = size(filesList,1);
vid=videoinput('winvideo',2,'YUY2_320x240');
preview(vid)
pause(3)
a=getsnapshot(vid);
a = ycbcr2rgb(a);
inputImage=a;
figure
imshow(inputImage);
title('Input Image')
for filesListCounter = 1: filesListCount
trainingImage = imread(strcat(pwd,'\camdata\',filesList(filesListCounter).name));
b = filesList(filesListCounter).name;
len_file = length(b);
len_file = len_file - 4;
for i = 1 : len_file;
o_file(1,i) = b(1,i);
end
%
trainingImageRedPixelInfo = vein(trainingImage);
inputImageWhitePixelInfo1 = vein(inputImage);
trainingImageRedPixelInfo = (trainingImage(:,:,1));
inputImageWhitePixelInfo = (inputImage(:,:,1));
trainingDataFitness =
corr2(trainingImageRedPixelInfo,inputImageWhitePixelInfo);
o_file = char(o_file);
42
o_file = cellstr(o_file);
daq(filesListCounter,1) = o_file;
daq1(filesListCounter,1) = trainingDataFitness;
daq2(filesListCounter,2) = 1 - trainingDataFitness;
o_file = [];
end
max_val = max(daq1);
index = find(daq1 == max_val);
o_let = daq(index);
figure
imshow(inputImageWhitePixelInfo1);
title('Extracted Vein')
if strcmp(o_let,'01')
disp('IRIS matched with User 1')
fprintf(fid,'A');
answer = 5;
fprintf(ser,'%c','5','async');
answer = 5;
pause(1);
fprintf(ser,'%c','5','async');
pause(1);
answer = 3;
fprintf(ser,'%c','3','async');
pause(1);
answer = 6;
fprintf(ser,'%c','6','async');
pause(1);
else
disp('IRIS didnt matched with database.')
fprintf(fid,'B');
43
answer = 0;
fprintf(ser,'%c','6','async');
pause(1);
answer = 7;
fprintf(ser,'%c','6','async');
pause(1);
answer = 4;
fprintf(ser,'%c','6','async');
pause(1);
answer = 7;
fprintf(ser,'%c','6','async');
pause(1);
end
fclose(ser);
fclose(fid);
6.6 MATLAB vein code
function out = vein(I)
% This is the main function to perform blood vessel extraction
warning off
% I=imread('01.jpg'); % Read an image
IG = rgb2gray(I);
% IG = I;
[M,N] = size(IG);
G(:,:,2) = I(:,:,2);
G(:,:,1) = 0;
G(:,:,3) = 0;
Y = rgb2gray(G);
sa = 2.0;
rt = mim(Y,sa);
44
[tt1,e1,cmtx] = myThreshold(rt);
ms = 45;
mk = msk(IG,ms);
rt2 = 255*ones(M,N);
for i=1:M
for j=1:N
if rt(i,j)>=tt1 & mk(i,j)==255
rt2(i,j)=0;
end
end
end
J = im2bw(rt2);
J= ~J;
[Label,Num] = bwlabel(J);
Lmtx = zeros(Num+1,1);
for i=1:M
for j=1:N
Lmtx(double(Label(i,j))+1) = Lmtx(double(Label(i,j))+1) + 1;
end
end
sLmtx = sort(Lmtx);
cp = 950;
for i=1:M
for j=1:N
if (Lmtx(double(Label(i,j)+1)) > cp) & (Lmtx(double(Label(i,j)+1)) ~=
sLmtx(Num+1,1))
J(i,j) = 0;
else
J(i,j) = 1;
end
end
45
end
for i=1:M
for j=1:N
if mk(i,j)==0
J(i,j)=1;
end
end
end
% figure; imshow(J)
out = J;
46
CHAPTER 6
PCB DESIGNING AND FABRICATIONS
6.1 EAGLE SOFTWARE
EAGLE
stands
for, Easily Applicable Graphical Layout Editor
in
English
and, Einfach Anzuwendender Grafischer Layout-Editor in German. It is designed and
developed by CadSoft Computer GmbH and is a flexible, expandable and scriptable, electronic
design automation (EDA) application with schematic capture editor, printed circuit
board(PCB) layout editor, auto-router and computer-aided manufacturing (CAM) and bill of
materials (BOM) tools.
The process of making the schematic, wiring, routing &layout of the circuit in PCB making
software called PCB designing.
6.2 STEPS INVOLVED IN MAKING A PCB:
STEP1: Download the PCB making software i.e Eagle on your PC/laptop.
STEP 2: Open the software and click on new project give name for your project and also select
blank schematic.
STEP 3: In the schematic click on add component and select components that are required in
the circuit like Microc0ontroller, resistor, capacitor, crystal oscillator, HC-05, HT12E, HT12D,
RF module etc.
STEP 4: Now using Net option in the software select it and draw lines as per the connections
given in the circuit diagram.
STEP 5: After drawing the schematic click on switch to board option in Eagle.
STEP 6: According to the number of components used. Select the board dimension that would
be used to draw the layout wires.
STEP 7: For proper connections, with proper current it is desirable to keep track size large as
possible.
1) We made microcontroller to external devices track width as 0.036inches.
47
2) We made resistors and capacitors and other semi-conductor devices connections with
0.042inches.
3) We made all completed connection with 0.024inches.
STEP 8: In end we use polygon for plotting valid ground to all parts of circuit.
STEP 9: After designing of PCB with no jumper click on export as an image with resolution
750.
STEP 10: Then carry out the etching process and make PCB
6.3 PRINTED CIRCUIT BOARD
A printed circuit board, or PCB, is used to mechanically support and electrically connect
electronic components using conductive pathways, tracks or traces etched from copper sheets
laminated onto a non-conductive substrate. It I also referred to as a printed wiring board (PWB)
or etched wiring board. A PCB populated board with electronic components is a printed circuit
assembly (PCA), also known as printed circuit board assembly (PCBA).
Printed Circuit Boards play a vital role here in determining the overall performance of the
electronics equipment. A good PCB design ensures that the noise introduced as a result of
component placement and track layout is held within limits while still providing components
years assembly maintenance and performance reliability.
6.4 PCB LAYOUT
48
FIGURE 6.1 PCB LAYOUT
6.5 PCB ETCHING
STEP-1:- After cutting the copper clad sheet to size, the PCB is cleaned with thinner, so that
the dust on the PCB is removed and we get shiny surface.
Figure 6.2 PCB cleaning
STEP-2:- Then we insert the PCB in Dip coat, that is, negative photo resistive material.
49
Figure 6.3: PCB coating
STEP-3:- The photo resistive material should be made hard on the PCB for which the PCB is
kept in the oven for four minutes.
Figure 6.4: PCB oven
STEP-4:- After the liquid is made hard, it is kept in the UV exposure for two minutes. In the
UV exposure, the circuit is kept with its layout. The ultraviolet rays are passed through the
PCB.
50
Figure 6.5 PCB exposed UV rays
STEP 5:- Then we have to expose out PCB to nail polish remover solution that is also called
as developer liquid. Because of this, an impression of tracks is formed o the PCB. Repeat the
STEP-2, in which the PCB is kept in the oven for four minutes.
Figure 6.6: PCB washing
STEP-6:- In this step, the board is placed in an etcher, which is a machine that washes warm
ferric chloride over the board, eating away any exposed copper. For this step, you will need
to make sure that etchant is warm enough to use. This step takes 2 minutes. Move the holder
into the etching tank, again facing to the right. Check that the temperature monitors the report
51
42-45 degrees C, and that the fluid well feels warm. Also,make sure the top is secured so
there is little chance FeCl will spray out the top. By default,the timer is set for 1.30
minutes,which we have found satisfactory. You can also change the time if necessary. Turn
on the spray pump by pressing start. The entire tank will turn reddish brown as the etchant
removes the copper from your board. After the time is up,remove the holder and quickly put
it in wash again.Be careful as there will be a lot of FeCl dripping off the holder and you do
not want it going anyway but in the machine or the sink.
Figure 6.7: PCB Etcher
STEP-7:- Then the PCB is washed in water by hand and cleaned by the cloth.
6.6 PCB DRILLING
Holes through a PCB are typically drilled with tiny drill bits made of solid tungsten carbide.
The drilling is performed by automated drilling machines with placement controlled by a drill
tape or drill file. These computer-generated files are also called numerically controlled drill
(NCD) files or “Exelon files”.
52
The drill file describes the location and size of each drilled hole. These holes are often filled
with annular rings (hollow rivets) to create vies. Vies allow the electrical and thermal
connection of conductor on opposite sides of the PCB.
Figure 6.8: PCB Drilling
STEPS INVOLVED IN DRILLING PROCESS:
1. First the PCB is placed on the horizontal plate of drilling machine and drill bead is
inserted.
2. The PCB is placed in such a way that the drill head is exactly top of the place where
we need to drill.
3. Then, the machine is turned on and the handle is too pressed down to drill the PCB.
4. Care should be taken while drilling that PCB, that it is firmly held or else either the
PCB could be damaged or the bead might break.
5. After drilling the hole, one need to check whether the component is getting inserted in
the hole or not. If not, hole needs to be drilled again with larger drill bead.
6.7 PCB SOLDERING
Soldering is the process of joining of two metals using an alloy solder consisting of Tin and
lead (Sn-Pb). Tin determines the melting whereas the Lead is used to reduce the cost. After
the PCB fabrication is done, various components are arranged at proper locations on the
PCB and then the soldering is done. All liquid consist of particles, which attract each other.
The surface is always trying to shrink and this is because of surface tension. The principle
behind soldering is that when liquid particles brought in contact with the walls of the solid
surface, it may happen that the solid attracts the liquid surface. This property is called
53
adhesive property. Care must be taken that melting point of solder is below that of the metal
so that its surface is melted without melting the metal.
54
CHAPTER 7
FAULT FINDING AND TROUBLESHOOTING
7.1 TROUBLESHOOTING
7.1.1 INTRODUCTION
Troubleshooting is a form of problem solving, often applied to repair failed products or
processes. It is a logical, systematic search for the source of a problem in order to solve it,
and make the product or process operational again. Troubleshooting is needed to identify the
symptoms. Determining the most likely cause is a process of elimination – eliminating
potential causes of a problem. Finally, troubleshooting requires confirmation that the solution
restores the product or process to its working state.
In general, troubleshooting is the identification of diagnosis of "trouble" in the management
flow of a corporation or a system caused by a failure of some kind. The problem is initially
described as symptoms of malfunction, and troubleshooting is the process of determining and
remedying the causes of these symptoms.
7.1.2 SIX STEPS FOR TROBLESHOOTING:
Step 1: Recognize the Symptoms
• What is the circuit or system suppose to do What is the circuit or system suppose to do
according to theory or design?
• Are measurements being taken properly? Are measurements being taken properly? Check
DVM and Scope against known sources to verify their operation
• Circuit malfunction verses operator error Circuit malfunction verses operator error bad
readings could be due to instrument miss bad readings could be due to instrument miss-use.
Check signal sources and power supplies (Is it on?).
Step 2: Determine Possible Faults
• Use circuit schematic or block diagram to determine Use circuit schematic or block
diagram to determine location of possible fault
55
• Inspect all connections Inspect all connections-have others review have others review
Typical Errors Battery or Power Supply Connections Incorrect Input Signal Level or
Frequency Output Not Connected Wiring Error.
Step 3: Locate Possible Faults For complex circuits use “Half-Split Method”
Step 4: Find Fault in Stage
• Check for correct power supply values
• Check actual circuit against schematic
• Replace IC or Transistor Check component values
• Check all connections re-solder, tighten
Step 5: Find and Replace Component
Step 6: Replace/correct and Document
• Replace defective part and/or correct wiring error
• Carefully replace IC’s in SEB to prevent mechanical and electrical damage Dispose of
defective devices
• Un-solder and re-solder devices Use Heat Sinks
• Update design schematic as necessary Always work from schematic and keep it current as
designs change
• Verify your design
7.2 FAULT ANALYSIS:
7.2.1 VOLTAGE ANALYSIS:
56
After performing the visible testing if the problem persists, then go for voltage analysis. In
this method, the voltage at different test points is also checked.
7.2.2 RESISTANCE ANALYSIS:
In this analysis, power supply connected to the circuit must be switched when resistance is
measured. Resistance analysis is generally used for continuity testing. Similarly, this can be
used for testing the component such as capacitor, resistor etc. This method requires the
instrument such a DMM.
7.2.3 SIGNAL ANALYSIS:
Sometimes it is important to observe the nature of the signal at different test point by
observing its waveform at test point we can estimate the waveform distortion.
7.3 PRACTICAL TROBLUESHOOTING:
When we were actually implanting hardware of our project, we came to know the different
types of problem that arises while implanting of our project. Here are those experiences.
7.3.1 DRY SOLDERING:
While troubleshooting the circuit we found that some solder points had become dry as they
were soldered a long time before. Therefore, we heated the pointed where solder had dried
and even added some solder.
7.3.2 SHORTED PATHS:
During the PCB designing, we made lay out that much perfect so that we are not came into
the picture of this problem.
7.3.3 GROUNDING:
While troubleshooting we found that the ground pin of the LCD display is not proper so we
made it perfect.
7.3.4 PROGRAMIMG:
As this project is completely based on MATLAB coding we were faced a lot of problems in
program code. There is problem in serial communication between PC to microcontroller. So
to make serial communication proper we change are data types.
57
7.3.5 SOFTWARE DRIVERS
As in this project webcam is a basic requirement we need a drivers to work it properly in any
machine.
In many PC’s USB to TTL converter was not showing as COM port which is required for
serial communication so this is another problem where we need USB to TTL driver.
58
CHAPTER 8
ADVANTAGES, LIMITATIONS, APPLICATION AND
FUTURE SCOPE
8.1 ADVANTAGES
1) Difficult to replicate:
The physiological properties of irises are major advantages to using them as a method
of authentication. The morphogenesis of the iris that occurs during the seventh month of
gestation results in the uniqueness of the iris even between multi-birth children. These patterns
remain stable throughout life and are protected by the body’s own mechanisms. This
randomness in irises makes them very difficult to forge and hence imitate the actual person.
2) Physiological benefits:
Iris -scanning technology is not very intrusive as there is no direct contact between the
subject and the camera technology. It is non-invasive, as it does not use any laser technology,
just simple video technology. The camera does not record an image unless the user actually
engages it.
3) More accurate:
The accurateness of the scanning technology is a major benefit with error rates being very low,
hence resulting in a highly reliable system for authentication.
4) Speed of execution:
The speed of the database iris records are stored in is very important. Users do not like
spending a lot of time being authenticated and the ability of the system to scan and compare
the iris within a matter of minutes is a major benefit.
8.2 LIMITATIONS
1) Power failure:
Normal day- to-day problems such as system failures, power failures, network problems, and
software problems can all contribute to rendering a biometric system unusable.
59
2) Software drivers
To execute this program we need drivers for webcam and USB to TTL converter. It is the one
of the biggest limitation of this project and this two component are plays an important role in
this project.
8.3 APPLICATIONS
1) In company:
If a username and password is stolen then this gives the thief all of that person’s access
privileges and this can be detrimental to a company in today’s competitive environment.
Implementing an iris recognition system to authenticate users on the network means that
there are no passwords to steal and no tokens to lose.
2) In ATM’s:
ATMs are a major area where iris recognition is being trialled. The use of this technology
with ATMs means that customers can discard their plastic cards and PINs thus eliminating
the possibility of having cards and/or PINs stolen or lost.
3) In data centers and computer room:
Mounting a scanner by the access door and authenticating people via their iris is a good
method of ensuring only those whose templates are in the database for computer room
access are actually allowed in. This helps to alleviate problems associated with swipe card
access where some systems have to be manually programmed with specific card numbers
and robust processes need to be in place to ensure access lists are regularly reviewed.
8.4 FUTURE SCOPE
1) One technique that can occur in a not very distant future will be based on acoustical
holography, which uses air ultrasound.
2) A kind of camera will be proposed, able to measure 3D structure of the surface of
any object, and even to measure its vibration. This device can be much better and
cheaper, than optical devices for 3D measurements. And measurement of vibration
of the face surface can cause, that fooling of voice recognition will be very difficult.
Use of this technique for biometric purposes will improve the possibilities of
devices, based on tracking of movements.
60
3) Development of Powerful software for all kind of biometric systems.
4) Ultrasonic technology for finger recognition.
8.5 REFERANCES
Websites:

www.makezine.com

www.instructable.com

www.electronicsforyou.com

www.youtube.com

www.wikipedia.com

www.crazyengineer.com

www.engineergarage.com

www.datasheetscatlog.com

www.alldatasheets.com
books:

The 8051 Microcontroller And Embedded Systems Using Assembly And C, 2/Emazidi
61
CHAPTER 9
DATASHITS
9.1 SST89E516RD2 Microcontroller
The SST89E5xxRD2 and SST89V5xxRD2 are members of the FlashFlex51 family of 8-bit
microcontroller products designed and manufactured with SST’s patented and proprietary
SuperFlash CMOS semiconductor process technology. The split-gate cell design and thickoxide tunneling injector offer significant cost and reliability benefits for SST’s customers. The
devices use the 8051 instruction set and are pin-for-pin compatible with standard 8051
microcontroller devices.
The devices come with 16/24/40/72 KByte of on-chip flash EEPROM program memory which
is partitioned into 2 independent program memory blocks. The primary Block 0 occupies
8/16/32/64 KByte of internal program memory space and the secondary Block 1 occupies 8
KByte of internal program memory space.
The 8-KByte secondary block can be mapped to the lowest location of the 8/16/32/64 KByte
address space; it can also be hidden from the program counter and used as an independent
EEPROM-like data memory.
In addition to the 16/24/40/72 KByte of EEPROM program memory on-chip, the devices can
address up to 64 KByte of external program memory. In addition to 1024 x8 bits of on-chip
RAM, up to 64 KByte of external RAM can be addressed.
The flash memory blocks can be programmed via a standard 87C5x OTP EPROM programmer
fitted with a special adapter and the firmware for SST’s devices. During poweron reset, the
devices can be configured as either a slave to an external host for source code storage or a
master to an external host for an in-application programming (IAP) operation. The devices are
designed to be programmed in-system and in-application on the printed circuit board for
maximum flexibility. The devices are pre-programmed with an example of the bootstrap loader
in the memory, demonstrating the initial user program code loading or subsequent user code
updating via the IAP operation.
Features:
62
8-bit 8051-Compatible Microcontroller (MCU) with Embedded SuperFlash Memory
•
–
Fully Software Compatible
–
Development Toolset Compatible
–
Pin-For-Pin Package Compatible
SST89E5xxRD2 Operation
–
0 to 40 MHz at 5V
• 1 KByte Internal RAM
• Dual Block Super Flash EEPROM
–
8/16/32/64 KByte primary block + 8 KByte secondary block (128-Byte sector size for
both blocks)
–
Individual Block Security Lock with Soft Lock
–
Concurrent Operation during In-Application Programming (IAP)
–
Memory Overlay for Interrupt Support during IAP
• Support External Address Range up to 64 KByte of Program and Data Memory
• Three High-Current Drive Ports (16 mA each)
• Three 16-bit Timers/Counters
• Full-Duplex, Enhanced UART
• Programmable Watchdog Timer (WDT)
• Programmable Counter Array (PCA)
• Four 8-bit I/O Ports (32 I/O Pins) and One 4-bit Port
• Second DPTR register
• Low EMI Mode (Inhibit ALE)
• SPI Serial Interface
• Standard 12 Clocks per cycle, the device has an option to double the speed to 6 clocks per
cycle.
• TTL- and CMOS-Compatible Logic Levels
• Brown-out Detection
• Low Power Modes
9.2 USB to TTL converter
Introduction
63
The PL-2303 operates as a bridge between one USB port and one standard RS232 Serial port.
The two large on-chip buffers accommodate data flow from two different buses. The USB
bulk-type data is adopted for maximum data transfer. Automatic handshake is supported at the
Serial port. With these, a much higher baud rate can be achieved compared to the legacy UART
controller. This device is also compliant with USB power management and remote wakeup
scheme. Only minimum power is consumed from the host during Suspend. By integrating all
the function in a SSOP-28 package, this chip is suitable for cable embedding. Users just simply
hook the cable into PC or hub’s USB port, and then they can connect to any RS-232 devices.
Features
1. Fully compliant with USB Specification v1.1 and USB CDC v1.1
2. Supports RS232 Serial interface ¾ Supports automatic handshake mode
3.
Supports Remote wake-up and power management
4.
256-bytes buffer each for upstream and downstream data flow
5. Supports default ROM or external EEPROM for device configuration
6. On-chip USB transceiver ¾ On-chip crystal oscillator running at 12MHz
7. Supports Windows 98/SE, ME, 2000, XP, Windows CE3.0, CE .NET, Linux, and Mac OS
8. Designed for Windows XP/2000 Certified Logo Drivers
9. USB-IF Logo Compliant with TID 10240590 28-Pin SSOP package
9.3 16x2 LCD display
LCD (Liquid Crystal Display) screen is an electronic display module and find a wide range of
applications. A 16x2 LCD display is very basic module and is very commonly used in various
devices and circuits. These modules are preferred over seven segments and other multi
segment LEDs. The reasons being: LCDs are economical; easily programmable; have no
limitation
of
displaying
special
&
even
custom
characters (unlike
in
seven
segments), animations and so on.
A 16x2 LCD means it can display 16 characters per line and there are 2 such lines. In this
LCD each character is displayed in 5x7 pixel matrix. This LCD has two registers, namely,
Command and Data.
The command register stores the command instructions given to the LCD. A command is an
instruction given to LCD to do a predefined task like initializing it, clearing its screen, setting
the cursor position, controlling display etc. The data register stores the data to be displayed on
64
the LCD. The data is the ASCII value of the character to be displayed on the LCD. Click to
learn more about internal structure of a LCD.
Pin Description:
Table no. 9.1: LCD pin description
Pin
Function
Name
1
Ground (0V)
Ground
2
Supply voltage; 5V (4.7V – 5.3V)
Vcc
3
Contrast adjustment; through a variable resistor
VEE
No
4
Selects command register when low; and data register when
high
Register Select
5
Low to write to the register; High to read from the register
Read/write
6
Sends data to data pins when a high to low pulse is given
Enable
7
DB0
8
DB1
9
DB2
10
DB3
8-bit data pins
11
DB4
12
DB5
13
DB6
14
DB7
15
Backlight VCC (5V)
Led+
16
Backlight Ground (0V)
Led-
65
66