主题: 抢答器
器件:
ESP32 主控板 1 块, 按键模块 2 个(A 键和 B 键), 四位数码管 1个, 74HC595 移位寄存器芯片(或模块) 及相应辅件。 以上模块也可使用分立器件结合面包板搭建。
任务要求:
抢答器由 A、 B 双方组成, 分别位于左右两侧, A 方对应 A 键, B 方对应 B 键, 四位数码管位于双方的中间位置, 用于显示抢答结果。 抢答采用3 局 2 胜制。 具体任务说明及要求如下:
(1) 装置通电启动后, 在四位数码管第 2 位倒计时依次显示 5、 4、 3、2、 1, 间隔时间为 1 秒;
(2) 倒计时显示完毕, 四位数码管显示比分“0--0”, 如下图所示:
(3) 抢答开始后, 率先按下按键一方的比分加 1, 另一方的比分保持不变;
(4) 双方释放按键后, 开始下一轮抢答;
(5) 当 A、 B 双方中一方比分率先达到 2 分时, 抢答结束, 此时四位数码管闪烁显示比分, 再次点击按键比分不再改变;
(6) 四位数码管必须使用 74HC595 移位寄存器芯片驱动显示。 如采用其他方式, 本实操成绩得 0 分;
(7) 程序采用 C 代码编写, 不得使用外部库调用;
(8) 未作规定处可自行处理, 无明显与事实违背即可。说明: 请考生在考试结束前, 按照如下要求提交相关文件。
(1) 将程序放在一个文件夹中, 压缩为 1 个“rar 或 zip” 格式文件,并命名为: DJKS5_身份证号, 大小 5M 以下;
(2) 将程序文件通过“上传附件” 按钮进行上传;
(3) 程序编写过程中不得打开其它示例程序, 如发现, 实操成绩按照 0分处理。
参考资料:
数组 NUM[] 保存的是 0~9 十六进制形式的数码管显示的段位信息。 编
程时可参考使用。
// 保存 0~9
byte NUM[] = {0xFC, 0x60, 0xDA, 0xF2, 0x66, 0xB6, 0xBE, 0xE0,
0xFE, 0xF6} ;