20-04-2011, 04:55 PM
[attachment=12514]
GSM Based Voting Machine
Introduction
The project is aimed to develop SMS based password protected voting machine. Voters can participate in the voting by sending their choice through SMS. If the mobile user is not registered than it will decline the vote. For registered users it will ask for password through sms and after verifying the password it will accept the vote revert back an acknowledgement sms to the voter for successful or unsuccessful of vote.
HARDWARE USED
1. AT command supporting GSM mobile phone.
2. 89S52 Microcontroller
3. Max 232 IC.
4. Voltage regulator 7805.
5. Diode IN4007
6. LCD
SOFTWARE USED
1. Keil u-Vision 3.0
Keil Software is used provide you with software development tools for 8051 based microcontrollers. With the Keil tools, you can generate embedded applications for virtually every 8051 derivative. The supported microcontrollers are listed in the µ-vision
2. PRO51 Programmer Software
THEORY OF OPERATION
In this project we interfaced 8051 microcontroller with Motorola’s C168 GSM mobile phone to decode the received message and do the required action. The protocol used for the communication between the two is AT command.
The microcontroller pulls the SMS received by phone, decode it, recognizes the
Mobile no. and then switches on the relays attached to its port to control the appliances. After successful operation, controller sends back the acknowledgement to the user’s mobile through SMS.
AT-Command set
The following section describes the AT-Command set. The commands can be tried out by connecting a GSM modem to one of the PC’s COM ports. Type in the test-command, adding CR + LF (Carriage return + Line feed = \r\n) before executing. Table gives an overview of the implemented AT-Commands in this application. The use of the commands is described in the later sections.
AT-Command set overview
Command Description
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.
AT+CMGR Read new message from a given memory location.
AT+CMGS Send message to a given recipient.
AT+CMGD Delete message.
A BRIEF INTRODUCTION TO 8051 MICROCONTROLLER:
When we have to learn about a new computer we have to familiarize about the machine capability we are using, and we can do it by studying the internal hardware design (devices architecture), and also to know about the size, number and the size of the registers.
A microcontroller is a single chip that contains the processor (the CPU), non-volatile memory for the program (ROM or flash), volatile memory for input and output (RAM), a clock and an I/O control unit. Also called a "computer on a chip," billions of microcontroller units (MCUs) are embedded each year in a myriad of products from toys to appliances to automobiles. For example, a single vehicle can use 70 or more microcontrollers. The following picture describes a general block diagram of microcontroller.
89s52: The AT89S52 is a low-power, high-performance CMOS 8-bit microcontroller with 8K bytes of in-system programmable Flash memory. The device is manufactured using Atmel’s high-density nonvolatile memory technology and is compatible with the industry-standard 80C51 instruction set and pinout. The on-chip Flash allows the program memory to be reprogrammed in-system or by a conventional nonvolatile memory pro-grammer. By combining a versatile 8-bit CPU with in-system programmable Flash on a monolithic chip, the Atmel AT89S52 is a powerful microcontroller, which provides a highly flexible and cost-effective solution to many, embedded control applications. The AT89S52 provides the following standard features: 8K bytes of Flash, 256 bytes of RAM, 32 I/O lines, Watchdog timer, two data pointers, three 16-bit timer/counters, a six-vector two-level interrupt architecture, a full duplex serial port, on-chip oscillator, and clock circuitry. In addition, the AT89S52 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, and interrupt system to continue functioning. The Power-down mode saves the RAM con-tents but freezes the oscillator, disabling all other chip functions until the next interrupt