此 次设计提出了用AT80C51单片机为核心控制元件,设计一个简易的抢答器,本方案以AT80C51单片机作为主控核心,与数码管、蜂鸣器等构成八路抢答 器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路,设计的八路抢答器具有倒计时和实时显示抢答选手的号码的特点,还有复位电路,使 其再开始新的一轮的答题和比赛。
一、功能要求
- 比赛开始,主持人读完题之后按下“开始键”,即抢答开始,蜂鸣器提示一次,此时数码管开始显示30s的倒计时;
- 直到有一个选手按下抢答键,对应的会在数码管上显示出该选手的编号和回答剩余的时间,同时蜂鸣器也会发出一次提示音,以示有人抢答本题;
- 如果在规定的30s时间内没有人做出抢答,则此题作废,开始新一轮的抢答。
- 在抢答和回答时间的最后5s,蜂鸣器都会给予报警提示。
- 在倒计时过程中,主持人可以随时按“停止键”结束本次回答或者抢答。
- 在主持未按下开始键,若果有人按下抢答键,则属于犯规抢答,此时,数码管上会显示违规选手的编号,同时蜂鸣器会以1s一次的频率发出警告。
- 在每次抢答前后,主持人都可以按下复位键让系统清零,此时数码管上会显示“FFF”
二、总体方案设计
2.1显示模块的选择
显示模块主要是显示时间和编号。考虑有以下两种显示方案。
方 案一:使用液晶屏显示时间。液晶显示屏(LCD )具有轻薄短小、低耗电量、影像稳定不闪烁,分辨率高,抗干扰能力强的特点。但由于液晶屏是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程 工作量大,控制器的资源占用较多,其成本也偏高。在使用时,不能有静电干扰,否则易烧坏液晶显示芯片,不易维护
方案二:使用传统的数码管显示。数码管具有低能耗、低损耗、低压、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护的优点,同时其精度高,称量快,精确可靠,操作简单。数码显示是采用BCD编码显示数字,程序编译容易,资源占用较少库
2.2键盘的选择
键盘是人机交互的主要设备,键盘电路分为独立式和矩阵式。其中,独立式键盘硬件电路简单,而且在程序设计.上也不复杂,一般用在对硬件电路要求不高的简单电路中;矩阵式键盘硬件电路比独立式键盘电路复杂,而且程序设计繁琐,但它节省端口,适合于多按键
本设计基于简单硬件电路要求的基础上,采用的是独立键盘的方式。

三、主要器件介绍
采用AT89C51作为系统控制器的CPU方案。单片机算术运算功能强、软件编程灵活、自由度大,可以用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。

四、系统硬件设计

1、时钟频率控制电路
单片机必须在AT89C51`的驱动下才能工作。AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。

此 电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容 C1、C2选用30PF大小,其作用有两个:一是 帮助振荡器起振;二是对振荡器的频率进行微调。该设计中时钟频率选为12MHz。
2、复位电路的设计
在抢答器中复位是为定时做铺垫的,在抢答之前要复位,抢答完毕要复位,按了复位键之后LED显示F。单片机的复位引脚RST出现2个机器周期以上的高电平时即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图所示。

图 中复位电路由按键和电解电容C3、电阻R9构成的按键及上电复位电路。由于单片机是高电平复位,所以当按键按下时,单片机的9脚RESET管脚处于高电 平,此时单片机处于复位状态。当上电后由于电容缓慢充电,单片机的9脚电压逐步由高向低转化,经过一段时间后,单片机的9脚处于稳定的低电平状态,此时单 片机上电复位完毕,系统程序从0000H开始执行。
在此设计中使用了硬件复位和软件复位两种。硬件复位可将寄存器及存储器的值都恢复到初始值。而在设计中,倒计时时间存在记忆功能,因此还设计了软复位功能。软复位实际上就是当程序执行完毕后,讲程序指针通过一条跳转指令让它跳转到该段程序的起始地址。
3、报警电路的设计
我 们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个管脚的高低电平,则在该管脚上就能产生一定频率的矩形波,接上蜂鸣器就能发出一 定频率的声音,若利用延时程序控制高低电平的持续时间,就能改变输出频率,从而改变蜂鸣器发出的音调。在本设计中此电路起到报警功能。它会在第一位选手按 下抢答按钮时响一次,以提示有人抢答本题,并且在该选手的60秒抢答过程中或30秒等待过程中剩余最后5秒时响起,以提示到此题结束还有5秒钟。

本次设计如图用到单片机的10、11和16管脚。10管脚具有读入功能,11管脚具有输出功能,而16管脚具有外部数据写功能,单片机通过内部定时器的操作实现交替变换的波形输出驱动蜂鸣器发生。
4、显示电路的设计
本 设计中采用的是4位七段数码管显示。数码管显示通常显示分为动态显示和静态显示。其中,静态显示的特点是显示稳定不闪烁,编程简单,显示亮度高,但占用 l/0口多,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。而动态显示的稳定性虽没静态显示的好,编程复杂,但是相对静态显示而言占用 的端口资源少。本设计采用的是动态显示方法。通过查表法将值在数码管上显示出来。其中单片机的P0口为字型码输入端,P2口的低三位为字选段输入端。

本 设计采用4位一体的七段共阴极数码管7SEG-MPX4-CC,它是共阴极的,由高电平点亮,其中A-G段分别接到单片机的P0口,由单片机输出的PO口 数据来决定段码值,位选码COM1, COM3, COM4分别接到单片机的P2.0,P2.1,P2.2,由单片机来决定当前该显示的是哪一位。在电路图中还有8个220欧姆的电阻分别连接在PO口上, 用作P0口的上拉电阻,保证P0口没有数据输出时处于高电平状态。
5、键盘扫描电路的设计
键盘扫描电路由两部分组成:(5)定时电路和(6)抢答电路。
本设计基于简单硬件电路要求的基础上,采用的是独立键盘的方式。
在 定时电路的设计中,有1个抢答时间调整按键、1个回答时间调整按键、加一按键、减一按键和1个开始按键、1个结束按键。电路图如图2-7所示。图中和 AT89C51芯片的12管脚连接的为抢答时间30s的调整按键,和13管脚连接的为回答时间60s的调整按键,与14管脚连接的为加一按键,与15管脚 连接的为减一按键。这四个按键用于主持人对回答时间和抢答时间的调整。
开 始按键与单片机的10管脚连接,停止按键与11管脚连接。这里用到了单片机10、11管脚复合功能中的IO端口功能,单片机通过读取10、11脚的 P3.0、P3.1的I0端口值来判断当前是否处于抢答开始状态或抢答结束状态。当主持人按下开始键,抢答电路和定时电路将进入正常抢答状态;当回答完 毕,主持人可以按下结束键停止计时。

图2-7定时电路 图2-8抢答电路
抢答电路完成两个功能:一是分辨出选手按键先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是其他选手操作无效。抢答电路如图2-8所示,图 中8个抢答按键分别接入单片机的P1.0-P1.7端口,单片机通过读取P1.0-P1.7的值来判断当前输入的是8个抢答按键中的哪一个。如果主持人未 按下开始按键判断到有人违规操作,蜂鸣器会发出警报声,并且数码管会显示出犯规者的编号。
- 五、系统软件设计
- 5.1、系统主程序设计思路:为了能达到公 平、公正、合理的设计理念,应该在主持人发布抢答命令之前设定好抢答时间。当时间设定好了之后,主持人发布抢答命令。按下开始按键后,程序开始打开,定时 中断开始倒计时,然后调用键盘扫描子程序,当扫描到有人按下了抢答键,马上关闭抢答中断计时器T1,调用显示程序,此时封锁抢答键盘,启动计时器T0。

主程序框图
5.2键盘扫描程序设计 抢答选手的抢答程序设计是本设计的关键。键盘扫描流程图如图所示。

5.3、 显示程序设计 本次设计的显示部分在按下开始键时,后两个数码管显示倒计时间,以1s变换一次,并且调用延时程序,此时定时器采用中断方式,可以充分利用CPU。在有选 手按下抢答键时,第一个数码管显示选手号,最后两个数码管显示倒计时,定时器同样采用中断方式。 除此之外,本设计数码管具有闪烁功能,当有违规抢答时,第一个数码管会显示选手号,后两个数码管会闪烁显示FF,-一个周期为每秒1次。以示抢答无效,此 时定时器采用定时中断的工作方式。 连接时段选信号接在PO口的PO.O~P0.6七个I/O口上,P1口是准双向I/O接口在输出驱动部分,所以在接电阻时选择接220Q限流电.阻, 而在位选方面采用P2口的P2.0~P2.2, 用单片机P2.2三个I/O口作为位选信号的输出口。 |