Friday, March 16, 2012

Electronic Voting Machine Using 8051 Microcontroller (AT89C51)



 

Circuit

Electronic voting machine has now replaced the traditional mechanism of voting due to several advantages like security, automatic counting etc. This project presents a way to develop an electronic voting machine which displays the count of votes on a 16x2 LCD interface. A user can get his/her vote register through a set of switches (one for each candidate). After every cast of vote, the subsequent count can be seen on LCD. The circuit uses AT89C51 microcontroller and the code for the project has been written in C.

This LCD based electronic voting machine is designed for four candidates. The input part consists of a set of six tactile switches. The switches and 16x2 LCD are interfaced to microcontroller AT89C51 for various operations and displays.

The provision of casting votes for the candidates has been provided through four of these switches. These switches are made active high and connected to pins 2-5 (P1^1 – P1^4) of the controller. The remaining two switches (both active low) are to start and stop the voting procedure. They are connected to pins 1 and 6 (P1^0 and P1^5) respectively. The Init (start) switch initializes the voting system when pressed, while the Stop switch ends the voting and displays the poll results on LCD screen.

For more details on working with LCD, refer LCD interfacing with 8051. The data pins of the LCD (pins 7-14) are connected to the output port P2 of the microcontroller. The control pins (RS, R/W and EN) are connected to port P3 pins P3^0, P3^1 & P3^6 respectively.

Working:
The voting is started by pressing the Init switch after which the user is prompted to vote. The count of votes is stored in four different variables. As soon as the user votes for a candidate by pressing one of the switches, the value of the corresponding variable is increased by one. After this a Thank you message is displayed on LCD to acknowledge the registration of user’s vote.

The message stays on the screen until the next user either presses the Init button to cast another vote or Stop switch is pressed get the poll results. When the stop button is pressed, the names of the candidates are displayed along with their vote counts. After some delay, the result is displayed which could be either declaration of the winner candidate or the candidates with a clash of their number of votes. 

26 comments:

Shishir said...

Hi Vishal,

I'm unable to download the code from the link provided of www.scribd.com, can you please email me the code or please provide direct link to the code, It's appreciated.

My email: shishirbhatnagar@gmail.com

Thanks...

Vishal Kottarathil said...

It is available, no problem. Check Once more. (You may need an account)

chee_yong88 said...

after the file generated by the keil, its size had exceed 4k, can it still be able to burn into atmel 89c51 microntroller?

chee_yong88 said...

if i use the atml 89s52 micro controller, do i need to change the #include into #include?

chee_yong88 said...

if i use the atml 89s52 micro controller, do i need to change the #include into #include ?

whz said...

Nice work. You have done a great job. keep it up.

Vishal Kottarathil said...

@chee_yong88
Its done on 89S52, no compatibility problem. Choose 89S52 in your Keil project.

Elihuruma Hosea said...

hi vishal
will you help me to write for me code using 40x2 microcontroller
thanks

Joseph Abbott said...

As the author had discussed about the voting keypads within this post, this could offer a lot of support to the visitors in getting familiar with the product but to theorizing about some element to make the client feel to purchase it, is it sufficient? No, it is not, the customer also need to observe visible outcomes for proving the product trustful as well as beneficial according to their want.

Subhra Patnaik said...

Hi Vishal, I have already tried ur project in p89v51rd2 uc but unable to get desired results. The control stops at the switches taking no i/p & finally I dumped the project.

Vishal Kottarathil said...

@Subhra, I have done a couple of them. There is no problem with the code or circuit. Compile it for 89C51 or 89S51/52, and do a simulation in Proteus.

Tony Smith said...

Electronic voting keypads are voting solution or you can say a real time sounding out system that allow users to survey the audience of a show by asking them questions and gathering their answers to these keypads. Generally these systems are fully integrated into PowerPoint and thus the results are graphically displayed promptly.

Atul Gaikwad said...

plz provide all component list with proper ckt diagram..........as soon as possible.....

Vishal Kottarathil said...

@atul
There is a need of crystal oscillator and two startup capacitors at the oscillator section, connect crystal (12MHz) to pins XTAL1 and XTAL2, connect a 22pf capacitor across each of XTAL pins and ground. Connect VEE of LCD to GND or connect a variable resistor across as VDD-VEE-VSS (if you want to control contrast) , hope you got it.

pax hailonga said...

dont you have the code in assembly?

Atul Gaikwad said...

thanks vishal.. :)

Basava Pavani said...

If there are any disadvantages please tell me quickly?

Basava Pavani said...

If you don't mine. continue my doubts in telugu language?

Vishal Kottarathil said...

@Basava
I dont know telugu. What is your problem?

Sushil Gupta said...

This is online project portal. You can purchase your projects online from any where in India. We'll deliver your project at your door step within the time limit. We'll give you whole guidance on the project you ordered. www.embeddedkits.co.in
B.Tech Final year projects
B.Tech Final year projects in Greater Noida | Final Year Project Guidance in Greater Noida | Final Year Project Training in Greater

Ganesh Shinde said...

sir please sent me specifications of various component in electronic voting machine

Vishal Kottarathil said...

@Ganesh
There is a need of crystal oscillator and two startup capacitors at the oscillator section, connect crystal (12MHz) to pins XTAL1 and XTAL2, connect a 22pf capacitor across each of XTAL pins and ground. Connect VEE of LCD to GND or connect a variable resistor across as VDD-VEE-VSS (if you want to control contrast) , hope you got it.

atul rajput said...

IT Pathshala provides comprehensive education and training in various fields of Information Technology and related subjects and concepts.
About course: This course helps students/graduates learn cutting edge DOT Net skills to build robust applications with stunning user experience, as well as secure & interactive web applications. The training covers all major concepts and topics related to DOT Net development and offers opportunity to work upon Real Live Projects developed in DOT Net.

Milan Subba said...

please i need code please and send me in this email milansubba19@gmail.com

Apoorva Singh said...

cant find thhe code ...... sooo can u plzzzz send us the code

Nijamul Haque said...

can you please send me assembly code for this project?
My email ID is : nijamul.uiu112@gmail.com

Post a Comment

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Embedded Projects Blog Tutorials | Projects - |