基于单片机的多功能抢答器设计
蜂鸣提示模块
本文引用地址:https://www.eepw.com.cn/article/203228.htm本设计中利用AT89C51的16引脚经驱动器驱动蜂鸣器发声。压电式蜂鸣器约需10mA的驱动电流,可以采用三极管的电流放大作用驱动蜂鸣器实现发声提示。
复位模块
复位模块由复位键、电阻R1以及电解电容C3构成。由于单片机是高电平复位,所以当复位键按下时单片机9脚RESET管脚处于高电平,此时单片机处于复位状态,当上电后,由于电容的缓慢充电,单片机的9脚电压逐步由高向低转化,经过一段时间后,单片机的9脚处于稳定的低电平状态,此时单片机上电复位完毕,系统程序从0000H开始执行。
本设计中使用了硬件复位和软件复位两个功能。硬件复位后各个状态、寄存器以及存储器的值都恢复到了初始值。调整抢答和回答倒计时时间,需要记忆功能,故采用软复位,当程序执行完毕后,跳转指令将程序跳转到程序执行的起始地址。
软件设计
抢答器要求有计时记忆功能,一次时间设置完,复位后不需重新进行时间设定,选手通过键盘按键进行抢答,再通过单片机将其转换成能在七段数码管上显示的字型码。抢答完毕,数码管上显示抢答选手号码表示抢答成功并开始倒计时。

根据此设计思路,系统软件设计流程图如图3所示。系统采用Keil软件参照软件流程图编写汇编语言。以显示模块为例,相应程序段如下:
DISPLAY:MOV DPTR,#DAT1;查表显示程序,P0.0~P0.6段选,P2.0~P2.2位选;
MOV A,R5
MOVC A,@A+DPTR
MOV P2,#01H
MOV P0,A
ACALL DELAY
MOV DPTR,#DAT2
MOV A,R4
MOVC A,@A+DPTR
MOV P2,#02H
MOV P0,A
ACALL DELAY
MOV A,R3
MOVC A,@A+DPTR
MOV P2,#04H
MOV P0,A
ACALL DELAY
RET
DAT1:DB 00H, 06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,00H,71H;
DAT2:DB 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,00H,71H 71H;
基于Proteus的系统仿真
Proteus软件不仅能仿真单片机的工作情况,还能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。本设计经仿真后,实现了预期的抢答器的功能。
抢答成功模块
图4显示4号选手抢答成功,并且答题时间还剩余52秒,当答题时间还剩5秒内时,会有蜂鸣警报。
51单片机相关文章:51单片机教程
蜂鸣器相关文章:蜂鸣器原理 上拉电阻相关文章:上拉电阻原理 激光器相关文章:激光器原理
评论