这个表决器是基于STC89C51的7人多数表决器,该设计具备十秒表决倒计时功能、表决开始域结束的提示功能、票数统计功能以及通过与否情况显示功能。
制作出来的实物图如下:
程序的编写过程:
1. 根据软件的流程图中的各个模块的基本要求,先编写出模块程序, 使其实现模块功能;然后根据流程图中各个模块的关系使模块之间联系在一起,最后对对整体程序进行调节,直至调试运行后没有逻辑错误与警告;
2. 将运行没有错误的程序导入模拟软件 Proteus 中进行仿真调试, 首先发现不能实现预期的功能,于是对程序进行修改,直至调试成功,通过仿真能够实现预期的功能,则程序编写成功,可进行硬件电路的调试。
硬件调试过程中出现的问题:
1、 将所编程的的程序烧写在单片机 8051 芯片中,然后将其加入硬件电路中,然后进行调试,发现不能实现其功能。
2、 调整后继续进行调试,结果还是不能实现预期的功能,当按下按下主持人键之后发现两位数码管能倒计时显示,但十秒过后,一位数码管偶尔能发出一丝光亮,有些时候干脆就完全不亮。原本数码管是接在P0 口,按键是接在 P2 口,后来把两个模块换了位置,一位数码管依旧不亮。最后想到了 74LS373锁存器,于是补买了锁存器且把它接入电路驱动一位数码管,发现数码管能正常显示。
3、最后测试的时候发现两位数码管倒计时显示不正常,在排出软件问题后,对两位数码管的各个管脚进行单独测试,发现正常;接着对有电器连接关系的节点进行短接测试,在测试过程中发现有两根杜邦
线存在断路故障,后来换了两根经过测试成功的杜邦线,最终对硬件电路进行了不同情况下的测试,发现整个系统工作良好。
完整的pdf格式文档51黑下载地址:
7人多数表决器.pdf
(1019.96 KB, 下载次数: 60)
|