CHAPTER 1 INTRODUCTION 1.1 The Electronic Voting Machine – An Electronic Marvel. Electronic Voting Machine (EVM) retains all the characteristics of voting by ballot papers, while making polling a lot more expedient. Being fast and absolutely reliable, the EVM saves considerable time, money and manpower. And, of course, helps maintain total voting secrecy without the use of ballot papers. The EVM is 100 per cent tamper proof. And, at the end of the polling, just press a button and there you have the results. 1.2 Description: Electronic voting machine has now days become an effective tool for voting. It ensures flawless voting and thus has become more widespread. It ensures people about their vote being secured. It avoids any kind of malpractice and invalid votes. Also such kind of system becomes more economical as consequent expenditure incurred on manpower is saved. It is also convenient on the part of voter, as he has to just press one key whichever belongs to his candidates. Voting machines are the total combination of mechanical , electromechanical , or electronic equipment (including software , firmware , and documentation required to program control, and support equipment), that is used to define ballots; to cast and count votes ; to report or display election results; and to 1
major project report on electronic voting machine with the use of 8051 mc.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
CHAPTER 1
INTRODUCTION
1.1 The Electronic Voting Machine – An Electronic Marvel.
Electronic Voting Machine (EVM) retains all the characteristics of voting by ballot papers, while
making polling a lot more expedient. Being fast and absolutely reliable, the EVM saves considerable
time, money and manpower. And, of course, helps maintain total voting secrecy without the use of
ballot papers. The EVM is 100 per cent tamper proof. And, at the end of the polling, just press a
button and there you have the results.
1.2 Description:
Electronic voting machine has now days become an effective tool for voting. It ensures flawless
voting and thus has become more widespread. It ensures people about their vote being secured. It
avoids any kind of malpractice and invalid votes. Also such kind of system becomes more
economical as consequent expenditure incurred on manpower is saved. It is also convenient on
the part of voter, as he has to just press one key whichever belongs to his candidates.
Voting machines are the total combination of mechanical, electromechanical, or electronic
equipment (including software, firmware, and documentation required to program control, and
support equipment), that is used to define ballots; to cast and count votes; to report or display
election results; and to maintain and produce any audit trail information. The first voting
machines were mechanical but it is increasingly more common to use electronic voting
machines.
A voting system includes the practices and associated documentation used to identify system
components and versions of such components; to test the system during its development and
maintenance; to maintain records of system errors or defects; to determine specific changes made
after initial certification; and to make available any materials to the voter (such as notices,
instructions, forms, or paper ballots).
Traditionally, a voting machine has been defined by the mechanism the system uses to cast votes
and further categorized by the location where the system tabulates the votes.
1
Voting machines have different levels of usability, security, efficiency and accuracy. Certain
systems may be more or less accessible to all voters, or not accessible to those voters with certain
types of disabilities. They can also have an effect on the public's ability to oversee elections.
CHAPTER 2
TOOLS USED
2.1 HARDWARE TOOLS:
The control Unit: In Total control of the polling Conduction of polling, display of total votes
polled, sealing at the end of the poll, and finally, declaration of results these are the various
accomplishments of just one gadget : the control unit. In total control of the polling, this
electronic unit gives you all necessary information at a press of a few buttons. For instance, if
you need to know the total number of votes, you just have to press the Total switch. Candidates-
wise results can be had only at the end of polling. The Ballot Unit : An electronic ballot box. A
simple voting device, it displays the list of candidates. A facility to incorporate party names and
symbols is in-built. All the voter has to do is press the desired switch located next to the name of
each candidate. The main advantage is the speed, apart from the simplicity of operation, which
requires no training at all. A single ballot unit takes in the names of 16 candidates. And thus, by
connecting four ballot units the EVM can accommodate a total of 64 candidates in a single
election.
2.2 SOFTWARE TOOLS:
KEIL SOFTWARE:
The Keil 8051 Development Tools are designed to solve the complex problems facing
embedded software developers.
When starting a new project, simply select the microcontroller you use from the Device
Database and the μVision IDE sets all compiler, assembler, linker, and memory options
for you.
2
Numerous example programs are included to help you get started with the most popular
1) Micro controller: Micro controller senses the signal given from switches and the mode
of operation voting mode it.
Fig.3.2
5
Fig.3.3
2) LCD: Liquid Crystal Display which is commonly known as LCD is an Alphanumeric
Display it means that it can display Alphabets, Numbers as well as special symbols thus
LCD is a user friendly Display device which can be used for displaying various messages
unlike seven segment display which can display only numbers and some of the alphabets.
The only disadvantage of LCD over seven segment is that seven segment is robust
display and be visualized from a longer distance as compared to LCD. Here I have used
16 x 2 Alphanumeric Display which means on this display I can display two lines with
maximum of 16 characters in one line.
6
Fig.3.4
LED: A light-emitting diode (LED) is a semiconductor light source. LEDs are used as
indicator lamps in many devices and are increasingly used for other lighting. Light-emitting
diodes are used in applications as diverse as replacements for aviation lighting, automotive
lighting (particularly brake lamps, turn signals and indicators) as well as in traffic signals.
Fig 3.5 Control Switch
7
3) Control switches: There are three control switches:
I. Clear Votes.
II. Controller switch.
III. Total Votes
CHAPTER 4
OPERATION
4.1 Operation or Working of Project:
[1] Power on: When supply is turned on RED LED glows
[2] Mode selection:
I. Voting mode: toggle switch on VCC
II. Counting mode: toggle switch on GND.
[3] Voting Mode: When toggle switch is in voting mode “Voting mode” is displayed followed by “Please vote”. After a vote being given, “Please wait for authority switch” is displayed and again enable for voting after Control switch being pressed by the voting Authority.
[4] Counting Mode: When toggle switch is in counting mode “Counting mode” in displayed on the screen, and total number of votes to respective candidate can be displayed on the screen by pressing the respective key assigned to them.
[5] Clear mode: Press clear switch when all entries are required to be erased. Clear switch should be pressed before voting procedure.
[6] Buzzer indication: Pressing of key in voting mode is indicated by a buzzer sound.
[7] Controller switch: This switch is provided for enabling the keypad in voting mode. This switch is under the control of voting authority.
8
CHAPTER 5
SOFTWARE CODE
5.1 C code:
#include<reg51.h>
sfr input=0x90;
sfr ldata=0xa0;
sbit rs=P0^7;
sbit rw=P0^6;
sbit en=P0^5;
sbit m=P3^0;
sbit n=P3^1;
sbit buzz=P3^2;
sbit on=P3^3;
void delay(int );
void lcdcmd(char );
void lcddata1(char *);
void lcddata(char);
//void
int i1,i11,i12,i2,i21,i22,i3,i31,i32,i4,i41,i42,i5,i51,i52,i6,i61,i62,i7,i71,i72,i8,i81,i82=0;
void main()
{ on=0;
P1=0;P3=0;
while(1)
{
lcdcmd(0x38);
delay(10);
lcdcmd(0x0e) ;
delay(10);
9
lcdcmd(0x01);
lcdcmd(0x06) ;
delay(20) ;
if(n==1)
on=1;
if(m==1&on==1)
{
if (input==0x01)
{
buzz=1;
while (input == 0x01);
i1=i1 + 1;
if(i1>=10)
i11=i1/10;
i12=i1%10;
on=0;
buzz=0;
//ready=0;
}
if (input==0x02)
{buzz=1;
while (input == 0x02);
{
i2=i2 + 1;
if(i2>=10)
i21=i2/10;
i22=i2%10;
on=0;
buzz=0;
10
}
}
if (input==0x04)
{
buzz=1;
while (input ==0x04);
{
i3=i3 + 1;
if(i3>=10)
i31=i3/10;
i32=i3%10;
on=0;
buzz=0;
}
}
if (input==0x08)
{
buzz=1;
while (input == 0x08);
{
i4=i4 + 1;
if(i4>=10)
i41=i4/10;
i42=i4%10;
on=0;
buzz=0;
}
}
if (input==0x10)
11
{
buzz=1;
while (input == 0x10);
{
i5=i5 + 1;
if(i5>=10)
i51=i5/10;
i52=i5%10
i5=0;
on=0;
buzz=0;
}
}
if (input==0x20)
{
buzz=1;
while (input == 0x20);
{
i6=i6 + 1;
if(i6>=10)
i61=i6/10;
i62=i6%10;
on=0;
buzz=0;
}
}
buzz=1;
while (input == 0x40);
{
i7=i7 + 1;
12
if(i7>=10)
i71=i7/10;
i72=i7%10;
on=0;
buzz=0;
}
}
if (input==0x80)
{
buzz=1;
while (input == 0x80);
{
i8=i8 + 1;
if(i7>=10)
i71=i7/10;
i72=i7%10;
on=0;
buzz=0;
}
}
if (input==0x80)
{
buzz=1;
while (input == 0x80);
{
i8=i8 + 1;
if(i7>=10)
i81=i8/10;
i82=i8%10;
13
on=0;
buzz=0;
}
}}
if(m==0)//else
{
if (input==0x01)
{
lcddata1(" CONRESS=");
lcddata(i11+0x30);
lcddata(i12+0x30);
delay(100);
}
if (input==0x02)
{
lcdcmd(0x01);
lcddata1(" BJP=");
lcddata(i21+0x30);
lcddata(i22+0x30);
delay(100);
}
if (input==0x04)
{
lcdcmd(0x01);
lcddata1(" BJP=");
lcddata1(" BJP=");
lcddata(i21+0x30);
lcddata(i22+0x30);
delay(100);
}
14
if (input==0x04)
{
lcdcmd(0x01);
lcddata1(" CP(M&I)=");
lcddata(i31+0x30);
lcddata(i32+0x30);
delay(100);
}
if (input==0x08)
{
lcdcmd(0x01);
lcddata1(" TDP=");
lcddata(i41+0x30);
lcddata(i42+0x30);
delay(
}
if(input==0x10)
{
lcdcmd(0x10);
lcddata1(" TRS=");
lcddata(i51+0x30);
lcddata(i52+0x30);
delay(100);
}
if(input==0x20)
{
lcdcmd(0x01);
lcddata1(" PRP=");
lcddata(i61+0x30);
lcddata(i62+0x30);
delay(100);
15
}
if(input==0x40)
{
lcdcmd(0x01);
lcddata1(" INDEPENDANT1=");
lcddata(i71+0x30);
lcddata(i72+0x30);
delay(100);
}
if(input==0x80)
{
lcdcmd(0x01);
lcddata1(" INDEPENDANT2=");
lcddata(i81+0x30);
lcddata(i82+0x30);
delay(100);
}
else{
lcdcmd(0x01);
lcddata1("press key ");
delay(100) ;
}}
void delay(int time)
{
int i,j;
for(i=0;i<time;i++)
for(j=0;j<900;j++);
}
void lcdcmd(char value)
{
ldata=value;
16
rs=0;
rw=0;
en=1;
delay(2);
en=0;
}
}
void lcddata1(char *value)
{ int i;
for(i=0;value[i]!='\0';i++)
{
ldata=value[i];
rs=1;
rw=0;
en=1;
delay(1);
en=0;
}
}
void lcddata(char value)
{
ldata=value;
rs=1;
rw=0;
en=1;
delay(1);
en=0;
}
17
5.2 PROTEUS FILE:
18
CHAPTER 6
HARDWARE DESIGN
CHAPTER 7
19
ADVANTAGES AND APPLICATIONS
ADVANTAGES:
1. It is economical
2. Less manpower required
3. Time conscious, as less time required for voting & counting
4. Avoids invalid voting
5. Saves transportation cost due to its compact size
6. Convenient on the part of voter.
APPLICATIONS: This could be used for voting purpose at any required place.
CHAPTER 8
20
CONCLUSION AND FUTURE WORK
In this paper, we have described the specification and architecture of a ELECTRONIC VOTING
MACHINE .Various fault-tolerance and security issues are delegated to the platform itself,
therefore relieving the application designer from accommodating these features in the application
design itself. This approach allows for the easy development and deployment of applications.
For quite some time, voting equipment vendors have maintained that their systems are secure,
and that the closed-source nature makes them even more secure. Our glimpse into the code of
such a system reveals that there is little difference in the way code is developed for voting
machines relative to other commercial endeavors. In fact, we believe that an open process would
result in more careful development, as more scientists, software engineers, political activists, and
others who value their democracy would be paying attention to the quality of the software that is
used for their elections. (Of course, open source would not solve all of the problems with
electronic elections. It is still important to verify somehow that the binary program images
running in the machine correspond to the source code and that the compilers used on the source
code are non-malicious. However, open source is a good start.) Such open design processes have
proven successful in projects ranging from very focused efforts, such as specifying the Advanced
Encryption Standard (AES) [23], through very large and complex systems such as maintaining
the Linux operating System. Australia is currently using an open source voting
system10Alternatively, security models such as the voter-verified audit trail allow for electronic
voting systems that produce a paper trail that can be seen and verified by a voter. In such a
system, the correctness burden on the voting terminal’s code is significantly less as voters can
see and verify a physical object that describes their vote. Even if, for whatever reason, the
machines cannot name the winner of an election, then the paper ballots can be recounted, either
mechanically or manually, to gain progressively more accurate election results. Voter-verifiable
audit trails are required in some U.S. states, and major DRE vendors have made public
statements that they would support such features if their customers required it. The EVM project
an ambitious attempt to create an open-source voting system with a voter-verifiable audit trail —
a laudable goal The model where individual vendors write proprietary code to run our elections
21
appears to be unreliable, and if we do not change the process of designing our voting systems,
we will have no confidence that our election results will reflect the will of the electorate. We owe
it to ourselves and to our future to have robust, well-designed election systems to preserve the