Abstract 1
1. Background 2
2. Microcontroller 9
2.1 Introduction 9
2.2 History 9 2.3 Definition of a Microcontroller 11 2.4 Microcontrollers vs Microprocessors 12 2.5 Memory Unit 13 2.6 Central Processing Unit 14 2.7 Bus 15 2.8 Input Output Unit 16 2.9 Serial Communication 16 2.10 Timer Unit 17 2.11 Watch Dog 18 2.12 Analog to Digital Converter 19
3. Introduction to EEPROM 21 3.1 EEPROM 21 3.2 Application/ Operation of EEPROM 21
4. Introduction to 16X2 LCD Display 23 4.1 Pin description 23 4.2 DDRAM - Display Data RAM 24 4.3 BF - Busy Flag 24
4.4 Instruction Register (IR) and Data Register (DR) 24
4.5 Commands and Instruction set 24
4.6 Sending Commands to LCD 24
5. Introduction to I2C Bus 26 5.1 Basic Definition 26 5.2 Inside the box 26 5.3 Communication 27 5.4 A simple bus 28 5.5 The elegance of I2C 28
6. Project Description 30 6.1 Ballot unit 31 6.1(a) Block diagram 31 6.1(b) General working 31 6.1(c) Flowchart 32 6.1(d) Assembly language code 34 6.2 Control unit 37 6.2(a) Block diagram 37 6.2(b) General working 37 6.2(c) Flowchart 40 6.2(d) Assembly language code 47
7. Project Methodology 72 7.1 Components 72 7.1(a) Ballot unit 72 7.1(b) Control unit 73 7.2 Softwares used 74 7.3 Equipments used 74 7.4 Procedure of building the EVM 74 7.5 Using the Electronic Voting Machine 75 7.6 Hardware schematic 78 7.6(a) Ballot unit 78 7.6(b) Control unit 79 7.6(c) Complete EVM system 80
8. Result and Conclusion 81
9. Applications 82
10. Future Scope 83
11. References and Bibliography 84
Appendix