Sie sind auf Seite 1von 52




PAGE NO. 4 6 8 9


10 10 11 11

12 12 13 13 13 14 14 14

15 15 18 22 22 23 25 27 27 31 35 40


41 42

45 45 46 49 55



17 18 22 26 27 29 32 41 44




23 30


1.1 INTRODUCTION: While the move towards the digital era is being accelerated every hour, biometrics technologies have begun to affect peoples daily life more and more. Biometrics technologies verify identity through characteristics such as fingerprints, faces, irises, retinal patterns, palm prints, voice, hand-written signatures, and so on. These techniques, which use physical data, are receiving attention as a personal authentication method that is more convenient than conventional methods such as a password or ID cards. Biometric personal authentication uses data taken from measurements. Such data is unique to the individual and remains so throughout ones life.





A GSM modem is a specialized type of modem which accepts a SIM card, and operates over a subscription to a mobile operator, just like a mobile phone. From the mobile operator perspective, a GSM modem looks just like a mobile phone. When a GSM modem is connected to a computer, this allows the computer to use the GSM modem to communicate over the mobile network. While these GSM modems are most frequently used to provide mobile internet connectivity, many of them can also be used for sending and receiving SMS and MMS messages.










The device consists of GSM modem , Fingerprint Sensor, LCD display, Personal Computer, Mobile, GSM antenna. The attendance is marked by using sensor which is showed in LCD display. It will check whether the finger print is matched which is stored in database and simultaneously send the SMS which is received in respectable mobile through GSM antenna.

The device is finger print protected , therefore only the people whose fingerprint have
been already stored will be supported for attendence.


GSM based Attendance System implements the emerging applications of the GSM technology. Using GSM networks, a attendance system has been proposed that will act as an embedded system which can monitor and mark the attendance. The system allows the user to effectively monitor and mark the attendance and equipments via the mobile phone set by sending commands in the form of SMS messages. The main concept behind the project is sending the SMS. The type of the operation to be performed depends on the nature of the SMS sent. The principle in which the project is based is fairly simple. First, the sent SMS is stored and polled from the receiver mobile station and sent to the intermediate hardware that we have designed according to the command received in form of the sent message.


Data will be accurate Attendance management will be easy. Lack of attendance will get minimized

Major problems will get reduced such as bunking of classes.


Project cost can be divided in two ways and calculated as follows;

2.6.1 HARDWARE COST: Hardware cost for our project can be considered as a moderate amount of money spent. It does not fall under a cheap project neither it is a relatively smaller one. However, having said that, the cost of the hardware components implemented does amount to significant figures. We had to disrupt a phone set in order to receive the SMS.the hardware expenses are not as significant when compared to it but they do accumulate to a considerable amount. But taking into consideration that this is a one time investment, the cost cannot be said to be too expensive.

2.6.2 SOFTWARE COST: Software cost includes the cost of the required soft wares for our project. We did not have to spend money in getting the necessary software for our project. The software we used for our system is the free edition version and thus no money was put in it. The involvement cost in our project is only the human labors, searching websites, visiting different places and locations for gathering locations and not to mention the cost of electricity that was consumed during the project completion time.



We had described about the hardware components used in our project. In this project we have explained about the hardware components such as Power supply, Personal computer ,GSM modem, LCD display, GSM antenna , Fingerprint sensor.


A GSM modem is a specialized type of modem which accepts a SIM card, and operates over a subscription to a mobile operator, just like a mobile phone. From the mobile operator perspective, a GSM modem looks just like a mobile phone. When a GSM modem is connected to a computer, this allows the computer to use the GSM modem to communicate over the mobile network. While these GSM modems are most frequently used to provide mobile internet connectivity, many of them can also be used for sending and receiving SMS and MMS messages. A GSM modem can be a dedicated modem device with a serial, USB or Bluetooth connection, or it can be a mobile phone that provides GSM modem capabilities. For the purpose of this document, the term GSM modem is used as a generic term to refer to any modem that supports one or more of the protocols in the GSM evolutionary family, including the 2.5G technologies GPRS and EDGE, as well as the 3G technologies WCDMA, UMTS, HSDPA and HSUPA. A GSM modem exposes an interface that allows applications such as Now SMS to send and receive messages over the modem interface. The mobile operator charges for this message sending and receiving as if it was performed directly on a mobile phone. To perform these tasks, a GSM modem must support an extended AT command set for sending/receiving SMS messages, as defined in the ETSI GSM 07.05 and and 3GPP TS 27.005 specifications. GSM modems can be a quick and efficient way to get started with SMS, because a special subscription to an SMS service provider is not required. In most parts of the world, GSM modems are a cost effective solution for receiving SMS messages, because the sender is paying for the message delivery.

A GSM modem can be a dedicated modem device with a serial, USB or Bluetooth connection, such as the Falcom Samba 75. (Other manufacturers of dedicated GSM modem devices include Wavecom, Multitech and iTegno. Weve also reviewed a number of modems on our technical support blog.) To begin, insert a GSM SIM card into the modem and connect it to an available USB port on your computer. A GSM modem could also be a standard GSM mobile phone with the appropriate cable and software driver to connect to a serial port or USB port on your computer. Any phone that supports the extended AT command set for sending/receiving SMS messages, as defined in ETSI GSM 07.05 and/or 3GPP TS 27.005, can be supported by the Now SMS & MMS Gateway. Note that not all mobile phones support this modem interface. Due to some compatibility issues that can exist with mobile phones, using a dedicated GSM modem is usually preferable to a GSM mobile phone. This is more of an issue with MMS messaging, where if you wish to be able to receive inbound MMS messages with the gateway, the modem interface on most GSM phones will only allow you to send MMS messages. This is because the mobile phone automatically processes received MMS message notifications without forwarding them via the modem interface. It should also be noted that not all phones support the modem interface for sending and receiving SMS messages. In particular, most smart phones, including Blackberries, iPhone, and Windows Mobile devices, do not support this GSM modem interface for sending and receiving SMS messages at all at all. Additionally, Nokia phones that use the S60 (Series 60) interface, which is Symbian based, only support sending SMS messages via the modem interface, and do not support receiving SMS via the modem interface.

3.2.1 GSM Characteristics

Global System for Mobile communications (GSM) is an international standard for mobile communication. Originally, the acronym GSM stood for Groupe Spcial Mobile, a group formed by the Conference of European Posts and Telegraphs (CEPT) in 1982 to research the merits of a European standard for mobile telecommunications. Commercial service using the GSM system did not actually start until 1991. Instead of using analog service, GSM was developed as a digital system using TDMA technology.



The acknowledgement is based on GSM short messages from cell phones, and the equipment used is SIM 300, is an industrial GSM module which provides four transmission modes including voice, data, short message, and FAX. It works in frequency band GSM 900MHZ or I800 MHZ, power voltage 3.4V to 4.5V and baud rate is 300 bps to 115 kbps, where between 1200 to 115 kbps is automatically configured. Short Message Service (SMS) is a text messaging service component of phone, web, or mobile communication systems, using standardized communications protocols that allow the exchange of short text messages between fixed line or mobile phone devices. SMS text messaging is the most widely used data application in the world, with 2.4 billion active users, or 74% of all mobile phone subscribers. To communicate with an SMSC, an SMSC protocol is required. Most of these SMSC protocols are proprietary to the company that developed the SMSC. One widely used SMSC protocol is SMPP (Short Message Peer to Peer). It was originally a proprietary SMSC protocol created by Logica (an SMSC vendor). Now SMPP is an open SMSC protocol whose development is controlled by a non-profitable organization SMS Forum.




AT89S52 este un microcontroller compatibil cu marea familie Intel MCS-51. AT89S52 este creat de ctre Atmel, lucru indicat de iniialele "AT". Acest microcontroler are un consum sczut, ns CMOS -ul de 8 bii i d performane ridicate, avnd o memorie Flash intern de 8K Bytes. Acesta este realizat utiliznd tehnologia cu memorie nevolatil i densitate ridicat ce aparine Atmel i este compatibil cu standardul 80C51. Chip-ul Flash permite memoriei s fie reprogramat intern sau programat de ctre o memorie nevolatil. Prin combinarea a unui UCP de 8 bii cu memorie Flash programabil pe nucleu monolitic, Atmel AT89S52 este microcontroler foarte puternic ce are o flexibilitate ridicat i este astfel soluia perfect pentru multe aplicaii embedded. Un microcontroler este o structur electronic de dimensiune redus, coninnd n general un procesor, o memorie i periferice de intrare/ieire programabile. Aplicaiile in care se utilizeaz microcontrolerele sunt cele de control automat, n domenii ca: producia auto, dispozitive medicale, comand la distan, precum i multe altele de acelai gen. n 1976 Intel creeaz primul microcontroler din familia MCS denumit MCS 48, standardul MCS 51 12

aparnd in 1980. n momentul de fa Intel nu mai produce astfel de microcontrolere, insa mari productori cum ar fi Atmel sau Infineon continu creerea acestor dispozitive. Principalele caracteristici ale acestui microcontroler sunt:

compatibilitate cu familia MCS 51; UCP pe 8 bii la o frecven de maxim 33MHz; RAM: 256 Bytes; memorie Flash: 8K Bytes; 32 de linii de programare pentru intrare/iesire cu caracter general; 8 surse de nterupere organizate pe 2 niveluri de prioriti; 3 timere/countere de cte 16 bii; Watchdog Timer; doi pointeri de date; 1 port serial (full duplex UART); Interfa de programare ISP de 8K Bytes; accept pn la 10 000 de rescrieri; conine oscilator; durat de programare scurt.

AT89S52 este un microcontroler cu 40 de pini, semnificaia acestora fiind exprimat n continuare. n parantez este menionat numrul pinului innd cont de faptul c pinul 1 este n stnga sus, iar pinul 40 n dreapta sus. Vcc(40): tensiune de alimentare; GND(20): mpmntarea; Port 0(39 - 32): Portul 0 este un port bidirecional de intrare/iesire pe 8 bii. Ca port de ieire, fiecarui pin i se aloca 8 intrri TTL. Cnd pinii portului 0 sunt nscrii cu valoarea 1 logic, acetia pot fi folosii ca intrri de impedane ridicate. Portul 0 poate de asemenea fi configurat ca fiind partea mai puin semnificativ de adrese sau date n timpul accesului la programul extern i la datele din memorie. Portul 0 este de asemenea cel care primete codul n timpul programrii Flash i d ca rezultat biii n urma programului de verificare. nchiderea tranzistorului este obligatorie pe perioada verificrii programului.


Port 1 (1-8): Portul 1 este de asemenea un port bidirecional de intrare/ieire avnd pull-up intern(trazistorul este automat nchis). Buferele de ieire ale portului 1 pot suporta 4 intrri TTL. Cnd portul 1 este nscris cu valoarea 1 logic, adic tranzistorul este nchis, putem utiliza portul pentru citire, altfel, pentru cazul n care tranzistorul este deschis utilizm portul pentru scriere. Portul 1 primete de asemenea partea mai puin semnificativ a biilor adresei n timpul programrii i verificrii Flash. n plus, pinii 0 i 1 ai portului 1, pot fi configurai ca timer-e i counter-e, iar pinii 5, 6, 7 sunt utilizai pentru Interfaa de Programare. Port 2 (21-28): Portul 2 este, de asemenea, un port bidirecional de intrare/ieire pe 8 bii cu pull-up intern. Avnd acelai mod de funcionare ca i portul 1, n raport cu tranzistorul existent. Portul 2 este cel care ne da biii cei mai semnificativi ai adresei in timpul extragerii din memoria extern i n timpul accesului la memoria extern de date care utilizeaz adrese de 16 bii. n acest mod de utilizare, Port-ul 2 utilizeaz un pull up intern puternic la emiterea valorii 1 logic. n timpul accesului la memoria extern de date care utilizez adrese de 8 bi i, portul 2 este utilizat pentru Registrele Cu Funcii Speciale. Portul 2 de asemenea primete partea cea mai semnificatic a biilor de adresa i cteva semnale de control n timpul programrii i verificrii Flash. Port 3 (10-17): Portul 3 este, de asemenea, un port bidirecional de intrare/ieire pe 8 bii cu pull-up intern, comportndu-se la fel ca portul 1 si 2. Portul 3 primete semnale de control pentru programarea i verifcarea memoriei Flash. Alte funcii speciale pe care le poate ndeplini portul 3 sunt:

pinul 0 are ca funcie alternativ, intrare a portului serial (RXD); pinul 1 este utilizat i ca ieire a portului serial(TXD); pinii 2 si 3 sunt utilizai pentru ntreruperi externe(#INT0, #INT1); pinii 4 i 5 pot fi utilizai alternativ ca timere(T0 i T1); pinul 6 este utilizat pe post de semnal extern de scriere ctre memorie(#WR); pinul 7 este utilizat pe post de semnal extern de citire din memorie(#RD).

RST (9): RST are rol de resetare a intrrii. O valoare ridicat pe acest pin ntre dou cicluri main, n timp ce oscilatorul funcioneaz, reseteaz dispozitivul. Acest pin acioneaz high pentru 98 de perioade ale oscilatorului dup ce watchdog-ul se oprete. Pentru a dezactiva aceasta caracteristic se utilizeaz bitul DISRTO din Regitrii cu Funcii Speciale mai exact


de la adresa 8EH. n starea implicit a bitului DISRTO, caracteristica de RESET HIGH este activ. ALE/#PROG (30): Acronimul ALE provine de la Adress Latch Enable, iar acesta este cel care comand buffer-ul ce memoreaz partea mai puin semnificativ a adresei. n timpul programrii memoriei Flash acest pin are rolul de programare a pulsurilor de intrare: #PROG(Program Pulse Input). Pentru operaiile obinuite , ALE emite la o perioada de timp constant, egala cu 1/6 din frecvena oscialtorului i poate fi utilizat pentru temporizri externe sau pe post de ceas. Pentru doritori, funcia pe care ALE o execut poate fi dezactivat prin setarea bitului Regitrilor Speciali de la adresa 8EH cu valoarea 0 logic. Cu acest bit setat, ALE este activ doar pentru instruciunile MOVX i MOVC. Dezactivarea bitul ALE nu are nici un efect asupra microcontrolerului dac este n modul extern de execuie. PSEN (29): Acronimul PSEN reprezint Program Store Enable i reprezint semnalul de comand pentru memoria program extern. Cnd AT89S52 execut cod al memoriei program externe, #PSEN este activat de 2 ori pentru fiecare ciclu al mainii, excepie cnd activarea semnalului #PSEN este omis n timpul accesului la memoria de date extern. EA / VPP (31): Acronimul EA semnific External Access Enable. #EA trebuie s fie legat la GRD pentru a putea activa dispozitivul pentru extragerea de cod din memoria program extern ncepnd cu adresa 0000H pn la adresa FFFFH.Pentru execuii interne de program #EA trebuie sa fie legat la Vcc. XTAL1 (19): XTAL1 este utilizat ca intrare a oscilatorului inversor amplificat i ca intrare ceas a circuitului operaional. XTAL2 (18): XTAL2 reprezint ieirea oscilatorului inversor amplificat. WATCHDOG TIMER Watchdog Timer(WDT) este utilizat ca o metod de reconstituire n situa ii n care UCP-ul este supus unor probleme software. WDT-ul const ntr-un numrtor pe 14 bii i un Watchdog Timer Reset(WDTRST) ce se afl n RFS. Implicit, WDT este dezactivat, pentru activare, utilizatorul scrie 01EH i 0E1H succesiv n registrul WDTRST, adic n locaia 0A6H a RFS-ului. Cns WDT este activ, el va incrementa fiecare ciclu main, ct timp oscilatorul va rula. Perioada de pauz este dependent de frecvena ceasului extern. Singura modalitate de dezactivare a WDT-ului este prin resetare. Cnd WDT-ul depaete limita maxim, va trimite un impuls RESET HIGH pinului de RST. 15

3.2.2 MAX232

Fig.3.3 The MAX232 is an integrated circuit, first created by Maxim Integrated Products, that converts signals from an RS-232 serial port to signals suitable for use in TTL compatible digital logic circuits. The MAX232 is a dual driver/receiver and typically converts the RX, TX, CTS and RTS signals. The drivers provide RS-232 voltage level outputs (approx. 7.5 V) from a single + 5 V supply via on-chip charge pumps and external capacitors. This makes it useful for implementing RS-232 in devices that otherwise do not need any voltages outside the 0 V to + 5 V range, as power supply design does not need to be made more complicated just for driving the RS-232 in this case. The receivers reduce RS-232 inputs (which may be as high as 25 V), to standard 5 V TTL levels. These receivers have a typical threshold of 1.3 V, and a typical hysteresis of 0.5 V. The later MAX232A is backwards compatible with the original MAX232 but may operate at higher baud rates and can use smaller external capacitors 0.1 F in place of the 1.0 F capacitors used with the original device. The newer MAX3232 is also backwards compatible, but operates at a broader voltage range, from 3 to 5.5 V. Pin to pin compatible: ICL232, ST232, ADM232, HIN232. LEVELS
It is helpful to understand what occurs to the voltage levels. When a MAX232 IC receives a TTL level to convert, it changes a TTL Logic 0 to between +3 and +15 V, and changes TTL Logic 1 to between -3 to -15 V, and vice versa for converting from RS232 to TTL. This can 16

be confusing when you realize that the RS232 Data Transmission voltages at a certain logic state are opposite from the RS232 Control Line voltages at the same logic state. To clarify the matter, see the table below. For more information see RS-232 Voltage Levels.

RS232 Line Type & Logic Level

RS232 Voltage




Data Transmission (Rx/Tx) Logic 0

+3 V to +15 V 0 V

Data Transmission (Rx/Tx) Logic 1

-3 V to -15 V


Control Signals (RTS/CTS/DTR/DSR) Logic 0

-3 V to -15 V


Control Signals (RTS/CTS/DTR/DSR) Logic 1

+3 V to +15 V 0 V



A fingerprint sensor is an electronic device used to capture a digital image of the fingerprint pattern. The captured image is called a live scan. This live scan is digitally processed to create a biometric template (a collection of extracted features) which is stored and used for matching. This is an overview of some of the more commonly used fingerprint sensor technologies.

Optical fingerprint imaging involves capturing a digital image of the print using visible light. This type of sensor is, in essence, a specialized digital camera. The top layer of the sensor, where the finger is placed, is known as the touch surface. Beneath this


layer is a light-emitting phosphor layer which illuminates the surface of the finger. The light reflected from the finger passes through the phosphor layer to an array of solid state pixels (a charge-coupled device) which captures a visual image of the fingerprint. A scratched or dirty touch surface can cause a bad image of the fingerprint. A disadvantage of this type of sensor is the fact that the imaging capabilities are affected by the quality of skin on the finger. For instance, a dirty or marked finger is difficult to image properly. Also, it is possible for an individual to erode the outer layer of skin on the fingertips to the point where the fingerprint is no longer visible. It can also be easily fooled by an image of a fingerprint if not coupled with a "live finger" detector. However, unlike capacitive sensors, this sensor technology is not susceptible to electrostatic discharge damage.

Ultrasonic sensors make use of the principles of medical ultrasonography in order to create visual images of the fingerprint. Unlike optical imaging, ultrasonic sensors use very high frequency sound waves to penetrate the epidermal layer of skin. The sound waves are generated using piezoelectric transducers and reflected energy is also measured using piezoelectric materials. Since the dermal skin layer exhibits the same characteristic pattern of the fingerprint, the reflected wave measurements can be used to form an image of the fingerprint. This eliminates the need for clean, undamaged epidermal skin and a clean sensing surface.

Capacitance sensors utilize the principles associated with capacitance in order to form fingerprint images. In this method of imaging, the sensor array pixels each act as one plate of a parallel-plate capacitor, the dermal layer (which is electrically conductive) acts as the other plate, and the non-conductive epidermal layer acts as a dielectric.

Passive capacitance
A passive capacitance sensor uses the principle outlined above to form an image of the fingerprint patterns on the dermal layer of skin. Each sensor pixel is used to measure the capacitance at that point of the array. The capacitance varies between the ridges and valleys of the fingerprint due to the fact that the volume between the dermal layer and sensing element in valleys contains an air gap. The dielectric constant of the epidermis and the area of


the sensing element are known values. The measured capacitance values are then used to distinguish between fingerprint ridges and valleys.

Active capacitance
Active capacitance sensors use a charging cycle to apply a voltage to the skin before measurement takes place. The application of voltage charges the effective capacitor. The electric field between the finger and sensor follows the pattern of the ridges in the dermal skin layer. On the discharge cycle, the voltage across the dermal layer and sensing element is compared against a reference voltage in order to calculate the capacitance. The distance values are then calculated mathematically, and used to form an image of the fingerprint. Active capacitance sensors measure the ridge patterns of the dermal layer like the ultrasonic method. Again, this eliminates the need for clean, undamaged epidermal skin and a clean sensing surface.

Matching algorithms are used to compare previously stored templates of fingerprints against candidate fingerprints for authentication purposes. In order to do this either the original image must be directly compared with the candidate image or certain features must be compared.

Pattern-based (or image-based) algorithms

Pattern based algorithms compare the basic fingerprint patterns (arch, whorl, and loop) between a previously stored template and a candidate fingerprint. This requires that the images be aligned in the same orientation. To do this, the algorithm finds a central point in the fingerprint image and centers on that. In a pattern-based algorithm, the template contains the type, size, and orientation of patterns within the aligned fingerprint image. The candidate fingerprint image is graphically compared with the template to determine the degree to which they match.


Fingerprint recognition or fingerprint authentication refers to the automated method of verifying a match between two human fingerprints. Fingerprints are one of many forms of biometricsused to identify individuals and verify their identity. This article touches on two major classes of algorithms (minutia and pattern) and four sensor designs (optical, ultrasonic, passive capacitance, and active capacitance). 19

The three basic patterns of fingerprint ridges are the arch, loop, and whorl:

arch: The ridges enter from one side of the finger, rise in the center forming an arc, and then exit the other side of the finger.

losop: The ridges enter from one side of a finger, form a curve, and then exit on that same side.

whorl: Ridges form circularly around a central point on the finger.

Scientists have found that family members often share the same general fingerprint patterns, leading to the belief that these patterns are inherited.

The arch pattern.

The loop pattern.

The whorl pattern.

Fig.3.4 Minutia features

The major Minutia features of fingerprint ridges are: ridge ending, bifurcation, and short ridge (or dot). The ridge ending is the point at which a ridge terminates. Bifurcations are points at which a single ridge splits into two ridges. Short ridges (or dots) are ridges which are significantly shorter than the average ridge length on the fingerprint. Minutiae and patterns are very important in the analysis of fingerprints since no two fingers have been shown to be identical.


Ridge ending.


Short Ridge (Dot).


A personal computer (PC) is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator. This contrasted with the batch processing or time-sharing models which allowed larger, more expensive minicomputer and mainframe systems to be used by many people, usually at the same time. Large data processing systems require a full-time staff to operate efficiently. Software applications for personal computers include, but are not limited to, word processing, spreadsheets, databases, Web browsers and e-mail clients, digital media playback, games, and myriad personal productivity and special-purpose software applications. Modern personal computers often have connections to the Internet, allowing access to the World Wide Web and a wide range of other resources. Personal computers may be connected to a local area network (LAN), either by a cable or a wireless connection. A personal computer may be a desktop computer or a laptop, tablet, or a handheld PC.

A microcontroller (sometimes abbreviated C, uC or MCU) is a small computer on a single integrated circuit containing a processor core, memory, and\ programmable input/output peripherals. Program memory in the form of NOR flash or OTP ROM is also often included on chip, as well as a typically small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications. 21

Microcontrollers are used in automatically controlled products and devices, such as automobile engine control systems, implantable medical devices, remote controls, office machines, appliances, power tools, toys and other embedded systems. By reducing the size and cost compared to a design that uses a separate microprocessor, memory, and input/output devices, microcontrollers make it economical to digitally control even more devices and processes. Mixed signal microcontrollers are common, integrating analog components needed to control non-digital electronic systems. Some microcontrollers may use four-bit words and operate at clock rate frequencies as low as 4 kHz, for low power consumption (milliwatts or microwatts). They will generally have the ability to retain functionality while waiting for an event such as a button press or other interrupt; power consumption while sleeping (CPU clock and most peripherals off) may be just nanowatts, making many of them well suited for long lasting battery applications. Other microcontrollers may serve performance-critical roles, where they may need to act more like a digital signal processor (DSP), with higher clock speeds and power consumption.





Pin No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Quartz crystal oscillator (up to 24 MHz) 19 20 21 22 23 24 25 26 27 28 29 30 Program pulse input during Flash programming External Access Enable; Vcc for internal program executions 31 Programming enable voltage; 12V (during Flash programming) 32 8 bit input/output port (P0) pins Vpp P0.7/ AD7 Prog EA Program store enable; Read from external program memory Address Latch Enable 8 bit input/output port (P2) pins / High-order address bits when interfacing with external memory Ground (0V) Crystal 1 Ground P2.0/ A8 P2.1/ A9 P2.2/ A10 P2.3/ A11 P2.4/ A12 P2.5/ A13 P2.6/ A14 P2.7/ A15 PSEN ALE Reset pin; Active high Input (receiver) for serial communication Output (transmitter) for serial communication External interrupt 1 External interrupt 2 Timer1 external input Timer2 external input Write to external data memory Read from external data memory RxD TxD Int0 Int1 T0 T1 Write Read 8 bit input/output port (P3) pins 8 bit input/output port (P1) pins Function Name P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 Reset P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 Crystal 2


33 34 35 36 37 38 39 40 Supply voltage; 5V (up to 6.6V) Low-order address bits when interfacing with external memory

P0.6/ AD6 P0.5/ AD5 P0.4/ AD4 P0.3/ AD3 P0.2/ AD2 P0.1/ AD1 P0.0/ AD0 Vcc


A liquid crystal display (LCD) is a flat panel display, electronic visual display, or video display that uses the light modulating properties of liquid crystals. Liquid crystals do not emit light directly. LCDs are available to display arbitrary images (as in a general-purpose computer display) or fixed images which can be displayed or hidden, such as preset words, digits, and 7-segment displays as in a digital clock. They use the same basic technology, except that arbitrary images are made up of a large number of small pixels, while other displays have larger elements. LCDs are used in a wide range of applications including computer monitors, televisions, instrument panels, aircraft cockpit displays, and signage. They are common in consumer devices such as video players, gaming devices, clocks, watches, calculators, andtelephones, and have replaced cathode ray tube (CRT) displays in most applications. They are available in a wider range of screen sizes than CRT and plasma displays, and since they do not use phosphors, they do not suffer image burn-in. LCDs are, however, susceptible to image persistence. The LCD is more energy efficient and can be disposed of more safely than a CRT. Its low electrical power consumption enables it to be used in battery-powered electronic equipment. It is an electronically modulated optical device made up of any number of segments filled with liquid crystals and arrayed in front of a light source (backlight) or reflector to produce images in color ormonochrome. Liquid crystals were first developed in 1888. By 2008,


worldwide sales of televisions with LCD screens exceeded annual sales of CRT units; the CRT became obsolete for most purposes.

Fig.3.7 TWISTED NEMATIC (TN) Twisted nematics displays contain liquid crystals that twist and untwist at varying degrees to allow light to pass through. When no voltage is applied to a TN liquid crystal cell, polarized light passes through the 90-degrees twisted LC layer. In proportion to the voltage applied, the liquid crystals untwist changing the polarization and blocking the light's path. By properly adjusting the level of the voltage almost any gray level or transmission can be achieved. IN PLANE SWITCHING (IPS) In this method, the electrical field is applied through opposite electrodes on the In-plane switching is an LCD technology that aligns the liquid crystals in a plane parallel to the glass substrates. same glass substrate, so that the liquid crystals can be reoriented (switched) in the same plane. This requires two transistors for each pixel instead of the single transistor needed for a standard thin-film transistor (TFT) display. Before LG Enhanced IPS was introduced in 2009, the additional transistors resulted in blocking more transmission area, thus requiring a brighter backlight and consuming more power, making this type of display less desirable for notebook computers. This newer, lower power technology can be found in the Apple iMac, Macbook Pro,iPad, and iPhone 4, the HewlettPackard EliteBook mobile workstations and the Nokia 701. Currently Panasonic is using an


enhanced version eIPS for their large size LCD-TV products as well as Hewlett-Packard in its WebOS based TouchPad tablet. IPS LCD vs AMOLED LG claimed the smartphone LG Optimus Black with an IPS LCD (LCD NOVA) has the brightness up to 700 nits, while the competitor has only IPS LCD with 518 nits and double an Active-matrix OLED (AMOLED) display with 305 nits. LG also claimed the NOVA display to be 50 percent more efficient than regular LCDs and to consume only 50 percent of the power of AMOLED displays when producing white on screen.When it comes to contrast ratio, AMOLED display still performs best due to its underlying technology, where the black levels are displayed as pitch black and not as dark gray. On August 24, 2011, Nokia announced the Nokia 701 and also made the claim of the world's brightest display at 1000 nits. The screen also had Nokia's Clearblack layer, improving the contrast ratio and bringing it closer to that of the AMOLED screens. ADVANCED FRINGE SHIELD SWITCHING (AFFS) It is Known as fringe field switching (FFS) until 2003, advanced fringe field switching is similar to IPS or S-IPS offering superior performance and color gamut with high luminosity. AFFS was developed by Hydis Technologies Co., Ltd, Korea (formally Hyundai Electronics, LCD Task Force) AFFS-applied notebook applications minimize color distortion while maintaining a wider viewing angle for a professional display. Color shift and deviation caused by light leakage is corrected by optimizing the white gamut which also enhances white/gray reproduction. In 2004, Hydis Technologies Co., Ltd licensed AFFS to Japan's Hitachi Displays. Hitachi is using AFFS to manufacture high-end panels. In 2006, HYDIS licensed AFFS to Sanyo Epson Imaging Devices Corporation. Shortly thereafter, Hydis introduced a high-transmittance evolution of the AFFS display, called HFFS (FFS+). Hydis introduced AFFS+ with improved outdoor readability in 2007. AFFS panels are mostly utilized in the cockpits of latest commercial aircraft displays.


VERTICAL ALLIGNMENT (VA) Vertical alignment displays are a form of LCDs in which the liquid crystals naturally align vertically to the glass substrates. When no voltage is applied, the liquid crystals remain perpendicular to the substrate creating a black display between crossed polarizers. When voltage is applied, the liquid crystals shift to a tilted position allowing light to pass through and create a gray-scale display depending on the amount of tilt generated by the electric field. BLUE PHASE MODE Blue phase mode LCDs have been shown as engineering samples early in 2008, but they are not in mass-production yet. The physics of blue phase mode LCDs suggest that very short switching times (~1 ms) can be achieved, so time sequential color control can possibly be realized and expensive color filters would be obsolete. For details refer to Blue Phase Mode LCD. QUALITY CONTROL Some LCD panels have defective transistors, causing permanently lit or unlit pixels which are commonly referred to as stuck pixels or dead pixels respectively. Unlike integrated circuits (ICs), LCD panels with a few defective transistors are usually still usable. Manufacturers' policies for the acceptable number of defective pixels vary greatly. At one point, Samsung held a zero-tolerance policy for LCD monitors sold in Korea. As of 2005, though, Samsung adheres to the less restrictive ISO 13406-2 standard. Other companies have been known to tolerate as many as 11 dead pixels in their policies. Dead pixel policies are often hotly debated between manufacturers and customers. To regulate the acceptability of defects and to protect the end user, ISO released the ISO 13406-2 standard. However, not every LCD manufacturer conforms to the ISO standard and the ISO standard is quite often interpreted in different ways. LCD panels are more likely to have defects than most ICs due to their larger size. For example, a 300 mm SVGA LCD has 8 defects and a 150 mm wafer has only 3 defects. However, 134 of the 137 dies on the wafer will be acceptable, whereas rejection of the whole LCD panel would be a 0% yield. In recent years, quality control has been improved. An SVGA LCD panel with 4 defective pixels is usually considered defective and customers can request an exchange for a new one.Some manufacturers, notably in South Korea where some of the largest LCD panel manufacturers, such as LG, are located, now have "zero defective pixel guarantee", which is an extra screening process which can then 28

determine "A" and "B" grade panels.Many manufacturers would replace a product even with one defective pixel. Even where such guarantees do not exist, the location of defective pixels is important. A display with only a few defective pixels may be unacceptable if the defective pixels are near each other. LCD panels also have defects known as clouding (or less commonly mura), which describes the uneven patches of changes in luminance. It is most visible in dark or black areas of displayed scenes. ZERO-POWER (bistable) DISPLAY The zenithal bistable device (ZBD), developed by QinetiQ (formerly DERA), can retain an image without power. The crystals may exist in one of two stable orientations ("Black" and "White") and power is only required to change the image. ZBD Displays is a spin-off company from QinetiQ who manufacture both grayscale and color ZBD devices. Kent Displays has also developed a "no power" display that uses polymer stabilized cholesteric liquid crystal (ChLCD). In 2009 Kent demonstrated the use of a ChLCD to cover the entire surface of a mobile phone, allowing it to change colors, and keep that color even when power is cut off. In 2004 researchers at the University of Oxford demonstrated two new types of zero-power bistable LCDs based on Zenithal bistable techniques. Several bistable technologies, like the 360 BTN and the bistable cholesteric, depend mainly on the bulk properties of the liquid crystal (LC) and use standard strong anchoring, with alignment films and LC mixtures similar to the traditional monostable materials. Other bistable technologies, e.g., BiNem technology, are based mainly on the surface properties and need specific weak anchoring materials.

Important factors to consider when evaluating an LCD:

Resolution versus range: Fundamentally resolution is the granularity (or number of levels) with which a performance feature of the display is divided. Resolution is often confused with range or the total end-to-end output of the display. Each of the major features of a display has both a resolution and a range that are tied to each other but very


different. Frequently the range is an inherent limitation of the display while the resolution is a function of the electronics that make the display work.

Spatial performance: LCDs come in only one size for a variety of applications and a variety of resolutions within each of those applications. LCD spatial performance is also sometimes described in terms of a "dot pitch". The size (or spatial range) of an LCD is always described in terms of the diagonal distance from one corner to its opposite. This is an historical remnant from the early days of CRT television when CRT screens were manufactured on the bottoms of glass bottles, a direct extension of cathode ray tubes used in oscilloscopes. The diameter of the bottle determined the size of the screen. Later, when televisions went to a more square format, the square screens were measured diagonally to compare with the older round screens. The spatial resolution of an LCD is expressed by the number of columns and

rows of pixels (e.g., 1024768). Each pixel is usually composed 3 sub-pixels, a red, a green, and a blue one. This had been one of the few features of LCD performance that was easily understood and not subject to interpretation. However there are newer schemes that share sub-pixels among pixels and to add additional colors of sub-pixels. So going forward, spatial resolution may now be more subject to interpretation. One external factor to consider in evaluating display resolution is the resolution of the viewer's eyes. Assuming 20/20 vision, the resolution of the eyes is about one minute of arc. In practical terms that means for an older standard definition TV set the ideal viewing distance was about 8 times the height (not diagonal) of the screen away. At that distance the individual rows of pixels merge into a solid. If the viewer were closer to the screen than that, they would be able to see the individual rows of pixels. When observed from farther away, the image of the rows of pixels still merge, but the total image becomes smaller as the distance increases. For an HDTV set with slightly more than twice the number of rows of pixels, the ideal viewing distance is about half what it is for a standard definition set. The higher the resolution, the closer the viewer can sit or the larger the set can usefully be sitting at the same distance as an older standard definition display. For a computer monitor or some other LCD that is being viewed from a very close distance, resolution is often expressed in terms of dot pitch or pixels per inch. This is consistent with the printing industry (another form of a display). Magazines, and other premium printed media are often at 300 dots per inch. As with the distance discussion above, 30

this provides a very solid looking and detailed image. LCDs, particularly on mobile devices, are frequently much less than this as the higher the dot pitch, the more optically inefficient the display and the more power it burns. Running the LCD is frequently half, or more, of the power consumed by a mobile device. An additional consideration in spatial performance is viewing cone and aspect ratio. The Aspect ratio is the ratio of the width to the height .Older, standard definition TVs were 4:3. Newer High Definition televisions (HDTV) are 16:9, as are most new notebook computers. Movies are often filmed in much different (wider) aspect ratios, which is why there will frequently still be black bars at the top and bottom of an HDTV screen. The Viewing Angle of an LCD may be important depending on its use or location. The viewing angle is usually measured as the angle where the contrast of the LCD falls below 10:1. At this point, the colors usually start to change and can even invert, red becoming green and so forth. Viewing angles for LCDs used to be very restrictive however, improved optical films have been developed that give almost 180 degree viewing angles from left to right. Top to bottom viewing angles may still be restrictive, by design, as looking at an LCD from an extreme up or down angle is not a common usage model and these photons are wasted. Manufacturers commonly focus the light in a left to right plane to obtain a brighter image here.

Temporal/timing performance: Contrary to spatial performance, temporal performance is a feature where smaller is better. Specifically, the range is the pixel response time of an LCD, or how quickly a sub-pixel's brightness changes from one level to another. For LCD monitors, this is measured in (black to black) or (gray to gray). These different types of measurements make comparison difficult. Further, this number is almost never published in sales advertising. Refresh rate or the temporal resolution of an LCD is the number of times per

second in which the display draws the data it is being given. Since activated LCD pixels do not flash on/off between frames, LCD monitors exhibit no refresh-induced flicker, no matter how low the refresh rate. High-end LCD televisions now feature up to 240 Hz refresh rate, which requires advanced digital processing to insert additional interpolated frames between the real images to smooth the image motion. However, such high refresh rates may not be actually supported by pixel response times and the result can be visual artifacts that distort the image in unpleasant ways. 31

Temporal performance can be further taxed if it is a 3D display. 3D displays work by showing a different series of images to each eye, alternating from eye to eye. Thus a 3D display must display twice as many images in the same period of time as a conventional display, and consequently the response time of the LCD is more important. 3D LCDs with marginal response times will exhibit image smearing. These artifacts are most noticeable in a person's black and white vision (rod cells) than in color vision (cone cells). Thus they will be more likely to see flicker or any sort of temporal distortion in a display image by not looking directly at the display, because their eyes' rod cells are mostly grouped at the periphery of their vision.

Color performance: There are many terms to describe color performance of an LCD. They include color gamut which is the range of colors that can be displayed and color depth which is the color resolution or the resolution or fineness with which the color range is divided. Although color gamut can be expressed as three pairs of numbers, the XY coordinates within color space of the reddest red, greenest green, and bluest blue, it is usually expressed as a ratio of the total area within color space that a display can show relative to some standard such as saying that a display was "120% of NTSC". NTSC is the National Television Standards Committee, the old standard definition TV specification. Color gamut is a relatively straight forward feature. However with clever optical techniques that are based on the way humans see color, termed color stretch. colors can be shown that are outside of the nominal range of the display. In any case, color range is rarely discussed as a feature of the display as LCDs are designed to match the color ranges of the content that they are intended to show. Having a color range that exceeds the content is a useless feature.

Color depth or color support is sometimes expressed in bits, either as the number of bits per sub-pixel or the number of bits per pixel. This can be ambiguous as an 8-bit color LCD can be 8 total bits spread between red, green, and blue or 8 bits each for each color in a different display. Further, LCDs sometimes use a technique called dithering which is time averaging colors to get intermediate colors such as alternating between two different colors to get a color in between. This doubles the number of colors that can be displayed; however this is done at the expense of the temporal performance of the display. Dithering is commonly used on computer displays where the images are mostly static and the temporal performance is unimportant. 32

When color depth is reported as color support, it is usually stated in terms of number of colors the LCD can show. The number of colors is the translation from the base 2bit numbers into common base-10. For example, 8-bit color is 2 to the 8th power, which is 256 colors. 24-bit color is 2 to the 24th power, or 256 x 256 x 256, a total of 16,777,216 colors. The color resolution of the human eye depends on both the range of colors being sliced and the number of slices; but for most common displays the limit is about 28-bit color LCD TVs commonly display more than that as the digital processing can introduce color distortions and the additional levels of color are needed to ensure true colors. There are additional aspects to LCD color and color management, such as white point and gamma correction, which describe what color white is and how the other colors are displayed relative to white. LCD televisions also frequently have facial recognition software, which recognizes that an image on the screen is a face and both adjust the color and the focus differently from the rest of the image. These adjustments can have important effects on the consumer, but are not easily quantifiable; people like what they like and everyone does not like the same thing. There is no substitute for looking at the LCD one is going to buy before buying it. Portrait film, another form of display, has similar adjustments built in to it. Many years ago, Kodak had to overcome initial rejection of its portrait film in Japan because of these adjustments. In the U.S., people generally prefer a more colorful facial image than in reality (higher color saturation). In Japan, consumers generally prefer a less saturated image. The film that Kodak initially sent to Japan was biased in the wrong direction for Japanese consumers. Television monitors have their built-in biases as well.

Brightness and contrast ratio: Contrast ratio is the ratio of the brightness of a full-on pixel to a full-off pixel and, as such, would be directly tied to brightness if not for the invention of the blinking backlight (or burst dimming). The LCD itself is only a light valve, it does not generate light; the light comes from a backlight that is either a florescent tube or a set of LEDs. The blinking backlight was developed to improve the motion performance of LCDs by turning the backlight off while the liquid crystals were in transition from one image to another. However, a side benefit of the blinking backlight was infinite contrast. The contrast reported on most LCDs is what the LCD is qualified at, not its actual performance. In any case, there are two large caveats to contrast ratio as a measure of LCD performance.


The first caveat is that contrast ratios are measured in a completely dark room. In actual use, the room is never completely dark, as one will always have the light from the LCD itself. Beyond that, there may be sunlight coming in through a window or other room lights that reflect off of the surface of the LCD and degrades the contrast. As a practical matter, the contrast of an LCD, or any display, is governed by the amount of surface reflections, not by the performance of the display. The second caveat is that the human eye can only image a contrast ratio of a maximum of about 200:1 Black print on a white paper is about 1520:1. That is why viewing angles are specified to the point where they fall below 10:1. A 10:1 image is not great, but is discernible. Brightness is usually stated as the maximum output of the LCD. In the CRT era, Trinitron CRTs had a brightness advantage over the competition, so brightness was commonly discussed in TV advertising. With current LCD technology, brightness, though important, is usually similar from maker to maker and consequently is not discussed much, except for laptop LCDs and other displays that will be viewed in bright sunlight. In general, brighter is better, but there is always a trade-off between brightness and battery life in a mobile device.


Very compact and light. Low power consumption. On average, 50-70% less energy is consumed than CRT monitors.

No geometric distortion. The possible ability to have little or no flicker depending on backlight technology. Usually no refresh-rate flicker, as the LCD panel itself is usually refreshed at 200 Hz or more, regardless of the source refresh rate.

Is very thin compared to a CRT monitor, which allows the monitor to be placed farther back from the user, reducing close-focusing related eye-strain.

Razor sharp image with no bleeding/smearing when used at native resolution. Emits less electromagnetic radiation than a CRT monitor. Not affected by screen burn-in, though an identical but less severe phenomenon known as image persistence is possible. 34

Can be made in almost any size or shape. No theoretical resolution limit. Can be made to large sizes (more than 24 inches) lightly and relatively inexpensively. Masking effect: the LCD grid can mask the effects of spatial and grayscale quantization, creating the illusion of higher image quality. As an inherently digital device, the LCD can natively display digital data from a DVI or HDMI connection without requiring conversion to analog, like a CRT would need.

Many LCD monitors run on an external 12v power supply, which means that (with a proper cable) they can also be run directly on one of the computer's 12v power supply outputs, removing the overhead and quiescent power consumption of the monitor's own power supply. If the computer has a PFC power supply, this will increase the power efficiency as well, as the cheap switching power supplies included with LCD monitors rarely implement PFC. This is also convenient because the monitor will power on when the computer is switched on, and will power off when the computer sleeps or is shutdown.

The present chapter introduces the operation of power supply circuits built using filters, rectifiers, and then voltage regulators. Starting with an ac voltage, a steady dc voltage is obtained by rectifying the ac voltage, then filtering to a dc level, and finally, regulating to obtain a desired fixed dc voltage. The regulation is usually obtained from an IC voltage regulator unit, which takes a dc voltage and provides a somewhat lower dc voltage, which remains the same even if the input dc voltage varies, or the output load connected to the dc voltage changes.



A block diagram containing the parts of a typical power supply and the voltage at various points in the unit is shown in figure 2.1. The ac voltage, typically 120 V rms, is connected to a transformer, which steps that ac voltage down to the level for the desired dc output. A diode rectifier then provides a full-wave rectified voltage that is initially filtered by a simple capacitor filter to produce a dc voltage. This resulting dc voltage usually has some ripple or ac voltage variation. A regulator circuit can use this dc input to provide a dc voltage that not only has much less ripple voltage but also remains the same dc value even if the input dc voltage varies somewhat, or the load connected to the output dc voltage changes. This voltage regulation is usually obtained using one of a number of popular voltage regulator IC units.


The potential transformer will step down the power supply voltage (0-230V) to (06V) level. Then the secondary of the potential transformer will be connected to the precision rectifier, which is constructed with the help of opamp. The advantages of using precision rectifier are it will give peak voltage output as DC, rest of the circuits will give only RMS output.

When four diodes are connected as shown in figure, the circuit is called as bridge rectifier. The input to the circuit is applied to the diagonally opposite corners of the network, and the output is taken from the remaining two corners. Let us assume that the transformer is working properly and there is a positive potential, at point A and a negative potential at point B. the positive potential at point A will forward bias D3 and reverse bias D4. The negative potential at point B will forward bias D1 and reverse D2. At this time D3 and D1 are forward biased and will allow current flow to pass through them; D4 and D2 are reverse biased and will block current flow. The path for current flow is from point B through D1, up through RL, through D3, through the secondary of the transformer back to point B. this path is indicated by the solid arrows. Waveforms (1) and (2) can be observed across D1 and D3. One-half cycle later the polarity across the secondary of the transformer reverse, forward biasing D2 and D4 and reverse biasing D1 and D3. Current flow will now be from point A through D4, up through RL, through D2, through the secondary of T1, and back to 36

point A. This path is indicated by the broken arrows. Waveforms (3) and (4) can be observed across D2 and D4. The current flow through RL is always in the same direction. In flowing through RL this current develops a voltage corresponding to that shown waveform (5). Since current flows through the load (RL) during both half cycles of the applied voltage, this bridge rectifier is a full-wave rectifier. One advantage of a bridge rectifier over a conventional full-wave rectifier is that with a given transformer the bridge rectifier produces a voltage output that is nearly twice that of the conventional full-wave circuit. This may be shown by assigning values to some of the components shown in views A and B. assume that the same transformer is used in both circuits. The peak voltage developed between points X and y is 1000 volts in both circuits. In the conventional full-wave circuit shownin view A, the peak voltage from the center tap to either X or Y is 500 volts. Since only one diode can conduct at any instant, the maximum voltage that can be rectified at any instant is 500 volts. The maximum voltage that appears across the load resistor is nearly-but never exceeds-500 v0lts, as result of the small voltage drop across the diode. In the bridge rectifier shown in view B, the maximum voltage that can be rectified is the full secondary voltage, which is 1000 volts. Therefore, the peak output voltage across the load resistor is nearly 1000 volts. With both circuits using the same transformer, the bridge rectifier circuit produces a higher output voltage than the conventional full-wave rectifier circuit.

Voltage regulators comprise a class of widely used ICs. Regulator IC units contain the circuitry for reference source, comparator amplifier, control device, and overload protection all in a single IC. Although the internal construction of the IC is somewhat different from that described for discrete voltage regulator circuits, the external operation is much the same. IC units provide regulation of either a fixed positive voltage, a fixed negative voltage, or an adjustably set voltage. A power supply can be built using a transformer connected to the ac supply line to step the ac voltage to a desired amplitude, then rectifying that ac voltage, filtering with a capacitor and RC filter, if desired, and finally regulating the dc voltage using an IC regulator. The regulators can be selected for operation with load currents from hundreds of milli amperes to tens of amperes, corresponding to power ratings from milliwatts to tens of watts.


THREE-TERMINAL VOLTAGE REGULATORS: The basic connection of a three-terminal voltage regulator IC to a load. The fixed voltage regulator has an unregulated dc input voltage, Vi, applied to one input terminal, a regulated output dc voltage, Vo, from a second terminal, with the third terminal connected to ground. For a selected regulator, IC device specifications list a voltage range over which the input voltage can vary to maintain a regulated output voltage over a range of load current. The specifications also list the amount of output voltage change resulting from a change in load current (load regulation) or in input voltage (line regulation).

Fig 3.9
A fixed three-terminal voltage regulator has an unregulated dc input voltage, Vi, applied to one input terminal, a regulated dc output voltage, Vo, from a second terminal, with the third terminal connected to ground. The series 78 regulators provide fixed positive regulated voltages from 5 to 24 volts. Similarly, the series 79 regulators provide fixed negative regulated voltages from 5 to 24 volts.



AT+CMGR -Read new message from a given memory location. AT+CMGS -Send message to a given recipient. AT+CMGD -Delete message. AT -Check if serial interface and GSM modem is working. ATE0-Turn echo off, less traffic on serial line. AT+CNMI-Display of new incoming SMS. AT+CPMS -Selection of SMS memory. AT+CMGF -SMS string format, how they are compressed.

READ MESSAGE AT+CMGR) The AT+CMGR command is used to read a message from a given memory location. Execution of AT+CMGR returns a message at [index] from selected memory [M1]. The status of the message and the entire compressed message (PDU) is returned. To get any useful information out of the compressed message it should be decompressed. SEND MESSAGE(AT+CMGS) This command enables the user to send SMS messages. Describes how to build such messages. How to include user defined text and recipient telephone number. After the user defined fields are set, the message can be compressed and sent using the AT+CMGS command. DELETE MESSAGE (AT+CMGD) This command is used to delete a received stored message from [M1]


4.2.FOR FINGERPRINT SCANNING CODING using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Data.OleDb; namespace FPStudentAttandance { class DataBase { public bool AddStudent(int Id, String Name, String DepartMent, String DOB, String MobileNumnber, String Address, int FPId) { bool retval = false; try { String strPath = Path.GetDirectoryName(Application.ExecutablePath); String Connstr = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + strPath + "\\StudentDetails.mdb"; String strQuery = "INSERT INTO Student VALUES(" + Id + ",'" + Name + "','" + DepartMent + "','" + DOB + "','" + MobileNumnber + "','" + Address + "'," + FPId + ")"; OleDbConnection conn = new OleDbConnection(Connstr); conn.Open(); OleDbCommand cmd = new OleDbCommand(strQuery, conn); cmd.ExecuteNonQuery(); conn.Close(); retval = true; } catch (Exception ex) { } return retval; } public bool GetStudentInfo(int Id, ref int FpId, ref String Dt, ref String Mobilenumber) { bool retavl = false; try { String strPath = Path.GetDirectoryName(Application.ExecutablePath); String Connstr = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + strPath + "\\StudentDetails.mdb"; String strQuery = "SELECT [FPId], [DOB], [MobileNumber] FROM Student WHERE Id =" + Id; 40

OleDbConnection conn = new OleDbConnection(Connstr); conn.Open(); OleDbCommand cmd = new OleDbCommand(strQuery, conn); OleDbDataReader Reader = cmd.ExecuteReader(); if(Reader.Read()) { FpId = int.Parse(Reader[0].ToString()); Dt = Reader[1].ToString(); Mobilenumber = Reader[2].ToString(); retavl = true; } conn.Close(); } catch(Exception ex) { } return retavl; } public bool isStudentIn(int Id) { bool retavl = false; try { String strPath = Path.GetDirectoryName(Application.ExecutablePath); String Connstr = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + strPath + "\\StudentDetails.mdb"; String strQuery = "SELECT * from Attandance WHERE Id = " + Id + " AND [in] = 1 AND Updated='" + DateTime.Today.ToString("dd-MM-yyyy") + "'"; OleDbConnection conn = new OleDbConnection(Connstr); conn.Open(); OleDbCommand cmd = new OleDbCommand(strQuery, conn); OleDbDataReader Reader = cmd.ExecuteReader(); if (Reader.Read()) retavl = true; conn.Close(); } catch (Exception ex) { } return retavl; } public bool insertAttdancein(int Id, int inn, int outt, int late, String dt, String Status) { bool retval = false; 41

try { String strPath = Path.GetDirectoryName(Application.ExecutablePath); String Connstr = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + strPath + "\\StudentDetails.mdb"; String strQuery = "INSERT INTO Attandance VALUES(" + Id + ",'" + dt + "'," + inn + "," + outt + "," + late + ",'" + Status + "')"; OleDbConnection conn = new OleDbConnection(Connstr); conn.Open(); OleDbCommand cmd = new OleDbCommand(strQuery, conn); cmd.ExecuteNonQuery(); conn.Close(); retval = true; } catch (Exception ex) { } return retval; } public bool updateAttdanceout(int Id) { bool retval = false; try { String strPath = Path.GetDirectoryName(Application.ExecutablePath); String Connstr = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + strPath + "\\StudentDetails.mdb"; String strQuery = "UPDATE Attandance SET [Out]=1 WHERE Id="+ Id +" AND Updated='"+ DateTime.Today.ToString("dd-MM-yyyy")+"'"; OleDbConnection conn = new OleDbConnection(Connstr); conn.Open(); OleDbCommand cmd = new OleDbCommand(strQuery, conn); cmd.ExecuteNonQuery(); conn.Close(); retval = true; } catch (Exception ex) { } return retval; } } }



using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.IO.Ports;

using Neurotec.Biometrics; using Neurotec.Gui; namespace FPStudentAttandance { public partial class frmAttandeance : Form { Neurotec.Biometrics.Nffv engine = null; Nffv _engine; List<NffvUser> lstEngineUser; SerialPort sPort; public frmAttandeance(Nffv engine) { _engine = engine; InitializeComponent(); } private void addStudentToolStripMenuItem_Click(object sender, EventArgs e) { pnlAdd.Visible = true; lblTime.Visible = false; cmbCom.Visible = false; btnStart.Visible = false; pnlAdd.Top = 40; this.Width = 712; this.Height = 550; } private void frmAttandeance_Load(object sender, EventArgs e) { string[] ports = SerialPort.GetPortNames(); if (ports.Length > 0) 43

{ foreach (string port in ports) { cmbCom.Items.Add(port); } cmbCom.SelectedIndex = 0; }

pnlAdd.Visible = false; this.Width = 712; this.Height = 350; lstEngineUser = new List<NffvUser>(); foreach (NffvUser engineUser in _engine.Users) lstEngineUser.Add(engineUser); lblTime.Text = DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss"); ; timer1.Interval = 1000; timer1.Start();

} internal class EnrollmentResult { public NffvStatus engineStatus; public NffvUser engineUser; }; private void doEnroll(object sender, DoWorkEventArgs args) { EnrollmentResult enrollmentResults = new EnrollmentResult(); enrollmentResults.engineUser = _engine.Enroll(20000, out enrollmentResults.engineStatus); args.Result = enrollmentResults; } private void CancelScanningHandler(object sender, EventArgs e) { _engine.Cancel(); } private void timer1_Tick(object sender, EventArgs e) { lblTime.Text = DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss"); ; } private void checlkAttendanceToolStripMenuItem_Click(object sender, EventArgs e) { 44

lblTime.Visible = true; pnlAdd.Visible = false; cmbCom.Visible = true; btnStart.Visible = true; this.Width = 712; this.Height = 350; } private void btnAdd_Click(object sender, EventArgs e) { if (!isTextboxempty(txtStudentId, "Student Id")) return; if (!isTextboxempty(txtName, "Student Name")) return; if (!isTextboxempty(txtDepartment, "DepartMent")) return; if (!isTextboxempty(txtMobile, "Mobile Number")) return; if (!isTextboxempty(txtAddress, "Address")) return; try { RunWorkerCompletedEventArgs taskResult = BusyForm.RunLongTask("Waiting for fingerprint ...", new DoWorkEventHandler(doEnroll), false, null, new EventHandler(CancelScanningHandler)); EnrollmentResult enrollmentResult = (EnrollmentResult)taskResult.Result; if (enrollmentResult.engineStatus == NffvStatus.TemplateCreated) { NffvUser engineUser = enrollmentResult.engineUser; lstEngineUser.Add(engineUser); PicStudentFingerPrint.Image = engineUser.GetBitmap(); int Id = int.Parse(txtStudentId.Text); String Name = txtName.Text; String Departmewnt = txtDepartment.Text; String MobileNumber = txtMobile.Text; String Adress = txtAddress.Text; Adress = Adress.Replace("\r\n", "-"); DataBase db = new DataBase(); int FPId = engineUser.Id; if (!db.AddStudent(Id, Name, Departmewnt, dtDate.Value.Date.ToString("dd-MM-yyyy"), MobileNumber, Adress, FPId)) 45

{ MessageBox.Show("Falied to Add Student"); return; } ClearAllData(); } else { NffvStatus engineStatus = enrollmentResult.engineStatus; MessageBox.Show(string.Format("Enrollment was not finished. Reason: {0}", engineStatus)); } } catch (Exception ex) { MessageBox.Show(ex.Message); }

} public void ClearAllData() { txtStudentId.Text = ""; txtName.Text = ""; txtDepartment.Text = ""; txtMobile.Text = ""; txtAddress.Text = ""; } private void txtId_KeyPress(object sender, KeyPressEventArgs e) { if (char.IsDigit(e.KeyChar) || char.IsControl(e.KeyChar)) e.Handled = false; else e.Handled = true; } public bool isTextboxempty(TextBox txt, String strName) { String str = txt.Text; str.Trim(); if (str.Length <= 0) { MessageBox.Show(strName + "Should not be empty"); txt.Focus(); return false; } 46

return true; } private void txtStudentId_KeyPress(object sender, KeyPressEventArgs e) { if (char.IsDigit(e.KeyChar) || char.IsControl(e.KeyChar)) e.Handled = false; else e.Handled = true; } internal class VerificationResult { public NffvStatus engineStatus; public int score; }; private void doVerify(object sender, DoWorkEventArgs args) { VerificationResult verificationResult = new VerificationResult(); verificationResult.score = _engine.Verify((NffvUser)args.Argument, 20000, out verificationResult.engineStatus); args.Result = verificationResult; } private void btnCheck_Click(object sender, EventArgs e) { bool blnIdFound = false; try { if (!isTextboxempty(txtId, "Student Id")) return; int Id = int.Parse(txtId.Text); DataBase db = new DataBase(); int FpId = 0; String dt = ""; String Mobilenumber = ""; if (!db.GetStudentInfo(Id, ref FpId, ref dt, ref Mobilenumber)) { MessageBox.Show("Student Id Not Found"); return; } foreach (NffvUser engUser in lstEngineUser) { if (FpId == engUser.Id) { blnIdFound = true; 47

RunWorkerCompletedEventArgs taskResult = BusyForm.RunLongTask("Waiting for fingerprint ...", new DoWorkEventHandler(doVerify), false, engUser, new EventHandler(CancelScanningHandler)); VerificationResult verificationResult = (VerificationResult)taskResult.Result; if (verificationResult.engineStatus == NffvStatus.TemplateCreated) { if (verificationResult.score > 0) { if (!db.isStudentIn(Id)) { String strStatus = "Present"; int Late = 0; DateTime t1 = Convert.ToDateTime(DateTime.Now); DateTime t2 = Convert.ToDateTime("12:30 PM"); if (t1 > t2) { MessageBox.Show("You are late"); strStatus = "Late"; Late = 1; } String strDob = dt; String strToday = DateTime.Today.ToString("dd-MM-yyyy"); if (strDob == strToday) { DOB frm = new DOB(); frm.ShowDialog(); } sPort.WriteLine("AT+CMGF=1"); sPort.WriteLine("AT+CMGS=" + Mobilenumber + "\n"); sPort.WriteLine("your son present in college" + (char)26);

if (!db.insertAttdancein(Id, 1, 0, Late, DateTime.Today.ToString("dd-MM-yyyy"), strStatus)) { MessageBox.Show("Failed to Upadte Student Attandance inn"); return; } } else { if (!db.updateAttdanceout(Id)) { MessageBox.Show("Failed to Upadte Student Attandance OUT"); return; }


} } else { MessageBox.Show(string.Format("{0} not verified.\r\nFingerprints do not match. Score: {1}" + verificationResult.score)); } } else { MessageBox.Show(string.Format("Verification was not finished. Reason: {0}", verificationResult.engineStatus)); } } } if (blnIdFound == false) { MessageBox.Show("Please Add the sudent"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void btnStart_Click(object sender, EventArgs e) {S String str = cmbCom.Text; sPort = new SerialPort(str, 9600); sPort.Open(); } } }


using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace FPStudentAttandance { static class Program { /// <summary> 49

/// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false);

Neurotec.Biometrics.Nffv engine = null; try { try { engine = new Neurotec.Biometrics.Nffv("FingerprintDB.CSharpSample.dat", "Suprema"); } catch (Exception) {


MessageBox.Show("Failed to initialize Nffv or create/load database.\r\n" + "Please check if:\r\n - Provided password is correct;\r\n - Database filename is correct;\r\n" + " - Scanners are used properly.\r\n", "Nffv C# Sample", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //Application.Run(new frmMain(engine)); Application.Run(new frmAttandeance(engine)); } catch (Exception ex) { MessageBox.Show( string.Format("An error has occured: {0}", ex.Message), "Nffv C# Sample", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { if (engine != null) { engine.Dispose(); } } } } }



The designed system provides an acknowledgement to the client whose attendance has been taken and when. It also describes the total sum of attendance that is done by the client. There is a lot of benefits of the system i.e. students attendance record to the parents on daily basis, employees attendance notification as they punch: reduces the overhead in the compilation of attendance at the end of the month also the employee know that how much amount of salary he will get as he/she knows the total duration of work done. With the help of this proposed model, one can easily monitor data from any remote location via SMS, there is no need of direct contact, internet or any kind of request send by user as it is push based technique.

Mohd Helmy Abd Wahab 2010 Design and Development of Portable RFID for Attendance System, 978-1-4244-5651-2/10, 2010, Qun Hou,, Wuhan, Hubei, 2010 Research and Implementation of Remote Heart Rate Monitoring System Based on GSM and MCU, CHINA, Yan Hongwei , Pan Hongxia, 2009 Remote Data Monitoring System Design Based on GSM Short Message Service in IEEE International Symposium on Industrial Electronics (ISlE 2009) Seoul Olympic Parktel, Seoul, Korea. [4] T.S. Lim, S.C. Sim and M.M. Mansor, 2009 RFID Based Attendance System, 2009 IEEE Symposium on Industrial Electronics and Applications (ISIEA 2009), Kuala Lumpur, Malaysia [5] Z. Yongqiang, L. Ji 2006 The Design of Wireless Fingerprint Attendance System International Conference on Communication Technology, ICCT '06, Handan, Hebei, China, 27-30 November 2006, pp. 14.. M. Man, L.Y. Kyng 2007 Utilizing MYKAD Touch N Go features for Student Attendance System (TITO). Proceeding of 1st International Malaysian Educational 51

Technology Convention 2007, Johor Bahru, Malaysia, pp.114-120. [Sidi, Jonathan, N Syahrul, Junaini, and Lau, S. Ling. 2007 ISAMS: Tracking Student Attendance using Interactive Student Attendance management System. Third Malaysian Software Engineering Conference (MySEC07), Selangor, Malaysia, pp. 1-5. H.J. vogel, C.Bettstetter and C.Hartmann GSM Architecture, Protocols and Services, Third Edition, John Wiley & Sons, Ltd. ISBN: 978- 0- 470- 03070- 7 jong-Liang Wu, Wing W. Y. Ng, Daniel S. Yeung, Hai-Lan Ding, 2009 A Brief Survey On Current Rfid Applications In proceeding of 8th International Conference on Machine Learning and Cybernetics, Baoding. Cheng-Ming Jimmy and Li, Director, 2006 An Integrated Software Platform for RFID-Enabled Application Development IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (SUTC06) . Kuo-shien Huang, Shun-ming Tang, 2008 RFID Applications Strategy and Deployment in Bike Renting System ICACT 2008, ISBN 978-89-5519-136-3 [Monzur Kabir 2009 GSM Network Architecture Ph.D, Thesis. [LI Hai-lin LUO Chang-yuan WANG Ya-di, 2008 Design of Equipment Management Information System Based on RFID, F. Klaus. 2003 RFID Handbook: Fundamentals and Applications in Contactless Smart Cards and Identification, Munich Germany, John Wiley & Sons, 2003. Jifeng Ding, Jiyin ZhaoBiao Ma, 2009 Remote monitoring system of temperature and humidity based on GSM, 978-1-4244-4131-0/09. Cheng-Ming Jimmy Li, An Integrated Software Platform for RFID-Enabled Application Development, Proceeding of the IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (SUTC06).