Vous êtes sur la page 1sur 22

1

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

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

Numerous example programs are included to help you get started with the most popular
embedded 8051 devices.
The Keil Vision Debugger accurately simulates on-chip peripherals (IC, CAN, UART,
SPI, Interrupts, I/O Ports, A/D Converter, D/A Converter, and PWM Modules) of your
8051 device. Simulation helps you understand hardware configurations and avoids time
wasted on setup problems. Additionally, with simulation, you can write and test
applications before target hardware is available.

PROTEUS SOFTWARE:
Proteus 7.0 is a Virtual System Modeling (VSM) that combines circuit simulation, animated
components and microprocessor models to co-simulate the complete microcontroller based
designs. This is the perfect tool for engineers to test their microcontroller designs before
constructing a physical prototype in real time. This program allows users to interact with the
design using on-screen indicators and/or LED and LCD displays and, if attached to the PC,
switches and buttons. One of the main components of Proteus 7.0 is the Circuit Simulation a
product that uses a SPICE3f5.
In analogue simulator kernel combined with an event-driven digital simulator that allow users to
utilize any summary, Proteus 7.0 is the program to use when you want to simulate the interaction
between software running on a microcontroller and any analog or digital electronic device
connected to it.

Advantages:
1. Real time simulation.
2. Time and money saving.







4

CHAPTER 3

CK DIAGRAM OF ELECTRONIC VOTING MACHINE:























Fig.3.1 Block diagram of electronic voting machine



5

3.1 Description in detail:
The Electronic Voting Machine basically consists of four main blocks; these are keypad, micro
controller switches Fig 4.2 AT89C51 Micro Controller.

1) Micro controller: Micro controller senses the signal given from switches and the mode
of operation voting mode it.



Fig.3.2



6


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


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




8

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.


9

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);
10

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;
11

}
}
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)
12

{
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;
13

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;
14

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);
}
15

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);
16

}
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;
17

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;
}



18


5.2 PROTEUS FILE:













19


CHAPTER 6

HARDWARE DESIGN




20

CHAPTER 7

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.














21

CHAPTER 8

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 terminals 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
22

a laudable goal The model where individual vendors write proprietary code to run our elections
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
bedrock of our democracy.

Vous aimerez peut-être aussi