i hav 2 design a voting machine , which has provision for 8 candidates .It has 2 store the total count and display it on 7 seg display. However , 2 put in use it must b enabled by 8 agents and 1 officer , if any1 is missing it shudn't b enabled. please help me how 2 design the hardware for this
project . thanks
the voting machine has to stop taking input after 10 hrs.So , I thought i can use a timer 8253/8254 by storing a count in it , after 10hrs the gate output of timer wud go high , so wer shud i connect dis output pin to? or shud i make use of interrupt?
PS:-i m using 8086 microprocessor, 8255 ppi , 8253/8254 timer . please suggest something
you have processor at your disposal. you can use it in many ways. one way is to ignore inputs before or after some event. better is to ignore SOME inputs after particular event. i would consider making program like a state machine, for example:
step 0 : reset everything (like upon powerup)
step 1 : start, wait for enable (from agents and officer or whatever)
step 2 : start timer (voting begins)
step 3 : collect votes (and timer complete bit)
step 4 : display count
step 5 : if not timeout, goto step3
step 6 : reached timeout, voting completed
step 7 : indicate voting completed and wait for reset
step 8 : goto step0
then even though you are reading inputs continuously (step 3) there is no problem with votes before voting starts or after voting ends. this is accomplished by structure of program. you need to plan what you want to do, work it out and then implement.
I have no idea of 8086 based EVM but i have done this project gain after my school to college in first year.
here is the video and some pic.
the working was based on all logic circuit without any controllers!!
At the beginning , i hav loaded a count in the timer such that its output will go high in 10hrs.As soon as the output goes high , the voting machine has to stop taking votes,
the voting machine has to take input as long as output of timer is low. So , how to design this thing?
sit down, think, plan, break it into smaller tasks, then implement and test one part at a time. so what is your plan and where are you at? what have you accomplished? did you nail down components, design circuit, make circuit? cpu can be connected to peripherals in different ways. therefore you should try to finalize hardware design before you start programming.