目录
1.设计要求
1. 采用51单片机设计
2. 要求显示倒计时,最大值为99,精度为1秒,倒计时结束时要求蜂鸣器以相同的间隔响起,同时显示F
3. 抢答成功时显示抢答者的编号,同时其他抢答者无法抢答
2.倒计时电路
倒计时电路由于精度为两位数,可以采用4511加数码管来显示,使用单片机的内部定时器0工作在方式1和外部中断来进行倒计时的时间减少,采用10ms中断100次来表示1s.
倒计时显示电路:
定时器的初始化代码:
当时间中断时间到达1s时更新P0的输出,中断函数如下:
3.抢答器电路
几路抢答器就保留几个按键,不对代码的运行有影响
当有人按下按键且合法时,暂停倒计时,另一个数码管显示抢答者的序号,由于倒计时电路采同一端口输出,所以需要一个锁存器芯片74HC573来对信号进行锁存,同时4511芯片也具有保存当前信号的能力,所以可以共用一个端口。
4.报警电路
可以采用一个三极管来当开关开启和关闭蜂鸣器,加上代码上使用延时函数来对端口进行取反实现相同间隔的响起
5.注意事项
代码里基本有注释,注意proteus的版本为8.6,keil版本为5,两个芯片的真值表在word文件里
如果proteus运行时提示路径有中文无法运行,是因为你的电脑命名是中文,使得proteus不支持访问,推荐一下比较简单的解决方法
项目链接:https://pan.baidu.com/s/1OlHeFId3bgJ9rhfPYeqCzA?pwd=vvrx
提取码:vvrx