SlideShare una empresa de Scribd logo
1 de 32
[1]
(Raghogarh, Guna)
Project Report
Electronic Voting Machine (EVM)
(10B11CI401)
Submitted By: Submitted To:
Saurav Kumar (121127) Dinesh Kumar Verma Sir
Rohan Agrawal(121115)
Ravikant (121112)
Rajat Pokharna (121108)
Rahul Tyagi (121107)
A-4 (ECE)
JAYPEE UNIVERSITY OF ENGINEERING & TECHNOLOGY
[2]
ACKNOWLEDGEMENT
We wish to express our sinceregratitude to our Microprocessors &
microcontrollers sir Mr. D.K. Verma for his timely encouragement, proper
guidance and humorous illuminating discussions.
We also owe our gratitude and thankfulness to all our friends, who havebeen a
perennial sourceof guidance and inspiration.
We once again wish to express our sincere gratitude to all those who helped us
to complete this report.
In the words of W.Wilson --
“ I not only usedall the brain I had, but all that I could borrow. ”
[3]
CONTENTS
S.NO. Details Page No.
1. Introduction 4
2. Pin description of 8952 6
3. Block Diagram of EVM 10
a. Working of EVM using 89C52
b. Circuit Diagram of 89C52
c. Hardware Description
4. Explanation of circuit diagram of EVM 13
5. Software Coding of EVM 15
6. Advantages & Disadvantages 29
7. Application & Future Scope 29-30
8. Bibliography 31
[4]
INTRODUCTION
This project is design to make understand the technology used in a now a day’s voting machine
system, which is used in whole world. These voting machines are equipped with the CPU, which
control the voting machine. The voting machine is programmed for the specific operation.
Every operation on the voting machine is defined is display on the Computer Monitor.
In this project we try to give the Idea of prototype voting machines. We are using micro
controller AT89S52(of 8051 series) for controlling the voting operation. There is a Monitor
display for showing the status of voting by interfacing the voting machine with the PC. For
connecting the voting machine with PC we use the Hyper Terminal communication system,
which are already come with the Window2000XP operating system.
8952 IC MICROCONTROLLER
Features:-
• Compatible with MCS-51® Products
• 8K Bytes of In-System Programmable (ISP) Flash Memory
– Endurance: 1000 Write/Erase Cycles
• 4.0V to 5.5V Operating Range
• Fully Static Operation: 0 Hz to 33 MHz
• Three-level Program Memory Lock
• 256 x 8-bit Internal RAM
• 32 Programmable I/O Lines
• Three 16-bit Timer/Counters
• Eight Interrupt Sources
• Full Duplex UART Serial Channel
• Low-power Idle and Power-down Modes
• Interrupt Recovery from Power-down Mode
• Watchdog Timer
• Dual Data Pointer
• Power-off Flag
Description:-
The 89S52 is a low-power, high-performance CMOS 8-bit microcontroller with 8K bytes of in-
system programmable Flash memory. The device is manufactured using Atmel’s high-density
[5]
nonvolatile memory technology and is compatible with the industry- standard 80C51
instruction set and pin out. The on-chip Flash allows the program memory to be reprogrammed
in-systemor by a conventional nonvolatile memory programmer.
Block diagram (89C52) :
[6]
Pin Description:-
VCC
Supply voltage.
GND
Ground.
Port 0
Port 0 is an 8-bit open drain bi-directional I/O port. As an output port, each pin can sink eight
TTL inputs. When 1s are written to port 0 pins, the pins can be used as high impedance inputs.
Port 0 can also be configured to be the multiplexed loworder address/data bus during accesses
to external program and data memory. In this mode, P0 has internal pullups. Port 0 also
receives the code bytes during Flash programming and outputs the code bytes during program
verification. External pullups are required during program verification.
Port 1
[7]
Port 1 is an 8-bit bi-directional I/O port with internal pullups. The Port 1 output buffers can
sink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled high by the
internal pullups and can be used as inputs.
Port 2
Port 2 is an 8-bit bi-directional I/O port with internal pullups.The Port 2 output buffers can
sink/source four TTL inputs.When 1s are written to Port 2 pins, they are pulled high by the
internal pullups and can be used as inputs. As inputs, Port 2 pins that are externally being
pulled low will source current (IIL) because of the internal pullups.
Port 3
Port 3 is an 8-bit bi-directional I/O port with internal pullups.The Port 3 output buffers can
sink/source four TTL inputs.When 1s are written to Port 3 pins, they are pulled high bythe
internal pullups and can be used as inputs. As inputs,Port 3 pins that are externally being pulled
low will sourcecurrent (IIL) because of the pullups.
RST
Reset input.
ALE/PROG
Address Latch Enable (ALE) is an output pulse for latchingthe low byte of the address during
accesses to externalmemory. This pin is also the program pulse input (PROG)during Flash
programming.
PSEN
Program Store Enable (PSEN) is the read strobe to external program memory.
EA/VPP
External Access Enable. EA must be strapped to GND in order to enable the device to fetch code
from external program memory locations starting at 0000H up to FFFFH.
XTAL1
Input to the inverting oscillator amplifier and input to the internal clock operating circuit.
XTAL2
Output from the inverting oscillator amplifier.
Special Function Registers
[8]
Timer 2 Registers:
Control and status bits are contained in registers T2CON () and T2MOD () for Timer 2. The
register pair (RCAP2H, RCAP2L) are the Capture/Reload registers for Timer 2 in 16 bit capture
mode or 16-bit auto-reload mode.
Interrupt Registers:
The individual interrupt enable bits are in the IE register. Two priorities can be set for each of
the six interrupt sources in the IP register.
Dual Data Pointer Registers:
To facilitate accessing both internal and external data memory, two banks of 16-bit Data
Pointer Registers are provided: DP0 at SFR address locations 82H-83H and DP1 at 84H-85H.
Power Off Flag:
The Power Off Flag (POF) is located at bit 4 (PCON.4) in the PCON SFR. POF is set to “1” during
power up. It can be set and rest under software control and is not affected by reset.
Memory Organization
[9]
MCS-51 devices have a separate address space for Program and Data Memory. Up to 64K bytes
each of external Program and Data Memory can be addressed.
Program Memory
If the EA pin is connected to GND, all program fetches are directed to external memory. On the
AT89S52, if EA is connected to VCC.
Data Memory
The AT89S52 implements 256 bytes of on-chip RAM. The upper 128 bytes occupy a parallel
address space to the Special Function Registers.
Watchdog Timer
(One-time Enabled with Reset-out)
The WDT is intended as a recovery method in situations where the CPU may be subjected to
software upsets. The WDT consists of a 13-bit counter and the Watchdog Timer Reset
(WDTRST) SFR. The WDT is defaulted to disable from exiting reset. To enable the WDT, a user
must write 01EH and 0E1H in sequence to the WDTRST register (SFR location 0A6H).
UART
The UART in the AT89S52 operates the same way as the UART in the AT89C51 and AT89C52.
Capture Mode
In the capture mode, two options are selected by bit EXEN2 in T2CON. If EXEN2 = 0, Timer 2 is a
16-bit timer or counter which upon overflow sets bit TF2 in T2CON.This bit can then be used to
generate an interrupt. If EXEN2 = 1, Timer 2 performs the same operation, but a 1- to-0
transition at external input T2EX also causes the current value in TH2 and TL2 to be captured
into RCAP2H and RCAP2L, respectively.
Auto-reload (Up or Down Counter)
Timer 2 can be programmed to count up or down when configured in its 16-bit auto-reload
mode. This feature invoked by the DCEN (Down Counter Enable) bit located in the SFR T2MOD
Baud Rate Generator
Timer 2 is selected as the baud rate generator by setting TCLK and/or RCLK in T2CON (Table 2).
Note that the baud rates for transmit and receive can be different if Timer 2 is used for the
receiver or transmitter and Timer 1 is used for the other function. Setting RCLK and/or TCLK
puts Timer 2 into its baud rate generator mode
Programmable Clock Out
A 50% duty cycle clock can be programmed to come out onP1.0, as shown in Figure 9. This pin,
besides being a regularI/O pin, has two alternate functions. It can be programmed to input the
[10]
external clock for Timer/Counter 2 or to output a 50% duty cycle clock ranging from 61 Hz to 4
MHz at a 16 MHz operating frequency.
Interrupts
The AT89S52 has a total of six interrupt vectors: two external interrupts (INT0 and INT1), three
timer interrupts (Timers 0, 1, and 2), and the serial port interrupt.
Oscillator Characteristics
XTAL1 and XTAL2 are the input and output, respectively, of an inverting amplifier that can be
configured for use as an on-chip oscillator
Idle Mode
In idle mode, the CPU puts itself to sleep while all the on chip peripherals remain active. The
mode is invoked by software. The content of the on-chip RAM and all the special functions
registers remain unchanged during this mode. The idle mode can be terminated by any enabled
interrupt or by a hardware reset.
Power-down Mode
In the Power-down mode, the oscillator is stopped, and the instruction that invokes Power-
down is the last instruction executed. The on-chip RAM and Special Function Registers retain
their values until the Power-down mode is terminated.
Block Diagram of EVM :
[11]
Working of EVM using 89C52
The Project Electronic Voting System is an interesting project which uses 89S52 microcontroller
as its brain. The project is designed for four contestants. Voters can poll their vote to any one of
the contestant.
The 89S52 microcontroller contains four ports of each eight pins. In this project one port is
dedicated for micro switches for four contestants, master switch for polling officer. 4 LEDs are
connected to indicate the switch bounce conditions. A simple yet powerful program is written
in assembly language and burned into the microcontroller to accept votes and to count total
votes polled.
Polling officer switch (master) is provided to avoid multiple polling of single voter. Every voter
should get approval from the polling officer. If the polling officer issues approval with his
control switch, then only a voter can poll his vote. This issuance of approval is indicated by an
long buzzer beep.
Vote count are stored in PC and display the total number of votes polled and individual
contestant-vise votes polled.
A buzzer is provided for audio effect of switch bounce. Whenever a switch is bounced, the
system acknowledges the bounce by a short beep sound. This buzzer is driven by an NPN
transistor. If voter tried to multiple polling long beep sound.
This project uses regulated 5V, 500mA power supply. 7805 three terminal voltage regulator is
used for voltage regulation. Bridge type full wave rectifier is used to rectify the ac output of
secondary of 230/12V step down transformer.
Circuit Diagram:
[12]
Hardware description :-
Power supply:-
Power supply is a reference to a source of electrical power. A device or system
that supplies electrical or other types of energy to an output load or group of loads is called a
power supply unit or PSU. The term is most commonly applied to electrical energy supplies, less
often to mechanical ones, and rarely to others. Here in our application we need a 5v DC power
supply for all electronics involved in the project. This requires step down transformer, rectifier,
voltage regulator, and filter circuit for generation of 5v DC power.
Circuit diagram:-
[13]
Transformer:-
Transformer is a device that transfers electrical energy from one circuit to
another through inductively coupled conductors the transformer's coils or "windings". Except
for air-core transformers, the conductors are commonly wound around a single iron-rich core,
or around separate but magnetically coupled cores. A varying current in the first or primary
winding creates a varying magnetic field in the core or cores of the transformer. This varying
magnetic field induces a varying electromotive force EMF or voltage in the secondary winding.
This effect is called mutual induction. If a load is connected to the secondary circuit, electric
charge will flow in the secondary winding of the transformer and transfer energy from the
primary circuit to the load connected in the secondary circuit.
The primary winding is connected to a60-hertz ac voltage source. The magnetic field builds
up and collapses about the primary winding .the expanding and contracting magnetic field around the
primary winding cuts the secondary winding and induces an alternating voltage into the winding. This
voltage causes alternating current to flow through the load. The voltage may be stepped up or down
depending on the design of the primary and secondary windings.
BRIDGERECTIFIER:-
A bridge rectifier makes use of four diodes in a bridge arrangement to achieve full-wave
rectification. This is a widely used configuration, both with individual diodes wired as shown
and with single component bridges where the diode bridge is wired internally.
The full-wave bridge serves to convert an AC input into a DC output, the addition of a capacitor
may be desired because the bridge alone supplies an output of fixed polarity but continuously
varying.
The function of this capacitor, known as a reservoir capacitor is to lessen the variation in the
rectified AC output voltage waveform from the bridge. One explanation of 'smoothing' is that
the capacitor provides a low impedance path to the AC component of the output, reducing the
[14]
AC voltage across,and AC current through, the resistive load. In less technical terms, any drop in
the output voltage and current of the bridge tends to be cancelled by loss of charge in the
capacitor. This charge flows out as additional current through the load. Thus the change of load
current and voltage is reduced relative to what would occur without the capacitor. Increases of
voltage correspondingly store excess charge in the capacitor, thus moderating the change in
output voltage / current.
REGULATOR IC (7805):-
It is a three pin IC used as a voltage regulator. It converts unregulated DC current into regulated
DC current. Normally we get fixed output by connecting the voltage regulator at the output of
the filtered DC. It can also be used in circuits to get a low DC voltage from a high DC voltage (we
use 7805 to get 5V from 12V).
DIODE:-
The diode is a p-n junction device. Diode is the component used to control the flow of the
current in any one direction. The diode widely works in forward bias. Diode when the current
flows from the P to N direction. Then it is in forward bias. The Zener diode is used in reverse
bias function from N to P direction
Explanation of circuit diagram of EVM
1. Initially when the switch is closed, allows the evm to take the vote.The vote is taken only
when push button is pressed and the led D1 is switched ON.
[15]
2. A push button is assigned to each party. When the push button of the desired party is
pressed, the led is switched off which indicates that the vote is cast and the buzzer gives a
beep.
3. Again the push button is pressed so that the evm is ready to take the next vote
which is indicated through the led D1.The same process is repeated until all the voters cast
their votes.
4. To view the results of each respective party, the switch must be opened.
5.To know the result of the party, the push button of the respective party must be pressed so
that the number of votes cast for the party is displayed on the lcd screen.
[16]
SOFTWARE CODE
C code:
// Program to make a voting machine using LCD
#include<reg51.h>
#define msec50
#define lcd_data_str_pinP2
sbitrs = P1^0; //Registerselect(RS) pin
sbitrw = P1^1; //Readwrite(RW) pin
sbiten= P1^2; //Enable(EN) pin
sbitini_pin= P3^0; //Start votingpin
sbitstop_pin= P3^5; // Stopvotingpin
sbitcandidate_1=P3^1; //Candidate1
[17]
sbitcandidate_2=P3^2; //Candidate2
sbitcandidate_3=P3^3; //Candidate3
sbitcandidate_4=P3^4; //Candidate4
intmax = 0;
intcarry = 0;
intarr[4];
intvote_amt[3],j;
unsignedintvote_1,vote_2,vote_3,vote_4;
voiddelay(intdelay_time) //Time delayfunction
{
intj,k;
for(j=0;j<=delay_time;j++)
for(k=0;k<=1000;k++);
}
voidlcd_cmd(unsignedcharcmd_addr) //FunctiontosendcommandtoLCD
{
lcd_data_str_pin= cmd_addr;
en= 1;
rs = 0;
rw = 0;
delay(1);
en= 0;
return;
}
voidlcd_data_str(charstr[50]) //Functiontosendstring
{
[18]
intp;
for (p=0;str[p]!='0';p++)
{
lcd_data_str_pin= str[p];
rw = 0;
rs = 1;
en= 1;
delay(1);
en= 0;
}
return;
}
voidlcd_data_int(unsignedintvote) //Functiontosend0-9character values
{
char dig_ctrl_var;
intp;
for (j=2;j>=0;j--)
{
vote_amt[j]=vote%10;
vote=vote/10;
}
for (p=0;p<=2;p++)
{
dig_ctrl_var= vote_amt[p]+48;
lcd_data_str_pin= dig_ctrl_var;
rw = 0;
rs = 1;
en= 1;
[19]
delay(1);
en= 0;
}
return;
}
voidvote_count() //Functiontocountvotes
{
while (candidate_1==1&& candidate_2==1 && candidate_3==1 && candidate_4==1);
if (candidate_1==0)
{
while (candidate_1== 0);
{
vote_1 = vote_1+ 1;
}
}
if (candidate_2==0)
{
while (candidate_2== 0);
{
vote_2 = vote_2+ 1;
}
}
if (candidate_3==0)
{
while (candidate_3== 0);
{
vote_3 = vote_3+ 1;
[20]
}
}
if (candidate_4==0)
{
while (candidate_4== 0);
{
vote_4 = vote_4+ 1;
}
}
}
voidlcd_ini()
{
lcd_cmd(0x38);
delay(msec);
lcd_cmd(0x0E);
delay(msec);
lcd_cmd(0x01);
delay(msec);
lcd_cmd(0x81);
delay(msec);
lcd_data_str("Welcome!!!");
delay(100);
lcd_cmd(0x01);
delay(msec);
lcd_cmd(0x80);
delay(msec);
lcd_data_str( "Press");
delay(msec);
[21]
lcd_cmd(0x14);
delay(msec);
lcd_data_str("button");
delay(msec);
delay(msec);
lcd_cmd(0xC0);
delay(msec);
lcd_data_str("to");
delay(msec);
lcd_cmd(0x14);
delay(msec);
lcd_data_str("vote");
delay(100);
lcd_cmd(0x01);
delay(msec);
lcd_cmd(0x80);
delay(msec);
lcd_data_str("P1");
delay(msec);
lcd_cmd(0x84);
delay(msec);
lcd_data_str("P2");
delay(msec);
lcd_cmd(0x88);
delay(msec);
lcd_data_str("P3");
delay(msec);
lcd_cmd(0x8C);
delay(msec);
[22]
lcd_data_str("P4");
delay(msec);
vote_count();
lcd_cmd(0x01);
delay(msec);
lcd_cmd(0x85);
delay(msec);
lcd_data_str("Thank");
delay(msec);
lcd_cmd(0x14);
delay(msec);
lcd_data_str("You!!");
delay(10);
return;
}
voidresults() //Functiontoshowresults
{
inti;
carry = 0;
lcd_cmd(0x01);
delay(msec);
lcd_cmd(0x80);
delay(msec);
lcd_data_str("Results");
delay(msec);
lcd_cmd(0x14);
delay(msec);
lcd_data_str("Are");
[23]
delay(msec);
lcd_cmd(0x14);
delay(msec);
lcd_data_str("Out");
delay(msec);
lcd_cmd(0x01);
delay(msec);
lcd_cmd(0x80);
delay(msec);
lcd_data_str("P1");
delay(msec);
lcd_cmd(0x84);
delay(msec);
lcd_data_str("P2");
delay(msec);
lcd_cmd(0x88);
delay(msec);
lcd_data_str("P3");
delay(msec);
lcd_cmd(0x8C);
delay(msec);
lcd_data_str("P4");
delay(msec);
lcd_cmd(0xC0);
delay(100);
lcd_data_int(vote_1);
delay(msec);
[24]
lcd_cmd(0xC4);
delay(msec);
lcd_data_int(vote_2);
delay(msec);
lcd_cmd(0xC8);
delay(msec);
lcd_data_int(vote_3);
delay(msec);
lcd_cmd(0xCC);
delay(msec);
lcd_data_int(vote_4);
delay(300);
arr[0] = vote_1;
arr[1] = vote_2;
arr[2] = vote_3;
arr[3] = vote_4;
for( i=0; i<4; i++)
{
if(arr[i]>=max)
max = arr[i];
}
if ( (vote_1== max) && ( vote_2 != max) && (vote_3!= max)&&(vote_4!= max) )
{
carry = 1;
lcd_cmd(0x01);
[25]
delay(msec);
lcd_cmd(0x82);
delay(msec);
lcd_data_str("Hurray!!!");
delay(50);
lcd_cmd(0xC4);
delay(msec);
lcd_data_str("P1");
delay(msec);
lcd_cmd(0x14);
delay(msec);
lcd_data_str("wins");
delay(msec);
}
if ( (vote_2== max) && ( vote_1 != max) && (vote_3!= max)&& (vote_4!= max) )
{
carry = 1;
lcd_cmd(0x01);
delay(msec);
lcd_cmd(0x82);
delay(msec);
lcd_data_str("Hurray!!!");
delay(50);
lcd_cmd(0xC4);
delay(msec);
lcd_data_str("P2");
delay(msec);
lcd_cmd(0x14);
delay(msec);
[26]
lcd_data_str("wins");
delay(msec);
}
if ( (vote_3== max) && ( vote_2 != max) && (vote_1!= max)&&(vote_4!= max) )
{
carry = 1;
lcd_cmd(0x01);
delay(msec);
lcd_cmd(0x82);
delay(msec);
lcd_data_str("Hurray!!!");
delay(50);
lcd_cmd(0xC4);
delay(msec);
lcd_data_str("P3");
delay(msec);
lcd_cmd(0x14);
delay(msec);
lcd_data_str("wins");
delay(msec);
}
if ( (vote_4== max) && ( vote_2 != max) && (vote_3!= max)&&(vote_1!= max) )
{
carry = 1;
lcd_cmd(0x01);
delay(msec);
lcd_cmd(0x82);
delay(msec);
[27]
lcd_data_str("Hurray!!!");
delay(50);
lcd_cmd(0xC4);
delay(msec);
lcd_data_str("P4");
delay(msec);
lcd_cmd(0x14);
delay(msec);
lcd_data_str("wins");
delay(msec);
}
if (carry==0)
{
lcd_cmd(0x01);
delay(msec);
lcd_cmd(0x82);
delay(msec);
lcd_data_str("clash");
delay(50);
lcd_cmd(0x14);
delay(msec);
lcd_data_str("between!!!");
delay(50);
if(vote_2== max)
{
lcd_cmd(0xC5);
lcd_data_str("P2");
delay(50);
}
[28]
if(vote_3== max)
{
lcd_cmd(0xC9);
lcd_data_str("P3");
delay(50);
}
if(vote_4== max)
{
lcd_cmd(0xCD);
lcd_data_str("P4");
delay(50);
}
}
}
voidmain()
{
ini_pin=stop_pin= 1;
vote_1 = vote_2 = vote_3= vote_4= 0;
candidate_1= candidate_2= candidate_3= candidate_4= 1;
lcd_cmd(0x38);
delay(msec);
lcd_cmd(0x0E);
delay(msec);
lcd_cmd(0x01);
delay(msec);
lcd_cmd(0x80);
delay(msec);
lcd_data_str( "Press");
delay(msec);
[29]
lcd_cmd(0x14);
delay(msec);
lcd_data_str("Start");
delay(msec);
delay(msec);
lcd_cmd(0xC0);
delay(msec);
lcd_data_str("to");
delay(msec);
lcd_cmd(0x14);
delay(msec);
lcd_data_str("begin");
delay(100);
while(1)
{
while(ini_pin!=0)
{
if (stop_pin== 0)
break;
}
if (stop_pin== 0)
{
break;
}
lcd_ini();
}
while(1)
{
[30]
results();
}
}
Advantage:-
1.The saving of considerable printing stationery and transport of large volumes of electoral
material,
2. Easy transportation, storage, and maintenance,
3. No invalid votes,
4. Reduction in polling time, resulting in fewer problems in electoral preparations, law and
order, candidates' expenditure, etc. and
5. Easy and accurate counting without any mischief at the counting centre
6. Eco friendly.
Disadvantage:-
1. Limited no. of candidates.
2. More candidates mean implies complicated circuit.
3. Microprocessor based design, which requires a no. of supporting components like
memory, peripheral interface, etc.
4. No security against illegal viewing of results, as presiding officer can view the results
without any difficulty.
5. Less user friendly due to two seven segment displays
6. Existing systemcosts high
Application:-
1. This could be used for voting purpose at any required place.
2. It is used in general elections for choosing candidates to represent people at various
stages.
3. It can be used in school, college student union elections.
4. It can be used to find the general opinion of people on various issues.
5. Anywhere where majority opinion is to be found out.
[31]
Future Scope:
1. Timer could be included, which could automatically end the voting after specific duration
of time.
2. Biometric Verification of voters, so that automatically it can be insured that one person is
voting once.
3. It can be made more interactive by adding sound effect (Speech) to it.
4. EEPROMcan be used to store data permanently.
5. If we make more than one EVM, each to be used at differant locations and final result will
be addition of result of all, we could think of connecting them to communicate with each
other and final result can be shown on one of the LCD.
[32]
BIBLIOGRAPHY
Website REFERRED
 http://www.hbeonlabs.com
 www.wikipedia.com

Más contenido relacionado

La actualidad más candente

Project report on home automation using Arduino
Project report on home automation using Arduino Project report on home automation using Arduino
Project report on home automation using Arduino AMIT SANPUI
 
8051 Microcontroller Notes
8051 Microcontroller Notes8051 Microcontroller Notes
8051 Microcontroller NotesDr.YNM
 
My Final Year Project - Individual Control Home Automation System
My Final Year Project - Individual Control Home Automation SystemMy Final Year Project - Individual Control Home Automation System
My Final Year Project - Individual Control Home Automation SystemMichael Olafusi
 
MINI PROJECT ON CELLPHONE DETECTOR
MINI PROJECT ON CELLPHONE DETECTORMINI PROJECT ON CELLPHONE DETECTOR
MINI PROJECT ON CELLPHONE DETECTORPrannoy Chakravarthi
 
Wireless E-Notice Board Using Bluetooth Report.docx
Wireless E-Notice Board Using Bluetooth Report.docxWireless E-Notice Board Using Bluetooth Report.docx
Wireless E-Notice Board Using Bluetooth Report.docxAbhishekGM10
 
Home Automation using Android Phones-Project first phase
Home Automation using Android Phones-Project first phaseHome Automation using Android Phones-Project first phase
Home Automation using Android Phones-Project first phasethrishma reddy
 
Electronic voting machine
Electronic voting machineElectronic voting machine
Electronic voting machineMustahid Ali
 
Serial Communication
Serial CommunicationSerial Communication
Serial CommunicationUshaRani289
 
Final project report on evm 16.04.2019
Final project report on evm 16.04.2019Final project report on evm 16.04.2019
Final project report on evm 16.04.2019mhjit
 
Case study on automatic washing machine based on Internet of Things(IOT)
Case study on automatic washing machine based on Internet of Things(IOT)Case study on automatic washing machine based on Internet of Things(IOT)
Case study on automatic washing machine based on Internet of Things(IOT)divyawani2
 
IoT home automation project
IoT home automation projectIoT home automation project
IoT home automation projectShohin Aheleroff
 
Presentation on IoT Based Home Automation using android & NodeMCU
Presentation on IoT Based Home Automation using android & NodeMCUPresentation on IoT Based Home Automation using android & NodeMCU
Presentation on IoT Based Home Automation using android & NodeMCUSouvik Kundu
 
LCD based voting machine using 8051 microcontroller (
LCD based voting machine using 8051 microcontroller (LCD based voting machine using 8051 microcontroller (
LCD based voting machine using 8051 microcontroller (Sohel Siddique
 
Final year report on remote control of home appliances via bluetooth
Final year report on remote control of home appliances via bluetoothFinal year report on remote control of home appliances via bluetooth
Final year report on remote control of home appliances via bluetoothShubham Bhattacharya
 
Google Voice Assistance Based Smart Home Automation
Google Voice Assistance Based Smart Home AutomationGoogle Voice Assistance Based Smart Home Automation
Google Voice Assistance Based Smart Home AutomationGauthamG4
 
Electronic Voting Machine
Electronic Voting MachineElectronic Voting Machine
Electronic Voting MachineChanda Thakur
 
Microcontroller 8051 and its interfacing
Microcontroller 8051 and its interfacingMicrocontroller 8051 and its interfacing
Microcontroller 8051 and its interfacingAnkur Mahajan
 

La actualidad más candente (20)

Project report on home automation using Arduino
Project report on home automation using Arduino Project report on home automation using Arduino
Project report on home automation using Arduino
 
8051 Microcontroller Notes
8051 Microcontroller Notes8051 Microcontroller Notes
8051 Microcontroller Notes
 
My Final Year Project - Individual Control Home Automation System
My Final Year Project - Individual Control Home Automation SystemMy Final Year Project - Individual Control Home Automation System
My Final Year Project - Individual Control Home Automation System
 
MINI PROJECT ON CELLPHONE DETECTOR
MINI PROJECT ON CELLPHONE DETECTORMINI PROJECT ON CELLPHONE DETECTOR
MINI PROJECT ON CELLPHONE DETECTOR
 
Wireless E-Notice Board Using Bluetooth Report.docx
Wireless E-Notice Board Using Bluetooth Report.docxWireless E-Notice Board Using Bluetooth Report.docx
Wireless E-Notice Board Using Bluetooth Report.docx
 
Home Automation using Android Phones-Project first phase
Home Automation using Android Phones-Project first phaseHome Automation using Android Phones-Project first phase
Home Automation using Android Phones-Project first phase
 
Electronic voting machine
Electronic voting machineElectronic voting machine
Electronic voting machine
 
Serial Communication
Serial CommunicationSerial Communication
Serial Communication
 
Final project report on evm 16.04.2019
Final project report on evm 16.04.2019Final project report on evm 16.04.2019
Final project report on evm 16.04.2019
 
Case study on automatic washing machine based on Internet of Things(IOT)
Case study on automatic washing machine based on Internet of Things(IOT)Case study on automatic washing machine based on Internet of Things(IOT)
Case study on automatic washing machine based on Internet of Things(IOT)
 
8051 timer counter
8051 timer counter8051 timer counter
8051 timer counter
 
Intel 8051 Programming in C
Intel 8051 Programming in CIntel 8051 Programming in C
Intel 8051 Programming in C
 
Atm machine
Atm machineAtm machine
Atm machine
 
IoT home automation project
IoT home automation projectIoT home automation project
IoT home automation project
 
Presentation on IoT Based Home Automation using android & NodeMCU
Presentation on IoT Based Home Automation using android & NodeMCUPresentation on IoT Based Home Automation using android & NodeMCU
Presentation on IoT Based Home Automation using android & NodeMCU
 
LCD based voting machine using 8051 microcontroller (
LCD based voting machine using 8051 microcontroller (LCD based voting machine using 8051 microcontroller (
LCD based voting machine using 8051 microcontroller (
 
Final year report on remote control of home appliances via bluetooth
Final year report on remote control of home appliances via bluetoothFinal year report on remote control of home appliances via bluetooth
Final year report on remote control of home appliances via bluetooth
 
Google Voice Assistance Based Smart Home Automation
Google Voice Assistance Based Smart Home AutomationGoogle Voice Assistance Based Smart Home Automation
Google Voice Assistance Based Smart Home Automation
 
Electronic Voting Machine
Electronic Voting MachineElectronic Voting Machine
Electronic Voting Machine
 
Microcontroller 8051 and its interfacing
Microcontroller 8051 and its interfacingMicrocontroller 8051 and its interfacing
Microcontroller 8051 and its interfacing
 

Similar a Electronic voting machine presentation

Similar a Electronic voting machine presentation (20)

Pc based wire less data aquisition system using rf(1)
Pc based wire less data aquisition system using rf(1)Pc based wire less data aquisition system using rf(1)
Pc based wire less data aquisition system using rf(1)
 
At 89s51
At 89s51At 89s51
At 89s51
 
AT89C51 Data sheets
AT89C51 Data sheetsAT89C51 Data sheets
AT89C51 Data sheets
 
Microcontroller at89 s52 datasheet
Microcontroller at89 s52 datasheetMicrocontroller at89 s52 datasheet
Microcontroller at89 s52 datasheet
 
AT89C52 Data sheet
AT89C52 Data sheetAT89C52 Data sheet
AT89C52 Data sheet
 
At 89s52
At 89s52At 89s52
At 89s52
 
Advanced Embedded Automatic Car Parking System
	Advanced Embedded Automatic Car Parking System	Advanced Embedded Automatic Car Parking System
Advanced Embedded Automatic Car Parking System
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
8051 microcontroller and it’s interface
8051 microcontroller and it’s interface8051 microcontroller and it’s interface
8051 microcontroller and it’s interface
 
At89s52
At89s52At89s52
At89s52
 
dspAt89 s52
dspAt89 s52dspAt89 s52
dspAt89 s52
 
At89c4051
At89c4051At89c4051
At89c4051
 
At89 c51
At89 c51At89 c51
At89 c51
 
Datasheet8951
Datasheet8951Datasheet8951
Datasheet8951
 
1444461651 p327 334
1444461651 p327 3341444461651 p327 334
1444461651 p327 334
 
89c5131datasheet
89c5131datasheet89c5131datasheet
89c5131datasheet
 
At89s51
At89s51At89s51
At89s51
 
89s52 2
89s52 289s52 2
89s52 2
 
Atmel.ppt
Atmel.pptAtmel.ppt
Atmel.ppt
 
At89 c2051 (3)
At89 c2051 (3)At89 c2051 (3)
At89 c2051 (3)
 

Último

Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
Theory of Machine Notes / Lecture Material .pdf
Theory of Machine Notes / Lecture Material .pdfTheory of Machine Notes / Lecture Material .pdf
Theory of Machine Notes / Lecture Material .pdfShreyas Pandit
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewsandhya757531
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfisabel213075
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdfAkritiPradhan2
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Communityprachaibot
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptxmohitesoham12
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 
Levelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodLevelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodManicka Mamallan Andavar
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical trainingGladiatorsKasper
 
priority interrupt computer organization
priority interrupt computer organizationpriority interrupt computer organization
priority interrupt computer organizationchnrketan
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Sumanth A
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Romil Mishra
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...Erbil Polytechnic University
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTSneha Padhiar
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 

Último (20)

Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
Theory of Machine Notes / Lecture Material .pdf
Theory of Machine Notes / Lecture Material .pdfTheory of Machine Notes / Lecture Material .pdf
Theory of Machine Notes / Lecture Material .pdf
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overview
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdf
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Community
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptx
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 
Levelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodLevelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument method
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training
 
priority interrupt computer organization
priority interrupt computer organizationpriority interrupt computer organization
priority interrupt computer organization
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 

Electronic voting machine presentation

  • 1. [1] (Raghogarh, Guna) Project Report Electronic Voting Machine (EVM) (10B11CI401) Submitted By: Submitted To: Saurav Kumar (121127) Dinesh Kumar Verma Sir Rohan Agrawal(121115) Ravikant (121112) Rajat Pokharna (121108) Rahul Tyagi (121107) A-4 (ECE) JAYPEE UNIVERSITY OF ENGINEERING & TECHNOLOGY
  • 2. [2] ACKNOWLEDGEMENT We wish to express our sinceregratitude to our Microprocessors & microcontrollers sir Mr. D.K. Verma for his timely encouragement, proper guidance and humorous illuminating discussions. We also owe our gratitude and thankfulness to all our friends, who havebeen a perennial sourceof guidance and inspiration. We once again wish to express our sincere gratitude to all those who helped us to complete this report. In the words of W.Wilson -- “ I not only usedall the brain I had, but all that I could borrow. ”
  • 3. [3] CONTENTS S.NO. Details Page No. 1. Introduction 4 2. Pin description of 8952 6 3. Block Diagram of EVM 10 a. Working of EVM using 89C52 b. Circuit Diagram of 89C52 c. Hardware Description 4. Explanation of circuit diagram of EVM 13 5. Software Coding of EVM 15 6. Advantages & Disadvantages 29 7. Application & Future Scope 29-30 8. Bibliography 31
  • 4. [4] INTRODUCTION This project is design to make understand the technology used in a now a day’s voting machine system, which is used in whole world. These voting machines are equipped with the CPU, which control the voting machine. The voting machine is programmed for the specific operation. Every operation on the voting machine is defined is display on the Computer Monitor. In this project we try to give the Idea of prototype voting machines. We are using micro controller AT89S52(of 8051 series) for controlling the voting operation. There is a Monitor display for showing the status of voting by interfacing the voting machine with the PC. For connecting the voting machine with PC we use the Hyper Terminal communication system, which are already come with the Window2000XP operating system. 8952 IC MICROCONTROLLER Features:- • Compatible with MCS-51® Products • 8K Bytes of In-System Programmable (ISP) Flash Memory – Endurance: 1000 Write/Erase Cycles • 4.0V to 5.5V Operating Range • Fully Static Operation: 0 Hz to 33 MHz • Three-level Program Memory Lock • 256 x 8-bit Internal RAM • 32 Programmable I/O Lines • Three 16-bit Timer/Counters • Eight Interrupt Sources • Full Duplex UART Serial Channel • Low-power Idle and Power-down Modes • Interrupt Recovery from Power-down Mode • Watchdog Timer • Dual Data Pointer • Power-off Flag Description:- The 89S52 is a low-power, high-performance CMOS 8-bit microcontroller with 8K bytes of in- system programmable Flash memory. The device is manufactured using Atmel’s high-density
  • 5. [5] nonvolatile memory technology and is compatible with the industry- standard 80C51 instruction set and pin out. The on-chip Flash allows the program memory to be reprogrammed in-systemor by a conventional nonvolatile memory programmer. Block diagram (89C52) :
  • 6. [6] Pin Description:- VCC Supply voltage. GND Ground. Port 0 Port 0 is an 8-bit open drain bi-directional I/O port. As an output port, each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high impedance inputs. Port 0 can also be configured to be the multiplexed loworder address/data bus during accesses to external program and data memory. In this mode, P0 has internal pullups. Port 0 also receives the code bytes during Flash programming and outputs the code bytes during program verification. External pullups are required during program verification. Port 1
  • 7. [7] Port 1 is an 8-bit bi-directional I/O port with internal pullups. The Port 1 output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled high by the internal pullups and can be used as inputs. Port 2 Port 2 is an 8-bit bi-directional I/O port with internal pullups.The Port 2 output buffers can sink/source four TTL inputs.When 1s are written to Port 2 pins, they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL) because of the internal pullups. Port 3 Port 3 is an 8-bit bi-directional I/O port with internal pullups.The Port 3 output buffers can sink/source four TTL inputs.When 1s are written to Port 3 pins, they are pulled high bythe internal pullups and can be used as inputs. As inputs,Port 3 pins that are externally being pulled low will sourcecurrent (IIL) because of the pullups. RST Reset input. ALE/PROG Address Latch Enable (ALE) is an output pulse for latchingthe low byte of the address during accesses to externalmemory. This pin is also the program pulse input (PROG)during Flash programming. PSEN Program Store Enable (PSEN) is the read strobe to external program memory. EA/VPP External Access Enable. EA must be strapped to GND in order to enable the device to fetch code from external program memory locations starting at 0000H up to FFFFH. XTAL1 Input to the inverting oscillator amplifier and input to the internal clock operating circuit. XTAL2 Output from the inverting oscillator amplifier. Special Function Registers
  • 8. [8] Timer 2 Registers: Control and status bits are contained in registers T2CON () and T2MOD () for Timer 2. The register pair (RCAP2H, RCAP2L) are the Capture/Reload registers for Timer 2 in 16 bit capture mode or 16-bit auto-reload mode. Interrupt Registers: The individual interrupt enable bits are in the IE register. Two priorities can be set for each of the six interrupt sources in the IP register. Dual Data Pointer Registers: To facilitate accessing both internal and external data memory, two banks of 16-bit Data Pointer Registers are provided: DP0 at SFR address locations 82H-83H and DP1 at 84H-85H. Power Off Flag: The Power Off Flag (POF) is located at bit 4 (PCON.4) in the PCON SFR. POF is set to “1” during power up. It can be set and rest under software control and is not affected by reset. Memory Organization
  • 9. [9] MCS-51 devices have a separate address space for Program and Data Memory. Up to 64K bytes each of external Program and Data Memory can be addressed. Program Memory If the EA pin is connected to GND, all program fetches are directed to external memory. On the AT89S52, if EA is connected to VCC. Data Memory The AT89S52 implements 256 bytes of on-chip RAM. The upper 128 bytes occupy a parallel address space to the Special Function Registers. Watchdog Timer (One-time Enabled with Reset-out) The WDT is intended as a recovery method in situations where the CPU may be subjected to software upsets. The WDT consists of a 13-bit counter and the Watchdog Timer Reset (WDTRST) SFR. The WDT is defaulted to disable from exiting reset. To enable the WDT, a user must write 01EH and 0E1H in sequence to the WDTRST register (SFR location 0A6H). UART The UART in the AT89S52 operates the same way as the UART in the AT89C51 and AT89C52. Capture Mode In the capture mode, two options are selected by bit EXEN2 in T2CON. If EXEN2 = 0, Timer 2 is a 16-bit timer or counter which upon overflow sets bit TF2 in T2CON.This bit can then be used to generate an interrupt. If EXEN2 = 1, Timer 2 performs the same operation, but a 1- to-0 transition at external input T2EX also causes the current value in TH2 and TL2 to be captured into RCAP2H and RCAP2L, respectively. Auto-reload (Up or Down Counter) Timer 2 can be programmed to count up or down when configured in its 16-bit auto-reload mode. This feature invoked by the DCEN (Down Counter Enable) bit located in the SFR T2MOD Baud Rate Generator Timer 2 is selected as the baud rate generator by setting TCLK and/or RCLK in T2CON (Table 2). Note that the baud rates for transmit and receive can be different if Timer 2 is used for the receiver or transmitter and Timer 1 is used for the other function. Setting RCLK and/or TCLK puts Timer 2 into its baud rate generator mode Programmable Clock Out A 50% duty cycle clock can be programmed to come out onP1.0, as shown in Figure 9. This pin, besides being a regularI/O pin, has two alternate functions. It can be programmed to input the
  • 10. [10] external clock for Timer/Counter 2 or to output a 50% duty cycle clock ranging from 61 Hz to 4 MHz at a 16 MHz operating frequency. Interrupts The AT89S52 has a total of six interrupt vectors: two external interrupts (INT0 and INT1), three timer interrupts (Timers 0, 1, and 2), and the serial port interrupt. Oscillator Characteristics XTAL1 and XTAL2 are the input and output, respectively, of an inverting amplifier that can be configured for use as an on-chip oscillator Idle Mode In idle mode, the CPU puts itself to sleep while all the on chip peripherals remain active. The mode is invoked by software. The content of the on-chip RAM and all the special functions registers remain unchanged during this mode. The idle mode can be terminated by any enabled interrupt or by a hardware reset. Power-down Mode In the Power-down mode, the oscillator is stopped, and the instruction that invokes Power- down is the last instruction executed. The on-chip RAM and Special Function Registers retain their values until the Power-down mode is terminated. Block Diagram of EVM :
  • 11. [11] Working of EVM using 89C52 The Project Electronic Voting System is an interesting project which uses 89S52 microcontroller as its brain. The project is designed for four contestants. Voters can poll their vote to any one of the contestant. The 89S52 microcontroller contains four ports of each eight pins. In this project one port is dedicated for micro switches for four contestants, master switch for polling officer. 4 LEDs are connected to indicate the switch bounce conditions. A simple yet powerful program is written in assembly language and burned into the microcontroller to accept votes and to count total votes polled. Polling officer switch (master) is provided to avoid multiple polling of single voter. Every voter should get approval from the polling officer. If the polling officer issues approval with his control switch, then only a voter can poll his vote. This issuance of approval is indicated by an long buzzer beep. Vote count are stored in PC and display the total number of votes polled and individual contestant-vise votes polled. A buzzer is provided for audio effect of switch bounce. Whenever a switch is bounced, the system acknowledges the bounce by a short beep sound. This buzzer is driven by an NPN transistor. If voter tried to multiple polling long beep sound. This project uses regulated 5V, 500mA power supply. 7805 three terminal voltage regulator is used for voltage regulation. Bridge type full wave rectifier is used to rectify the ac output of secondary of 230/12V step down transformer. Circuit Diagram:
  • 12. [12] Hardware description :- Power supply:- Power supply is a reference to a source of electrical power. A device or system that supplies electrical or other types of energy to an output load or group of loads is called a power supply unit or PSU. The term is most commonly applied to electrical energy supplies, less often to mechanical ones, and rarely to others. Here in our application we need a 5v DC power supply for all electronics involved in the project. This requires step down transformer, rectifier, voltage regulator, and filter circuit for generation of 5v DC power. Circuit diagram:-
  • 13. [13] Transformer:- Transformer is a device that transfers electrical energy from one circuit to another through inductively coupled conductors the transformer's coils or "windings". Except for air-core transformers, the conductors are commonly wound around a single iron-rich core, or around separate but magnetically coupled cores. A varying current in the first or primary winding creates a varying magnetic field in the core or cores of the transformer. This varying magnetic field induces a varying electromotive force EMF or voltage in the secondary winding. This effect is called mutual induction. If a load is connected to the secondary circuit, electric charge will flow in the secondary winding of the transformer and transfer energy from the primary circuit to the load connected in the secondary circuit. The primary winding is connected to a60-hertz ac voltage source. The magnetic field builds up and collapses about the primary winding .the expanding and contracting magnetic field around the primary winding cuts the secondary winding and induces an alternating voltage into the winding. This voltage causes alternating current to flow through the load. The voltage may be stepped up or down depending on the design of the primary and secondary windings. BRIDGERECTIFIER:- A bridge rectifier makes use of four diodes in a bridge arrangement to achieve full-wave rectification. This is a widely used configuration, both with individual diodes wired as shown and with single component bridges where the diode bridge is wired internally. The full-wave bridge serves to convert an AC input into a DC output, the addition of a capacitor may be desired because the bridge alone supplies an output of fixed polarity but continuously varying. The function of this capacitor, known as a reservoir capacitor is to lessen the variation in the rectified AC output voltage waveform from the bridge. One explanation of 'smoothing' is that the capacitor provides a low impedance path to the AC component of the output, reducing the
  • 14. [14] AC voltage across,and AC current through, the resistive load. In less technical terms, any drop in the output voltage and current of the bridge tends to be cancelled by loss of charge in the capacitor. This charge flows out as additional current through the load. Thus the change of load current and voltage is reduced relative to what would occur without the capacitor. Increases of voltage correspondingly store excess charge in the capacitor, thus moderating the change in output voltage / current. REGULATOR IC (7805):- It is a three pin IC used as a voltage regulator. It converts unregulated DC current into regulated DC current. Normally we get fixed output by connecting the voltage regulator at the output of the filtered DC. It can also be used in circuits to get a low DC voltage from a high DC voltage (we use 7805 to get 5V from 12V). DIODE:- The diode is a p-n junction device. Diode is the component used to control the flow of the current in any one direction. The diode widely works in forward bias. Diode when the current flows from the P to N direction. Then it is in forward bias. The Zener diode is used in reverse bias function from N to P direction Explanation of circuit diagram of EVM 1. Initially when the switch is closed, allows the evm to take the vote.The vote is taken only when push button is pressed and the led D1 is switched ON.
  • 15. [15] 2. A push button is assigned to each party. When the push button of the desired party is pressed, the led is switched off which indicates that the vote is cast and the buzzer gives a beep. 3. Again the push button is pressed so that the evm is ready to take the next vote which is indicated through the led D1.The same process is repeated until all the voters cast their votes. 4. To view the results of each respective party, the switch must be opened. 5.To know the result of the party, the push button of the respective party must be pressed so that the number of votes cast for the party is displayed on the lcd screen.
  • 16. [16] SOFTWARE CODE C code: // Program to make a voting machine using LCD #include<reg51.h> #define msec50 #define lcd_data_str_pinP2 sbitrs = P1^0; //Registerselect(RS) pin sbitrw = P1^1; //Readwrite(RW) pin sbiten= P1^2; //Enable(EN) pin sbitini_pin= P3^0; //Start votingpin sbitstop_pin= P3^5; // Stopvotingpin sbitcandidate_1=P3^1; //Candidate1
  • 17. [17] sbitcandidate_2=P3^2; //Candidate2 sbitcandidate_3=P3^3; //Candidate3 sbitcandidate_4=P3^4; //Candidate4 intmax = 0; intcarry = 0; intarr[4]; intvote_amt[3],j; unsignedintvote_1,vote_2,vote_3,vote_4; voiddelay(intdelay_time) //Time delayfunction { intj,k; for(j=0;j<=delay_time;j++) for(k=0;k<=1000;k++); } voidlcd_cmd(unsignedcharcmd_addr) //FunctiontosendcommandtoLCD { lcd_data_str_pin= cmd_addr; en= 1; rs = 0; rw = 0; delay(1); en= 0; return; } voidlcd_data_str(charstr[50]) //Functiontosendstring {
  • 18. [18] intp; for (p=0;str[p]!='0';p++) { lcd_data_str_pin= str[p]; rw = 0; rs = 1; en= 1; delay(1); en= 0; } return; } voidlcd_data_int(unsignedintvote) //Functiontosend0-9character values { char dig_ctrl_var; intp; for (j=2;j>=0;j--) { vote_amt[j]=vote%10; vote=vote/10; } for (p=0;p<=2;p++) { dig_ctrl_var= vote_amt[p]+48; lcd_data_str_pin= dig_ctrl_var; rw = 0; rs = 1; en= 1;
  • 19. [19] delay(1); en= 0; } return; } voidvote_count() //Functiontocountvotes { while (candidate_1==1&& candidate_2==1 && candidate_3==1 && candidate_4==1); if (candidate_1==0) { while (candidate_1== 0); { vote_1 = vote_1+ 1; } } if (candidate_2==0) { while (candidate_2== 0); { vote_2 = vote_2+ 1; } } if (candidate_3==0) { while (candidate_3== 0); { vote_3 = vote_3+ 1;
  • 20. [20] } } if (candidate_4==0) { while (candidate_4== 0); { vote_4 = vote_4+ 1; } } } voidlcd_ini() { lcd_cmd(0x38); delay(msec); lcd_cmd(0x0E); delay(msec); lcd_cmd(0x01); delay(msec); lcd_cmd(0x81); delay(msec); lcd_data_str("Welcome!!!"); delay(100); lcd_cmd(0x01); delay(msec); lcd_cmd(0x80); delay(msec); lcd_data_str( "Press"); delay(msec);
  • 24. [24] lcd_cmd(0xC4); delay(msec); lcd_data_int(vote_2); delay(msec); lcd_cmd(0xC8); delay(msec); lcd_data_int(vote_3); delay(msec); lcd_cmd(0xCC); delay(msec); lcd_data_int(vote_4); delay(300); arr[0] = vote_1; arr[1] = vote_2; arr[2] = vote_3; arr[3] = vote_4; for( i=0; i<4; i++) { if(arr[i]>=max) max = arr[i]; } if ( (vote_1== max) && ( vote_2 != max) && (vote_3!= max)&&(vote_4!= max) ) { carry = 1; lcd_cmd(0x01);
  • 25. [25] delay(msec); lcd_cmd(0x82); delay(msec); lcd_data_str("Hurray!!!"); delay(50); lcd_cmd(0xC4); delay(msec); lcd_data_str("P1"); delay(msec); lcd_cmd(0x14); delay(msec); lcd_data_str("wins"); delay(msec); } if ( (vote_2== max) && ( vote_1 != max) && (vote_3!= max)&& (vote_4!= max) ) { carry = 1; lcd_cmd(0x01); delay(msec); lcd_cmd(0x82); delay(msec); lcd_data_str("Hurray!!!"); delay(50); lcd_cmd(0xC4); delay(msec); lcd_data_str("P2"); delay(msec); lcd_cmd(0x14); delay(msec);
  • 26. [26] lcd_data_str("wins"); delay(msec); } if ( (vote_3== max) && ( vote_2 != max) && (vote_1!= max)&&(vote_4!= max) ) { carry = 1; lcd_cmd(0x01); delay(msec); lcd_cmd(0x82); delay(msec); lcd_data_str("Hurray!!!"); delay(50); lcd_cmd(0xC4); delay(msec); lcd_data_str("P3"); delay(msec); lcd_cmd(0x14); delay(msec); lcd_data_str("wins"); delay(msec); } if ( (vote_4== max) && ( vote_2 != max) && (vote_3!= max)&&(vote_1!= max) ) { carry = 1; lcd_cmd(0x01); delay(msec); lcd_cmd(0x82); delay(msec);
  • 28. [28] if(vote_3== max) { lcd_cmd(0xC9); lcd_data_str("P3"); delay(50); } if(vote_4== max) { lcd_cmd(0xCD); lcd_data_str("P4"); delay(50); } } } voidmain() { ini_pin=stop_pin= 1; vote_1 = vote_2 = vote_3= vote_4= 0; candidate_1= candidate_2= candidate_3= candidate_4= 1; lcd_cmd(0x38); delay(msec); lcd_cmd(0x0E); delay(msec); lcd_cmd(0x01); delay(msec); lcd_cmd(0x80); delay(msec); lcd_data_str( "Press"); delay(msec);
  • 30. [30] results(); } } Advantage:- 1.The saving of considerable printing stationery and transport of large volumes of electoral material, 2. Easy transportation, storage, and maintenance, 3. No invalid votes, 4. Reduction in polling time, resulting in fewer problems in electoral preparations, law and order, candidates' expenditure, etc. and 5. Easy and accurate counting without any mischief at the counting centre 6. Eco friendly. Disadvantage:- 1. Limited no. of candidates. 2. More candidates mean implies complicated circuit. 3. Microprocessor based design, which requires a no. of supporting components like memory, peripheral interface, etc. 4. No security against illegal viewing of results, as presiding officer can view the results without any difficulty. 5. Less user friendly due to two seven segment displays 6. Existing systemcosts high Application:- 1. This could be used for voting purpose at any required place. 2. It is used in general elections for choosing candidates to represent people at various stages. 3. It can be used in school, college student union elections. 4. It can be used to find the general opinion of people on various issues. 5. Anywhere where majority opinion is to be found out.
  • 31. [31] Future Scope: 1. Timer could be included, which could automatically end the voting after specific duration of time. 2. Biometric Verification of voters, so that automatically it can be insured that one person is voting once. 3. It can be made more interactive by adding sound effect (Speech) to it. 4. EEPROMcan be used to store data permanently. 5. If we make more than one EVM, each to be used at differant locations and final result will be addition of result of all, we could think of connecting them to communicate with each other and final result can be shown on one of the LCD.