360微机原理-基于8086投票器仿真系统设计
基于 8086 的投票器仿真系统设计
项目简介
投票表决器和抢答器类似,都是多路输入竞争类题目,但它更强调“统计”和“表决结果”而不是“先后”。
这份设计以 8086 最小系统为核心,利用 8255 采集八位投票输入,再通过数码管和 LED 显示投票结果以及是否通过决议。按钮开关代表八位投票者,各路输入经 CPU 统计后输出到显示端,形成一套完整的小型电子表决系统。
这种题目很适合用来练习“多路输入汇总到一个结果”的思路。
谁投了什么固然重要,但最终系统更关注总票数和表决结论。
相关资料截图
图一

图二

主要功能
- 支持八位投票按钮输入。
- 通过 8255 采集投票信息。
- 统计投票结果并在七段数码管上显示。
- 通过 LED 显示是否通过决议。
方案设计
系统整体采用“多路投票采集加结果统计显示”的方式。
八路按钮分别代表八位投票者的输入状态,8255 将这些状态送入 8086,CPU 对当前投票进行计数和判断,再通过 8255 输出到数码管和 LED,完成票数及是否通过的显示。
这种设计的可取之处,在于输入虽然分散,输出却非常集中。
所有人的选择最终汇总成一个清晰可见的结论,这很符合表决系统的实际特点。
模块设计
1. 投票输入模块
八位按钮负责模拟投票行为。
它们构成整个表决系统的数据来源。
2. 统计处理模块
8086 负责读取输入并完成投票结果统计。
通过与不通过的判断规则也在这一层完成。
3. 结果显示模块
数码管负责显示票数,LED 用于表示表决结果。
一个显示数量,一个显示结论,分工非常清楚。
程序流程与实现重点
系统上电后先初始化 8255 输入输出端口和显示状态。
主循环中程序持续读取当前八路投票输入,对投票结果进行统计,再将当前票数显示到数码管上,并根据设定规则点亮对应 LED,表示当前决议是否通过。
实现重点主要包括:
- 多路输入采样要完整,不能漏计某一路。
- 投票统计规则和“通过”判定规则要提前定义清楚。
- 数码管票数和 LED 结论必须建立在同一组统计结果上。
调试与分析
投票器系统调试时,最常见的问题是统计和显示不同步。
票数已经变了,LED 结论还没跟上,或者 LED 已经表示通过,数码管却显示票数不足,这种不一致会非常影响可信度。结果类系统最忌讳前后口径不一。
另外,多路按钮输入同样需要考虑稳定性。
若某个按钮抖动导致重复计票,整套表决结果都会被破坏。把输入采集稳住,是投票系统成立的前提。
结语
投票器仿真系统设计的意义,在于它把多个人的分散输入整理成了一个统一的结果输出。
从输入采集到统计判决,再到结果显示,整个流程非常适合作为 8086 多路输入处理的代表性课题。

浙公网安备 33010602011771号