智能自动抢答器.docx
《智能自动抢答器.docx》由会员分享,可在线阅读,更多相关《智能自动抢答器.docx(20页珍藏版)》请在冰豆网上搜索。
智能自动抢答器
智能自动抢答器
随着电子技术的飞速发展,基于单片机的控制系统已广泛应用于工业、农业、
电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,
代替了传统的控制系统的常规电子线路。
抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。
但抢答器的
使用频率较低,且有的要么制作复杂,要么可靠性低。
作为一个单位,如果专门
购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放
使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因
此设计了本抢答器。
本设计是以三路抢答为基本理念。
考虑到依需设定限时回答的功能,利用
AT89S52单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时
和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同
时使数码管能够正确地显示时间。
用开关做键盘输出,扬声器发生提示。
同时系
统能够实现:
在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;
抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满
时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非
法。
关键词:
AT89S52单片机LED数码管抢答器计时
1题目要求1
1.1任务..................................................................1
1.2要求..................................................................1
1.3主要原器件清单及设计要求...............................................1
1.4评分标准..............................................................1
2方案论证22.1主控部分的方案比较....................................................2
2.2显示部分的比较设计....................................................2
2.3抢答器键盘的比较设计...................................................3
3抢答器的系统概述43.1系统的主要功能.........................................................4
3.2系统需求分析..........................................................6
3.3抢答器的工作流程......................................................6
3.4抢答器的工作过程......................................................7
4硬件电路的设计84.1硬件系统整体方案的设计.................................................8
4.2单片机主控电路........................................................9
4.3时钟频率电路的设计.....................................................9
4.4复位电路的设计.........................................................10
4.5显示电路的设计.........................................................11
4.6键盘扫描电路的设计.....................................................12
4.7发声电路...............................................................15
4.8发光二极管成功抢答提示、犯规提示电路...................................16
4.9系统复位...............................................................16
5软件的设计185.1程序流程图.............................................................19
5.2
主要程序分析..........................................................20
6发挥部分说明20
测试说明..........................................................................................................................................218PROTUES仿真系列组图..................................................................................................................228.1复位图.................................................................237
8.2设置计时时间...........................................................22
8.3非法抢答并显示座号.....................................................23
8.4抢答成功并显示倒计时...................................................23
9设计制作总结..................................................................................................................................23
.
1.1
设计一个简易的三路智能抢答器。
1、基本要求
使用AT89S52单片机设计一个简易的三路智能抢答器,实现抢答、LED显
示等功能。
2、发挥部分
1、具有抢答时间倒计时功能。
2、具有答题时间倒计时功能。
3、具有抢答、答题时间调整功能。
4、具有犯规声音提示功能。
5、具有抢答答题最后五秒声音提示功能。
1、元器件清单:
单片机AT89S52、按键、数码管LED、12M晶振、5v电
池、发光二极管及其它配套元器件。
2、设计要求系统应包括两部分,A部分为输入模块,主要完成按键抢
答功能;B部分为主控模块,主要完成数据采集、抢答判断、显示等功能。
项目满分
设计与总结报告:
理论分析与计算,
系统总体框图、核心电路原理图、主要流
50
程图、程序清单及有关设计文件,测试方基本要求
法与仪器,测试数据及测试结果分析。
实际完成情况50
完成第
(1)项20
发挥部分完成第
(2)项20
其它10
方案一:
用以AT89S52为核心的单片机控制方案,通过相应的程序,并
通过按键来进行电平识别,再由单片机输出相应的程序,并将相应数值通过数
码来显示,运用这个方案来实现题目的要求,其硬件电路的设计简单,编程并
不是很复杂,作品功能的调试只要稍微结合电路,修改一下相应程序即可。
方案二:
采用数字电路实现输出电压的控制方案,用加减计数器,通过加
减键实现加计数或减计数,通过计数器的自动加减,锁存器的锁存显示等。
用
这种方法来实现,其优点是不用编程,但其不足的之处是电路复杂,焊接工程
量大,一旦焊接错误,就会给检查硬件带来很大的麻烦,而且调试也相对麻烦。
通过比较发现,用单片机来制作的抢答器,硬件电路比较简单,容易明白,
且成本相对较低;而用数电芯片来制作的抢答器,电路相对比较复杂,,成本
相对较高。
综合考滤,最终选择方案一。
方案一:
使用液晶屏显示时间。
液晶显示屏(LCD)具有轻薄短小、低耗
电量、无辐射危险,平面直角显示以及影像稳定不闪烁等优势,可视面积大,
画面效果好,分辨率高,抗干扰能力强的特点。
但由于只需要显示时间和转向、
相数这样的数字,信息量比较少,且由于液晶是以点阵的模式显示各种符号,
需要利用控制芯片创建字符库,编程工作量大,控制器的资源占用较多,其成
本也偏高。
在使用时,不能有静电干扰,否则易烧坏液晶显示芯片,不易维护。
方案二:
在使用传统的数码管显示。
数码管具有:
低能耗、低损耗、低压、
寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易
于维护,同时其精度高,称量快,精确可靠,操作简单。
数码显示是采用BCD编码显示数字,程序编译容易,资源占用较少。
综合考虑,最终选择方案二
键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。
键盘按结构
形式可以分为非编码键盘和编码键盘,前者用软件方法产生键码,而后者则用
硬件方法来产生键码。
在单片机中使用的都是非编码键盘,因为非编码键盘结
构简单,成本低廉,非编码键盘的类型很多,常用的有独立式键盘,行列式键
盘等。
键盘接口中使用多少根I/O线,键盘中就有几个按键,键盘接口使用了8根I/O口线,该键盘就有8个按键,这种类型的键盘,其按键比较少,且键盘
中各按键的工作互不干扰。
因此可以根据实际0需要对键盘中的按键灵活的编码。
如图1。
1
最简单的编码方式就是根据I/O输入口所2直接反映的相应按键,按下的状态进行编码,3
4称按键直接状态码,对于这样编码的独立式键P1
5盘,CPU可以通过直接读取I/O口的状态来获
6取按键的直接状态编码值,根据这个值直接进
7行按键识别,这样形式的键盘结构简单,按键
识别容易。
独立式键盘独立式键盘的缺点是需要占用比较多的I/O口线,当单片机应用系统键盘
图1中需要的按键比较少或I/O口线比较富余时,可以采用这样类型的键盘。
行列式键盘是用N条I/O线作为行线,M条I/O线作为列线组成的键盘,
在行线和列线的每个交叉点上,设置一个按键中按键的个数是M*N个。
这种形式的键盘结构,能够有效的提高单片机系统中I/O的利用率,列线接P1.0~P1.3行线接P1.4~P1.7,行列适用于按键输入多的情况。
CPU对键盘的扫描可以采用取程序控制的随机方式,即只有在CPU空闲是时才去扫描键盘,响应操作人员的键盘输入,但CPU在执行应用程序的过程中,
不能响应键盘输入,对键盘的扫描可以采用定时方式,即利用单片机内部定时
器每隔一定时间对键盘扫描一次,这样控制方式,不管键盘上有无键闭合,CPU
总是定时的关心键盘状态。
在大多数情况下,CPU对键盘
P1.0P1.1可能进行空扫描。
为了提高CPU的P1.2P1.33210效率而又能及时响应键盘输入,可P1.4P1.5P1.6以采用中断方式,既CPU平时不必7654P1.7扫描键盘,只要当键盘上有键盘闭BA98
合时就产生中断请求,向CPU申请FEDC
中断后,立即对键盘上有键盘进性
行列式键盘扫描,识别闭合键,并做相应的处理。
根据以上的论述,采用方案一,在本系统中采用了独立式键盘,其按键比
较少,且键盘中各个按键的工作互不干扰。
本系统是借用单片机采用模块化设计的三路抢答器,包括三路抢答按纽、
计时显示、提示功能等(根据需要可另设或多设相关功能)、开始与结束控制
按钮、时限设定、各种相关显示调控功能等(根据需要也可另设或多设相关功
能)。
参赛者系统,除享有抢答按纽的权利功能外,还有人性化的时间提示功能;
主控系统的控制按钮做开始与结束控制;设有非法抢答控制功能时,在主控处
带有公示性显示的非法抢答者的台位号并闪烁;设有抢答和答题时间倒计时功
能,并有显示提示。
系统的主要功能模块方框图如图2所示。
时钟
4位复位电路AT89S52七段
数码开始、结束管显
按键输入示单
片=加一、减一机按键输入声
音
电
路
3路抢答
按键输入
图2系统主要功能模块
本系统采用模块化设计的三路抢答器,在抢答比赛中广泛应用,各组分别
有一个抢答按钮。
一共有3个按键输入,分别对应3路选手的抢答按键。
主持人有开始和结束键。
在后台主持人可以修改,抢答时间和选手回答问
题的时间设置,原始状态下抢答时间为20s,回答问题时间为30s。
通过加键和减键修改上述时间,改完后结束键确定。
新时间开始有效,主持人按键开始
后,选手开始抢答为有效,数码显示屏显示答题时间倒计时和选手号,选手面
前的发光二极管亮,在最后五秒扬声器发生提示。
如果主持人没有按下开始键
而选手就抢答视为犯规,数码显示屏显示犯规者的代号,扬声器持续发生,选
手前面的发光二极管闪烁,主持人可按键结束,新一轮抢答开始。
单片机是整个抢答器的核心,内部电路设计用汇编语言编写。
它完成了时
间参数的设定,按键号码的译码、保存、显示、输出、抢按及答题倒计时功能
等。
本设计中,有一个共阴的数码管组,四个数码管。
其中两个显示时间,一
个空位,一个显示抢答号码。
主持人依次按下复位键(RESET),开始键后开始抢答,超时数码管显示“FFF”。
若有选手在规定时间内抢按成功,则可以
答题,数码管显示抢答时间倒计时的同时也显示选手号码。
若在按开始键前抢
答表示违规,数码管闪烁“FF”和选手号码。
1、在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效。
2、抢答限定时间和回答问题的时间可以在1~99s设定。
3、可以显示是哪位选手有效抢答和无效抢答,正确按键后有声音提示。
4、抢答时间和回答问题时间倒记时显示,时间完后系统自动复位。
5、抢答限定时间内使用锦囊回答时间将加到60s。
6、按键锁定,在有效状态下,按键无效非法。
抢答器的基本工作原理:
在抢答时,有多个信号同时或不同时送入主电路
中,抢答器内部的寄存器工作,并识别、记录第一个号码,同时内部的定时器
开始工作,记录有关时间并产生超时信号。
在整个抢答器工作过程中,显示电
路、声音电路等还要根据现场的实际情况向外电路输出相应信号。
抢答器的工
作流程分为:
系统复位、正常流程、违例流程等几部分,如图3所示,下面分别予以介绍。
加载程序
运行
正常流程违规流程
行
开始开始前有选手抢按
开始数码管显显示违例选手号
示FFF开始抢码并伴有声音报
按时间倒计时警
倒计时结有选手束,超时抢按
显示FFF显示选手号码,倒计
时时间,答题时间倒计
时,最后五秒声音报警
答题完毕若超过答题
时间,则数
码管显示FFF
根据选手表现,规
则由主持人减分
图3抢答器工作流程
1、如果想调节抢答时间或答题时间,按“加一”键或“减一”键进入调
节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下"
加1s"键,如果想减一秒按一下“减1s”键,时间LED上会显示改变后的时间,
调整范围为0~99s,0s时再减1s会跳到99,99s时再加1s会变到0s。
2、主持人按"抢答开始"键,会有提示音,并立刻进入抢答倒计时(预设
20s抢答时间),如有选手抢答,会有提示音,并会显示其号数并点亮对应选手
的发光二极管,系统立刻进入答题倒计时(预设30s抢答时间),不进行抢答
查询,所以只有第一个按抢答的选手有效。
倒数时间到小于5s会每秒响一下提示音。
3、如倒计时期间,主持人想停止倒计时可以随时按“停止”按键,系统
会自动进入准备状态,等待主持人按“抢答开始”进入下次抢答计时。
4、如果主持人未按“抢答开始”键,而有人按了抢答按键,犯规抢答,
LED上不断闪烁FF和犯规号数、扬声器发出嘟嘟声、对应选手的指示灯闪烁,
直到按下“停止”键为止。
总而言之,本课题利用AT89S52单片机及外围接口实现的抢答系统设计
了抢答器,该抢答器增加了新功能、提高了系统的可靠性、简化了电路结构、
节约了成本,是一个实用的工程设计。
本系统采用AT89S52单片机作为控制核心,对按键开关送来的信号进行
分析处理,最终控制数码管显示相应的数值。
本系统主要的单元电路有单片机
主控电路、键盘控制电路、LED显示电路模块、声控模块等。
抢答器同时供3名选手或3个代表队比赛,分别用3个按钮S1—S3表示。
设置一个系统复位
和抢答开始停止按钮,该按钮由主持人控制。
抢答器具有锁存与显示功能。
即
选手按动按钮,锁存相应的编号,并在LED数码管上显示。
选手抢答实行优
先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
通过对整个电路部分的比较设计,得出整体系统如图4所示。
扬声器报警指示LED数码显示
单片机主控
电路键盘扫描电路驱动电路
图4
主控电路以单片机最小系统为的接口电路部分,最小系统图作为单片机主控电路工作
的基础包括了时钟电路、复位电路等。
主控电路中P0、P2口控制驱动LED段码,P1键盘扫描及发光二极管控制,P3接口作为开始、停止、时间调整等的输入端口。
单片机必须在时钟的驱动下才能工作。
在单片机内部有一个时钟振荡电
路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单
元,决定单片机的工作速度。
时钟电路如图5所示。
图5外部振荡源电路
一般选用石英晶体振荡器。
此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英
晶振的频率确定。
电路中两个电容C1,C2的作用有两个:
一是帮助振荡器起
振;二是对振荡器的频率进行微调。
C1,C2的典型值为20PF。
单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑
单元的时钟信号的周期称为时钟周期。
其大小是时钟信号频率的倒数,常用
f
表示。
图中时钟频率为12MHz,即f=12MHz,则时钟周期为1/12µs。
oscosc
单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如
图6所示:
图6复位电路
图6中由按键RESET1以及电解电容C3、电阻R2构成按键及上电复位电
路。
由于单片机是高电平复位,所以当按键RESET1按下时候,单片机的9脚RESET管脚处于高电平,此时单片机处于复位状态。
当上电后,由于电容的缓
慢充电,单片机的9脚电压逐步由高向低转化,经过一段时间后,单片机的9脚处于稳定的低电平状态,此时单片机上电复位完毕,系统程序从0000H开始执行。
值得注意的是,在设计当中使用到了硬件复位和软件复位两种功能,由上
面的硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,而前面
的功能介绍中提到了倒计时时间的记忆功能,该功能的实现的前提条件就是不
能对单片机进行硬件复位,所以设定了软复位功能。
软复位实际上就是当程序
执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地
址。
我们使用的是七段数码管显示,通常在显示上我们采用的方法一般包括两
种:
一种是静态显示,一种是动态显示。
其中静态显示的特点是显示稳定不闪
烁,程序编写简单,但占用端口资源多;动态显示的特点是显示稳定性没静态
好,程序编写复杂,但是相对静态显示而言占用端口资源少。
在本设计中根据
实际情况采用的是动态显示方法。
通过查表法,将其在数码管上显示出来,其中P0口为字型码输入端,P2
口低3位为字选段输入端。
在这里我们通过查表将字型码送给7段数码管显示
的数字,数码管显示原理如下:
MOVA,R3
MOVCA,@A+DPTR
MOVP2,#0feH
MOVP0,A
ACALLDELAY
MOVDPTR,#DAT2
MOVA,R5
MOVCA,@A+DPTR
MOVP2,#0fdH
MOVP0,A
ACALLDELAY
MOVA,R4
MOVCA,@A+DPTR
MOVP2,#0fbH
MOVP0,A
ACALLDELAY
RET
4位七段数码管显示电路如图7所示。
图7共阴极数码管
图7中数码管采用的是4位七段共阴数码管,其中A~H段分别接到单片机的P0口,由单片机输出的P0口数据来决定段码值,位选码COM1、COM3、COM4
分别接到单片机的P2.0、P2.1、P2.2,由单片机来决定当前该显示的是哪一
位。
在图中还有八个1K的电阻,连接在P0口上,用作P0口的上拉电阻,保证P0口没有数据输出时候处于高电平状态。
在本文设计中采用了独立键盘的方式,本设计中有3个抢答按键输入,一个开始按键、一个结束按键,此外还有抢答时间调整键、回答时间调整键,加
一按键、减一按键各一个。
如图8所示。
图8抢答按键及调整按键
在图8中3个抢答按键分别接入单片机的P1.0~P1.2端口,单片机通过读取P1.0~P1.2的值来判断当前输入的是3个抢答按键中的哪一个。
抢答时间调
整和回答时间调整接到单片机的P3.3和P3.4接口,加一及减一按键接到单片机的P3.5和P3.6接口。
图9开始、结束按键
在图9中,开始及结束按键接到单片机的10、11脚,这里用到了单片机10、11脚复合功能中的IO端口功能,单片机通过读取10、11脚的P3.0、P3.1的IO端口值来判断当前是否处于抢答开始状态或抢答结束状态。
按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定
的,如不妥善处理,将会引起按键命令的错误执行或重复执行。
现在一般均用
软件延时的方法来避开抖动阶段,这一延时过程一般大于5ms,例如取10-20ms。
如果监控程序中的读键操作安排在主程序(后台程序)或键盘中断
(外部中断)子程序中,则该延时子程序便可直接插入读键过程中。
如果读键
过程安排在定时中断子程序中,就可省去专门的延时子程序,利用两次定时中
断的时间间隔来完成抖动处理。
K1~K3三个按键的输入电平靠74HC21改变输入电平。
图10中电路就是由一个74HC21构成的改变电平的电路。
图10改变电平电路
我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单
片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形
波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”