Embedded Projects Blog: Electronic Voting Machine Using 8051 Microcontroller (AT89C51)

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. 

28 comments:

  1. 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...

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

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

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

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

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

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

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

    ReplyDelete
  9. 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.

    ReplyDelete
  10. 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.

    ReplyDelete
  11. @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.

    ReplyDelete
  12. 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.

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

    ReplyDelete
  14. @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.

    ReplyDelete
  15. dont you have the code in assembly?

    ReplyDelete
  16. If there are any disadvantages please tell me quickly?

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

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

    ReplyDelete
  19. 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

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

    ReplyDelete
  21. @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.

    ReplyDelete
  22. 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.

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

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

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

    ReplyDelete
  26. Please send me the code for this machine
    su.kadam05@gmail.com

    ReplyDelete