基于单片机抢答器设计报告

上传人:第*** 文档编号:61593295 上传时间:2018-12-05 格式:DOC 页数:24 大小:900KB
返回 下载 相关 举报
基于单片机抢答器设计报告_第1页
第1页 / 共24页
基于单片机抢答器设计报告_第2页
第2页 / 共24页
基于单片机抢答器设计报告_第3页
第3页 / 共24页
基于单片机抢答器设计报告_第4页
第4页 / 共24页
基于单片机抢答器设计报告_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《基于单片机抢答器设计报告》由会员分享,可在线阅读,更多相关《基于单片机抢答器设计报告(24页珍藏版)》请在金锄头文库上搜索。

1、 XINYU UNIVERSITY课程设计报告题 目 基于单片机的抢答器设计 二级学院 专 业 班级学号 学生姓名 指导教师 目录一 设计任务及要求4二 方案设计5三 硬件电路设计6-9四 软件设计10-21五 设计总结22六 参考文献23摘 要 抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。 本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功

2、能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法.一、设计任务与要求一、题目:八路抢答器二、基本要求:利用AT89C51单片机中断系统,

3、制作一个有8个按键的比赛抢答器。在有人按键时进行对应选手显示三、设计任务:1设计硬件电路,画出电路原理图; 2画出程序流程图; 3编制程序,写出源程序代码; 4写出5000字的详细说明书,要求字迹工整,原理叙述正确,会计算主要元器件的一些参数,并选择元器件; 5个人总结四、参考资料:1. 教材;2单片机实验指导书二、方案设计方案:该系统采用51系列单片机AT89C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和

4、更改。MCS-51单片机特点如下: 可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。 控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。其原里框图如:三、硬件电路设计1、 抢答器的电路框图如图1所示为电路框图。其工作原理为:接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置,“开始”状态,宣布“开

5、始”抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作开始、停止状态开关。置,“开始”状态,宣布“开始”抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作“开始、停止”状态开关.图2抢答电路的接口电路2、单元电路设计(1)抢答器电路参考电路如图2所示。该电路完成两

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

7、时间的记忆功能,所以不能对单片机进行硬件复位,只能用软件复位,软件复位实际上就是当程序执行完之后,将程序通过一条跳转指令让它完成复位。复位电路如图3所示:图3复位电路图图4时钟震荡电路图3、时钟震荡电路时钟震荡电路单片机必须在AT89C51的驱动下才能工作,在单片机内部有一个时钟震荡电路,只需要外接一个振荡器就能产生一定的时钟信号送到单片机内部的各个单元,时钟震荡电路如图4所示。4、报警电路设计报警电路用于报警,当遇到报警信号时,发出警报。一般喇叭是一种电感性图5报警电路图。8951驱动喇叭的信号为各种频率的脉冲。因此,最简单的喇叭驱动方式就是利用达林顿晶体管,或者以两个常用的小晶体管连接成达

8、林顿架势。在右图中电阻R为限流电阻,在此利用晶体管的高电流增益,以达到电路快速饱和的目的。不过,如果要由P0输出到此电路,还需要连接一个10K的上拉电阻。 选手在设定的时间内抢答时,实现:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次作清除和开始状态开关。.图5报警电路图四、软件设计1、系统主程序设计为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必须先设定抢答的时间,因而在编开始抢答前的程序得先编写设定时间的程序,当时间设好了之后,主持人发布抢答命令按下P1.7按键,程序开始打开定时中断开始

9、倒计时,然后调用键盘扫描子程序,编写键盘扫描程序。当在扫描到有人按下了答题键,马上关闭T0、调用显示程序、封锁键盘。主程序流程图2、主程序清单OK EQU 20H;抢答开始标志位RING EQU 22H;响铃标志位ORG 0000HAJMP MAIN ORG 0003HAJMP INT0SUBORG 000BHAJMP T0INT ORG 0013H AJMP INT1SUBORG 001BH AJMP T1INTORG 0040HMAIN: MOV R1,#30;初设抢答时间为30sMOV R2,#60;初设答题时间为60s MOV TMOD,#11H;设置未定时器/模式1 MOV TH0,

10、#0F0H MOV TL0,#0FFH;越高发声频率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H;50ms为一次溢出中断SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1;允许四个中断,T0/T1/INT0/INT1 CLR OK CLR RING SETB TR1SETB TR0;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了;=查询程序=START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY;未开始抢答时候显示FFF JB P3.0,NEXT;

11、ddddddd ACALL DELAY JB P3.0,NEXT;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询ACALL BARK;按键发声 MOV A,R1 MOV R6,A;送R1-R6,因为R1中保存了抢答时间 SETB OK;抢答标志位,用于COUNT只程序中判断是否查询抢答 MOV R7,#01H 读抢答键数据信号标志,这里表示只读一次有用信号 MOV R3,#0AH;抢答只显示计时,灭号数 AJMP COUNT;进入倒计时程序,查询有效抢答的程序在COUNT里面 NEXT: JNB P1.0,FALSE1 JNB P1.1,FALSE2 JNB P1.2,FALSE3 J

12、NB P1.3,FALSE4 JNB P1.4,FALSE5 JNB P1.5,FALSE6 JNB P1.6,FALSE7 JNB P1.7,FALSE8AJMP START;=非法抢答处理程序=FALSE1: MOV R3,#01H AJMP ERROR FALSE2: MOV R3,#02H AJMP ERROR FALSE3: MOV R3,#03H AJMP ERROR FALSE4: MOV R3,#04H AJMP ERROR FALSE5: MOV R3,#05H AJMP ERROR FALSE6: MOV R3,#06H AJMP ERRORFALSE7: MOV R3,#

13、07HAJMP ERRORFALSE8: MOV R3,#08H AJMP ERROR;=INT0(抢答时间R1调整程序)= INT0SUB:MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY;先在两个时间LED上显示R1JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCO JNB P3.5,DEC0;P3.5为-1s键,如按下跳到DECO JNB P3.1,BACK0;P3.1为确定键,如按下跳到BACKO AJMP INT0SUB INC0: MOV A,R1 CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。MOV R1,#00H ACALL DELAY1 AJMP INT0SUB ADD0: INC R1 ACALL DELAY1AJMP INT0SUB DEC0: MOV A,R1 JZ SETR1;如果R1为0, R1就置99, DEC R1ACALL DELAY1 AJMP INT0SUB SETR1: MOV R1,#63HACALL DELAY1

展开阅读全文
相关资源
相关搜索

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

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号