七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。
4.2电路的总体原理框图
图2 总体原理图
观众通过按键,来选择自己的投票结果,输入后,通过硬件方面电路的控制来进行转换和票数统计,然后分析票数,最后将结果显示出来。
4.3硬件框架图
数码管显示 电源系统
EL教学实验箱 EL-JY-2 电脑 开关按钮
LED显示 图3
硬件框架是由:电源系统,开关按钮,数码管显示,LED显示,以及EL-JY-2来构成。其中EL-JY-2是设计中的重中之重。
4.4表决器接口设计
图
4
注释:set:选择是否记名
set1:选择是否显示投票人数及比例 xin[0:6]:表决输入,分别是七个拨动开关 sel:输出指示是否记名投票
sel1:输出指示是否显示投票人数及比例 xout[0:6]:译码用数码管输出表决是否通过
xout0[0:6]:译码用数码管输出同意的人数(set1=1) xout1[0:6]:译码用数码管输出不同意同意的人数(set1=1) xout2[0:6]:译码用七个LED输出记名结果
4.5.电路工作原理简述:
该电路是基于硬件电路,应用汇编语言来设计出其工作流程,硬件电路是用软件程序来检测表决器的开始按键是否被按下,如果开始键已按下,则利用软件程序来检测用于表决的按键是否被按下以及按下的按键是否有效,然后检测结束键是否被按下,如果按下则表决结束,并且显示最终的表决结果。硬件电路只能够用于表征表决是否开始以及每个人按下的是同意按键还是反对按键。
工作流程:当主持人按下开始表决的开始按键(在电路中用接在外部中断0上的按键来表示开始按键)后,七个人才开始表决,七个人分别按下同意按键或是反对按键,剩余的事情由软件来处理分析最终统计得到“同意”的人数和“反对”的人数,当主持按下结束按键后(在电路中用外部中断1上所接的按键来表示结束按键),软件中用外部中断1来表示结束(采用中断的方式),在中断程序中比较“同意”的人数与“反对”的人数的大小。当“同意”的人数大于“反对”的人数时,应用软件程序点亮绿
灯;当“同意”的人数小于“反对”的人数时,应用软件程序点亮红灯;当“同意”的人数等于“反对”的人数时,则应用软件程序将红灯与绿灯同时点亮。
5.软件设计说明
5.1模块设计
初始化模块 :对系统进行初始化,由于程序中有中断源,因此打开相应的中断也放在程序的初始化模块中。
检测开始按键:检测开始按键是否被按下,按下则开始执行循环检测同意与反对按键,为消除按键抖动,此处需调用延时程序。
循环检测同意反对按键:循环检测同意与反对按键是否被按下,同时统计同意总数与反对总数,然后等待中断到来。
延时程序:用于消除按键的机械抖动,调用0.5s的延时程序;中断处理:当中断源到来,首先熄灭黄灯,然后将同意总数与反对总数进行比较,并点亮对应的显示灯;
5.2硬件设计流程图
大于 等于