electronic voting machine 8051

Upload: vsmishra1992

Post on 13-Oct-2015

104 views

Category:

Documents


0 download

DESCRIPTION

voting

TRANSCRIPT

  • 11/20/2013

    ELECTRONIC VOTING MACHINE

    Nupur [COMPANY NAME]

    ELECTRONIC DESIGN LABORATORY

    PROJECT REPORT

    SUBMITTED BY:

    VISHAL MISHRA 111EC0179

    NUPUR SAHU 111EC0188

    JAGRUTI PATEL 111EC0182

  • 1 | P a g e

    Contents EXPERIMENT NO: 3 ..................................................................................................................... 2

    OBJECTIVE ....................................................................................................................................... 2

    Literature survey .......................................................................................................................... 3

    Theory ................................................................................................................................................ 4

    COMPONENTS USED ................................................................................................................... 5

    SYSTEM DESIGN ............................................................................................................................ 6

    PROGRAM ...................................................................................................................................... 10

    SIMULATION RESULTS ........................................................................................................... 17

    IMPLEMENTATION ................................................................................................................... 19

    RESULT AND DISCUSSION ..................................................................................................... 19

    References ..................................................................................................................................... 20

  • 2 | P a g e

    EXPERIMENT NO: 3

    TITLE: ELECTRONIC VOTING MACHINE

    DATE: 20.11.2013

    OBJECTIVE:

    To design an ELECTRONIC VOTING MACHINE which can be used in elections. The

    machine is controlled by an 8051 microcontroller and can be used both for voting

    and counting votes.

    INTRODUCTION:

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

  • 3 | P a g e

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

    Literature survey:

    According to Election Data Services, the percentage of electronic voting machines

    per country doubled between 1998 and 2002 to 16 percent-, yet a full

    replacement of the traditional voting procedure is very unlikely. In its essence, an

    electronic voting machine is a computer assisted self-interviewing device (CASI)

    giving the voter the opportunity to review and change his/her vote before

    submitting it. The different types of voting machines allow for different kinds of

    interaction, such as using a touch screen technology, using a dial wheel, touching

    a paper panel, or pressing a button on an LCD screen. Each machine provides

    feedback for blank ballots and under-voting and prevents selecting more choices

    than the maximum allowed. Some machines even have advanced functions such

    as increasing the font for visually impaired voters and/or allowing for listening of

    the voting options rather than reading. The common features electronic voting

    machines share with CASI and ACASI devices allow for theoretical and empirical

    predictions of the advantages and disadvantages this technology can provide. The

    paper presents an overview of the different types of voting machines and based

  • 4 | P a g e

    on established theories and results from CASI and ACASI studies, examines and

    compares characteristics of the machines currently used and computer-human

    interaction mechanisms, their potential effects, and unexplored applications.

    Furthermore, possibilities such as prediction of candidates name order effect,

    already existing in the literature, and computer literacy effect on voting are

    discussed.

    Theory:

    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. SOFTWARE TOOLS:

    KEIL SOFTWARE: The Keil 8051 Development Tools are designed to solve the complex problems facing embedded software developers.

  • 5 | P a g e

    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.

    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 Modelling (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 analogue simulator kernel combined with an event-driven digital simulator that allow users to utilize any SPICE model by any manufacturer. Proteus VSM comes with extensive debugging features, including breakpoints, single stepping and variable display for a neat design prior to hardware prototyping. In 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.

    COMPONENTS USED:

    1) Micro controller: Micro controller senses the signal given from switches and decides the mode of operation in voting mode it increments the data for corresponding key i.e.

  • 6 | P a g e

    respective candidate as well as it sends signal to display block to indicate one key is pressed. In counting mode micro controllers fetches data from memory location and send it to display devices.

    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.

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

    4) Control switches: There are three control switches: I. Clear Votes. II. Controller switch. III. Total Votes

    SYSTEM DESIGN:

    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.

  • 7 | P a g e

    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. 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. 3) Clear mode: Press clear switch when all entries are required to be erased. Clear switch should be pressed before voting procedure. 4) Buzzer indication: Pressing of key in voting mode is indicated by a buzzer sound. 5) Controller switch: This switch is provided for enabling the keypad in voting mode. This switch is under the control of voting authority.

  • 8 | P a g e

    BLOCK DIAGRAM OF ELECTRONIC VOTING MACHINE:

  • 9 | P a g e

  • 10 | P a g e

    PROGRAM:

    void lcddata1(char *); void lcddata(char); //void lcd(); 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); lcdcmd(0x01); lcdcmd(0x06) ; delay(20) ; if(m==1&on==0) {lcdcmd(0x01); lcddata1("Authority Switch"); delay(100); } if(n==1) on=1; if(m==1&on==1) { if (input==0x00) { lcdcmd(0x01); lcddata1("Voting Mode "); delay(100); } if (input==0x01) { buzz=1;

  • 11 | P a g e

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

  • 12 | P a g e

    while (input == 0x08); { i4=i4 + 1; if(i4>=10) i41=i4/10; i42=i4%10; on=0; buzz=0; } } if (input==0x10) { 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; } }

  • 13 | P a g e

    if (input==0x40) { buzz=1; while (input == 0x40); { i7=i7 + 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; on=0; buzz=0; } }} if(m==0)//else { if (input==0x01) { lcddata1(" CONRESS="); lcddata(i11+0x30); lcddata(i12+0x30); delay(100); } if (input==0x02) {

  • 14 | P a g e

    lcdcmd(0x01); lcddata1(" BJP="); lcddata(i21+0x30); lcddata(i22+0x30); delay(100); } 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(100); } 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 | P a g e

    } 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("Counting Mode "); delay(100) ; }} }} void delay(int time) { int i,j; for(i=0;i

  • 16 | P a g e

    } 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 | P a g e

    SIMULATION RESULTS

  • 18 | P a g e

  • 19 | P a g e

    IMPLEMENTATION:

    The electronic voting machine was first tested in the voting mode. The EVM first

    needed an authority Switch to enable voting. After pressing the authority switch,

    the Green LED glows and a vote is registered. On registering a vote the EVM again

    asks for an authority switch to enable the next vote and the process continues.

    Then it was switched to Counting Mode where the EVM display displays the total

    number of votes that each party gets.

    RESULT AND DISCUSSION:

    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

  • 20 | P a g e

    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

    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.

    References

    [1] Wikipedia, "Electronic Voting Machine," Wiki, [Online]. Available:

    www.wikipedia.org.

    [2] "http://www.electronicsforyou.com," [Online].

    [3] Electroschematics, "http://www.electroschematics.com," [Online].