基于单片机的多功能抢答器设计

  作者:戴文雯 时间:2013-12-26来源:电子产品世界

编者按:设计了一种以单片机AT89C51为核心的四路抢答器,从硬件和软件两方面详细介绍了抢答器的设计方法,结合Proteus软件的仿真结果,根据电路图焊接实物,软件仿真及硬件调试结果表明,该抢答器的设计实现了预期的目标。

  蜂鸣提示模块

  本设计中利用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秒内时,会有蜂鸣警报。

1 2 3

关键词: 单片机 抢答器 蜂鸣器 Proteus 寄存器 201401

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版