收藏 分享(赏)

单片机原理与接口技术八路抢答器设计.docx

上传人:dreamzhangning 文档编号:2302951 上传时间:2018-09-10 格式:DOCX 页数:14 大小:411.04KB
下载 相关 举报
单片机原理与接口技术八路抢答器设计.docx_第1页
第1页 / 共14页
单片机原理与接口技术八路抢答器设计.docx_第2页
第2页 / 共14页
单片机原理与接口技术八路抢答器设计.docx_第3页
第3页 / 共14页
单片机原理与接口技术八路抢答器设计.docx_第4页
第4页 / 共14页
单片机原理与接口技术八路抢答器设计.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、 单 片 机 原 理 与 接 口 技 术 课程设计报告班级:电子信息工程 07-2 班学号:07100637姓名:王晓萱同组人:吴杰、蔚金昌八路抢答器设计第 1 节 引 言当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那么也就必然离不开抢答器。而现在的抢答器有着数字化,智能化的方向发展,这就必然提高了抢答器的成本。鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。本抢答器通过十分巧妙的设计仅用两块数字芯片便实现了数显抢答的功能,与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点,并且还有防作弊功能。因此,我们制作了这款简

2、易八路抢答器屏弃了成本高,体积大,而且操作复杂。我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,因而本抢答器具有显示直观,不需要人干预的特点。而且在显示时抢答器会发出叮咚声使效果更为生动。工厂、学校和电视台等单位常举办各种智力竞赛, 抢答记分器是必要设备。1.1 八路抢答器的概述本人设计的八路数显抢答器具有电路简单、操作方便、灵敏可靠等优点,经使用效果良好的抢答器,它由 8 个发射器和 1 个接收器组成,可用于 8 组或 8 组以下的智力竞赛中。比赛前,将参赛组从 0 至 7 编号,每组发给对应的一个发射器。将接收器放于各组中央或前方。主持人按一下启动键后,抢答开始。此后

3、,哪一组最先按下发射器上的抢答键,接收器就立即显示该组的组号并锁定,同时发出 3 次清脆的“叮咚” 声。以后,按下任何一路抢答键均不起反映。只有主持人再次按动启动键后,才能进行下一次抢答该电路由直流稳压电源、抢答器、倒计时报警与电子计分四部分组成。1.2 本设计任务及要求任务要求:根据现有的 XL400 实验板的电路与原理设计抢答器电路图,电路要求有 4 位LED 数码管和 8 个输入按键和一个小喇叭。4 位数码管输出显示信息,喇叭输出声音提示信息,8 个按键作为选手的抢答控制或其它复用控制。1.3 系统主要功能(1)系统运行初始状态是显示你的最后 3 位学号(2V)按主持人按键,响铃提示进入

4、显示抢答题 30 秒倒计时。A30 秒期间选手选题,显示选手号和进入 60s 答题倒计时,0s 响铃结束,显示开始状态的学号。B 30 秒期间选手不选题,则 0s 响铃结束,显示开始状态的学号。第 2 节 系统硬件设计2.1 芯片的选择本设计使用到的元器件包括:AT89C51 芯片、数码 LED 显示器、七段 LED 数码管的译码。其中 AT89C51 是系统的核心,它主要负责控制各个部分的协调工作。在其外围接上复位电路,上拉电阻,数码管,按钮以及振荡器。P1.7 为开始停止键,p1.0-p1.7 为八路抢答输入 数码管段选 P0 口,位选 P2 口,蜂鸣器输出为 P3.3 口。2.2 工作原

5、理基于这个设计的上述要求,根据功能要求,须设计有抢答电路、译码显示电路、主持人控制电路、定时电路、报警电路,各个电路都有其自己的功能。通过复位按键 FW,电路进入就绪状态,等待抢答。然后再由主持人发布抢答命令(按下 P1.7 按键)同时发光二极管随即变亮,当看到二极管亮,进入倒计时状态和抢答状态。在电路中“1-8”为 8 路抢答器的 8 个按键,如果有人按下按键,程序就会判断是谁先按下的,然后从 P2 口输出抢答者号码的七段码值,经 GAL16V8 驱动,送到码管显示,并封锁键盘,保持刚才按键按下时刻的时间,禁止其他人按键的输入,从而实现了抢答的功能。如果在设定的时间中没有一个人按下按键,一到

6、时间,则产生报警信号已经超时,不可以抢答。当要进行下一次的抢答时,由主持人先按一下复位按键P1.7,电路复位,进入下一次抢答的就绪状态。AT89C51 的管脚图如下示:2.3 系统的硬件构成及功能2.3.1 抢答器的电路框图如图 11.1 所示为电路框图。其工作原理为:接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置,“开始”状态,宣布“开始”抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果

7、再次抢答必须由主持人再次操作“开始、停止“状态开关。2.3 系统的硬件构成及功能2.3.1 抢答器的电路框图如图 11.1 所示为电路框图。其工作原理为:接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置,“开始”状态,宣布“开始”抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作“开始、停止”状态开关。图 11.1 抢答器框图图 11.2 抢答电路的接口电路2.3.

8、2 单元电路设计(1)抢答器电路参考电路如图 11.2 所示。该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。如有再次抢答需由主持人将 S 开关重新置 ,“清除”然后再进行下一次抢答。(2)时序控制电路设计时序控制电路是抢答器设计的关键,它要完成以下功能:a.主持人将控制开关拨到“ 开始“ 位置时,扬声器发声,抢答电路和定时电路进人正常抢答工作状态。 b.当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路停止工作。(3)复位电路的设计外部中断和内部中断并存,单片机硬件复位端,只要持续 4 个机器周期的高电平即可实

9、现复位,硬件复位后的各状态可知寄存器以及存储器的值都恢复到了初始值,因为本设计中功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位,只能用软件复位,软件复位实际上就是当程序执行完之后,将程序通过一条跳转指令让它完成复位。复位电路如下图示:2.3.3 外部震荡电路外部震荡电路单片机必须在 AT89C51 的驱动下才能工作,在单片机内部有一个时钟震荡电路,只需要外接一个振荡器就能产生一定的时钟信号送到单片机内部的各个单元,外部震荡电路如下图。2.3.4 报警电路设计报警电路用于报警,当遇到报警信号时,发出警报。一般喇叭是一种电感性图 11.4 报警电路图。8951 驱动喇叭的信号为各种频率

10、的脉冲。因此,最简单的喇叭驱动方式就是利用达林顿晶体管,或者以两个常用的小晶体管连接成达林顿架势。在右图中电阻 R 为限流电阻,在此利用晶体管的高电流增益,以达到电路快速饱和的目的。不过,如果要由 P0 输出到此电路,还需要连接一个 10K 的上拉电阻。选手在设定的时间内抢答时,实现:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次*作“清除“和“开始“状态开关。图面是数字抢答器的报警电路图。其中 555 构成多谐振荡器,振荡频率 fo1.43/(RI 2R2)C,其输出信号经三极管推动扬声器。PR 为控制信号

11、,当 PR 为高电平时,多谐振荡器工作,反之,电路停振。第 3 节 系统软件设计3.1 系统主程序设计为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必须先设定抢答的时间,因而在编开始抢答前的程序得先编写设定时间的程序,当时间设好了之后,主持人发布抢答命令按下 P1.7 按键,程序开始打开定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序。当在扫描到有人按下了答题键,马上关闭 T0、调用显示程序、封锁键盘。(1) 主程序流程图主程序设置抢答时间和回答问题时间定时器及并行口初始化将时间计数器及启动标志值 1开中断采并行口数据为 0 吗?启动标志=1 吗?判断抢答组号将抢

12、答组发光二极管点亮判断哪一组为抢答组将抢答组号送显示抢答时间到了吗?输出响铃信号提示超时继续抢答比赛吗?系统返回N YYYNYN(2)主程序清单OK EQU 20H;抢答开始标志位RING EQU 22H;响铃标志位ORG 0000HAJMP MAINORG 000BHAJMP T0INTORG 001BHAJMP T1INTORG 0040HMAIN: MOV R1,#30;初设抢答时间为 30sMOV R2,#60;初设答题时间为 60sMOV TMOD,#11H;设置未定时器/模式 1MOV TH0,#0F0HMOV TL0,#0FFH;越高发声频率越高,越尖MOV TH1,#3CHMO

13、V TL1,#0B0H;50ms 为一次溢出中断SETB EASETB ET0SETB ET1SETB EX0SETB EX1;允许四个中断,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0;一开始就运行定时器,以开始显示 103.如果想重新计数,重置 TH1/TL1 就可以了;=查询程序=START: MOV R5,#00HMOV R4,#03HMOV R3,#02HACALL DISPLAY;未开始抢答时候显示学号 637JB P1.7,STARTACALL BARK;按键发声MOV A,R1MOV R6,ASETB OK ;抢答标志位,用于 CO

14、UNT 只程序中判断是否查询抢答MOV R7,#01H ;读抢答键数据信号标志 MOV R3,#0AH;抢答只显示计时,灭号数AJMP COUNT;进入倒计时程序,; 倒计时程序( 抢答倒计时和回答倒计时都跳到改程序)=COUNT: MOV R0,#00H;重置定时器中断次数MOV TH1,#3CHMOV TL1,#0B0H;重置定时器RECOUNT:MOV A,R6;R6 保存了倒计时的时间,之前先将抢答时间或回答时间给 R6MOV B,#0AHDIV AB;除十分出个位/十位MOV 30H,A;十位存于(30H)MOV 31H,B;个位存于 (31H)MOV R5,30H;取十位MOV R

15、4,31H;取个位MOV A,R6SUBB A,#07HJNC LARGER;大于 5s 跳到 LARGER,小于等于 5s 会提醒MOV A,R0CJNE A,#0AH,FULL;1s 中 0.5s 向下运行CLR RING AJMP CHECKFULL: CJNE A,#14H,CHECK;下面是 1s 的情况,响并显示号数并清 R0,重新计SETB RINGMOV A,R6JZ QUIT;计时完毕MOV R0,#00HDEC R6;一秒标志减 1LARGER: MOV A,R0CJNE A,#14H,CHECK;如果 1s 向下运行,否者跳到查“停 /显示“DEC R6;计时一秒 R6

16、自动减 1MOV R0,#00HCHECK: JNB P3.1,QUIT;如按下停止键退出;JNB OK,CHECKK ;只在回答倒计时才有效AJMP NEXTTNEXTT: ACALL DISPLAYJB OK,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用 )AJMP RECOUNTACCOUT:MOV A,36HJNB ACC.0,TRUE1JNB ACC.1,TRUE2JNB ACC.2,TRUE3JNB ACC.3,TRUE4JNB ACC.4,TRUE5JNB ACC.5,TRUE6JNB ACC.6,TZ1JNB ACC.7,TZ2AJM

17、P RECOUNTTZ1:JMP TRUE7TZ2:JMP TRUE8 QUIT: CLR OK;如果按下了“停止键“执行的程序CLR RINGAJMP STARTTRUE1: ACALL BARKMOV A,R2MOV R6,A;抢答时间 R2 送 R6MOV R3,#01HCLR OK;因为答题的计时不再查询抢答,所以就锁了抢答AJMP COUNTTRUE2:ACALL BARKMOV A,R2MOV R6,AMOV R3,#02HCLR OKAJMP COUNTTRUE3:ACALL BARKMOV A,R2MOV R6,AMOV R3,#03HCLR OKAJMP COUNTTRUE4

18、:ACALL BARKMOV A,R2MOV R6,AMOV R3,#04HCLR OKAJMP COUNTTRUE5:ACALL BARK MOV A,R2MOV R6,AMOV R3,#05HCLR OKAJMP COUNTTRUE6: ACALL BARK MOV A,R2MOV R6,AMOV R3,#06HCLR OKAJMP COUNTTRUE7:ACALL BARK MOV A,R2MOV R6,AMOV R3,#07HCLR OKAJMP COUNTTRUE8:ACALL BARK MOV A,R2MOV R6,AMOV R3,#08HCLR OKAJMP COUNT;=显示程

19、序=DISPLAY:MOV DPTR,#TAB1;查表显示程序,利用P0 口做段选码口输出/P2 低三位做位选码输出,MOV A,R3MOVC A,A+DPTRMOV P2,#0feHMOV P0,AACALL DELAY2MOV DPTR,#TAB2MOV A,R5MOVC A,A+DPTRMOV P2,#0fdHMOV P0,AACALL DELAY2MOV A,R4MOVC A,A+DPTRMOV P2,#0fbHMOV P0,AACALL DELAY2RETDELAY1: MOV 35H,#08HLOOP0: ACALL DISPLAYDJNZ 35H,LOOP0RET;=延时 423

20、6 个机器周期 DELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1DJNZ 32H,LOOPRET;=延时 4236 个机器周期( 显示用到)=DELAY2: MOV 32H,#43HLOOP3: MOV 33H,#1EHMOV A,R7 ;每隔 6070 个机器周期读一次 P1 口,全为 1 时为无效数据,继续读,有一个不为 1 时,转到正常抢答处理JNZ AAAA1 ;没读到有效数据时继续转到 AAAA1LOOP2: DJNZ 33H,LOOP2DJNZ 32H,LOOP3RET;响铃程序T0INT: MOV TH0,#0

21、ECHMOV TL0,#0FFHJNB RING,OUTCPL P3.3;RING 标志位为 1 时候 P.6 口不短取反使喇叭发出一定频率的声音OUT: RETI;=T1 溢出中断 (计时程序)=T1INT: MOV TH1,#3CHMOV TL1,#0B0HINC R0RETITAB1: DB 0FFh,7eh,0a2h,62h,74h,61h,21h,7ah,20h,60h,0FFH;TAB2:DB 28h,7eh,0a2h,62h,74h,61h,21h,7ah,20h,60h,0FFHEND第 4 节 系统软件仿真4.1 用到了 keil 软件仿真,界面如下:4.2Proteus 仿

22、真做好的 Proteus 仿真图如下:课程设计体会:拿到这次课程设计的题目,感觉太繁杂了,不知怎么下手,虽然这些知识以前都有接触过,但也只是一小部分,而这次的设计是要对前面几次实验的一个综合,真的很难。也翻阅了一些资料,发现不行,自己检查了好久好久,但还是发现不了问题,之后问了同学,才知是我把段码搞错了。通过运用单片机设计八路抢答器程设计,发现自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。在这个过程中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。特别是 Proteus 仿真软件的使用,不知是由于电脑的问题还是怎么,这个软件的

23、安装就花了我很长的时间,好不容易安装好了,又对软件的使用一点都不熟悉,要从头开始学起,刚刚开始时候真的很难下手,因为是英文版的软件,很多东西都看不太明白,都是通过自己一个个来慢慢琢磨,才把仿真图画了出来。虽然这只是一次的较简单的课程制作,可是也耗费了我不少的心血。通过这次课程设计,我想说:为完成这次课程设计我们确实很辛苦,但苦中仍有乐,和同学们相互帮助,我感觉我和同学们之间的距离更加近了。这次学习给我留下了深刻的印象,使我受益匪浅。而且对于论文的总体构思也有了很多经验,相信自己经过这一次的训练与学习,对于今后会更加努力,做得最好。对我而言,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报