* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download 8-bit 8051-Compatible Microcontroller (MCU) with
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
Opto-isolator wikipedia , lookup
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