课程设计(论文)题目名称简易四路抢答器设计课程名称单片机原理及应用学生姓名瞿永学号**********系、专业电气工程系测控类指导教师杨波2010年7 月1 日邵阳学院课程设计(论文)评阅表学生姓名瞿永学号0841229144 系别电气工程系专业班级08电本二班题目名称简易四路抢答器课程名称单片机原理及应用二、指导教师评定目录摘要 (4)一,设计任务与要求 (4)二,方案设计与论证 (4)三,硬件电路设计 (5)四,软件设计 (8)五,器件选型方案 (21)六,调试: (22)七,结论与心得 (22)八,参考文献 (23)单片机四路抢答器设计摘要抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。
但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。
作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。
本设计是以四路抢答为基本理念。
考虑到依需设定限时回答的功能,利用AT49C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。
用开关做键盘输出,扬声器发生提示。
同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。
一,设计任务与要求1、抢答器同时供4名选手或4个代表队比赛,分别用4个按钮S0 ~ S3表示。
2、设置一个系统清除和抢答控制开关S,该开关由主持人控制。
3、抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
4、参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号并保持到主持人将系统清除为止。
二,方案设计与论证方案:该系统采用51系列单片机AT49C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。
由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。
整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。
MCS-51单片机特点如下:<1>可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。
<2>单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。
<3> 控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。
其原理框图如下:三,硬件电路设计1、抢答器的电路框图如图11、1所示为电路框图。
其工作原理为:接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置,“开始”状态,宣布“开始”抢答器工作。
定时器倒计时,扬声器给出声响提示。
选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。
当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。
如果再次抢答必须由主持人再次操作"开始、停止"状态开关。
抢答器框图图11.2抢答电路的接口电路如图11、1所示为电路框图。
其工作原理为:接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置,“开始”状态,宣布“开始”抢答器工作。
扬声器给出声响提示。
抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。
当一轮抢答之后,定时器停止、禁止二次抢答。
如果再次抢答必须由主持人再次操作“开始、停止”状态开关。
2、单元电路设计(1)抢答器电路参考电路如图11.2所示。
该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。
如有再次抢答需由主持人将S开关重新置,“清除”然后再进行下一次抢答。
(2)时序控制电路设计时序控制电路是抢答器设计的关键,它要完成以下功能:a.主持人将控制开关拨到"开始"位置时,扬声器发声,抢答电路进人正常抢答工作状态。
b.当参赛选手按动抢答键时,扬声器发声,抢答电路停止工作。
(3)复位电路的设计外部中断和内部中断并存,单片机硬件复位端,只要持续4个机器周期的高电平即可实现复位,硬件复位后的各状态可知寄存器以及存储器的值都恢复到了初始值,因为本设计中功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位,只能用软件复位,软件复位实际上就是当程序执行完之后,将程序通过一条跳转指令让它完成复位。
复位电路如下图示:2.3.3外部震荡电路外部震荡电路单片机必须在AT49C51的驱动下才能工作,在单片机内部有一个时钟震荡电路,只需要外接一个振荡器就能产生一定的时钟信号送到单片机内部的各个单元,外部震荡电路如下图。
2.3.4报警电路设计报警电路用于报警,当遇到报警信号时,发出警报。
一般喇叭是一种电感性图11.4报警电路图。
4951驱动喇叭的信号为各种频率的脉冲。
因此,最简单的喇叭驱动方式就是利用达林顿晶体管,或者以两个常用的小晶体管连接成达林顿架势。
在右图中电阻R为限流电阻,在此利用晶体管的高电流增益,以达到电路快速饱和的目的。
不过,如果要由P0输出到此电路,还需要连接一个10K的上拉电阻。
选手在设定的时间内抢答时,实现:优先判断、编号锁存、编号显示、扬声器提示。
当一轮抢答之后,定时器停止、禁止二次抢答。
如果再次抢答必须由主持人再次*作"清除"和"开始"状态开关。
图面是数字抢答器的报警电路图。
其中555构成多谐振荡器,振荡频率fo=1.43/[(RI+2R2)C],其输出信号经三极管推动扬声器。
PR为控制信号,当PR为高电平时,多谐振荡器工作,反之,电路停振。
四,软件设计1、系统主程序设计为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必须先设定抢答的时间,因而在编开始抢答前的程序得先编写设定时间的程序,当时间设好了之后,主持人发布抢答命令按下P1.7按键,程序开始打开定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序。
当在扫描到有人按下了答题键,马上关闭T0、调用显示程序、封锁键盘。
(1)主程序流程图2、主程序清单ORG 0000HLJMP STARTUP1 ORG 000BHLJMP dingshiORG 001BHLJMP fengmingqiORG 0400Hmain:LCALL initSETB TR0MOV TH0,#0x3C MOV TL0,#P3MOV 0x0E,#0x00 MOV 0x0F,#0x01 MOV 0x10,#0x00 MOV 0x11,#0x01 MOV R3,#0x01 MOV R2,#0x00a12:JB P0.0,a1MOV 0x0E,#0x00 MOV 0x0F,#0x01 MOV 0x10,#0x00 MOV 0x11,#0x01 MOV R2,#0x00 MOV R3,#0x01CLR 0x20.0CLR AMOV 0x09,ASETB TR0MOV TH0,#0x3C MOV TL0,#P3CLR TR1MOV 0x0A,AMOV 0x0C,AMOV 0x0D,AMOV DPTR,#0x0B4C MOVC A,@A+DPTR MOV P3,AMOV DPTR,#shuma CLR AMOVC A,@A+DPTR MOV 0xA0,Aa1:MOV A,0x0FORL A,0x0EJNZ a2LJMP a3a2:MOV A,R3ORL A,R2JNZ a4LJMP a3a4:MOV A,0x11ORL A,0x10JNZ a5LJMP a3a5:MOV A,0x09MOV B,#0x0A LCALL a6MOV R7,BMOV A,R7RLC ASUBB A,ACCMOV R6,AMOV A,#0x45 ADD A,R7MOV DPL,AMOV A,#0x0B ADDC A,R6MOV DPH,ACLR AMOVC A,@A+DPTR MOV 0xA0,A;a4:MOV A,0x09MOV B,#0x0A LCALL a6MOV R7,BCLR CMOV A,R7XRL A,#P0SUBB A,#SPJC a7MOV A,0x09MOV B,#0x0ALCALL a6MOV R7,ARLC ASUBB A,ACCMOV R6,AMOV A,R7ADD A,#0x04 MOV R7,ACLR AADDC A,R6MOV R6,AMOV A,R7XRL A,#0x0AORL A,R6JZ a4MOV A,0x09MOV B,#0x0A LCALL a6MOV R7,ARLC ASUBB A,ACCMOV R6,AMOV A,#0x4D ADD A,R7MOV DPL,AMOV A,#0x0B ADDC A,R6MOV DPH,ACLR AMOVC A,@A+DPTR MOV P3,Aa4:MOV A,0x09MOV B,#0x0A LCALL a6MOV R7,ARLC ASUBB A,ACCMOV R6,AMOV A,R7ADD A,#0x04 MOV R7,ACLR AADDC A,R6MOV R6,AMOV A,R7XRL A,#0x0AORL A,R6JNZ a9MOV DPTR,#shuma SJMP a10a7:MOV A,0x09MOV B,#0x0A LCALL a6MOV R7,ARLC ASUBB A,ACCMOV R6,AMOV A,#0x4CADD A,R7MOV DPL,AMOV A,#0x0B ADDC A,R6MOV DPH,ACLR Aa10:MOVC A,@A+DPTR MOV P3,Aa9:JNB 0x20.0,a3CLR AMOV R2,AMOV R3,ACLR 0x20.0MOV DPTR,#0x0B4C MOVC A,@A+DPTR MOV P3,AMOV DPTR,#shuma CLR AMOVC A,@A+DPTR MOV 0xA0,ACLR TR0a3:MOV A,0x11ORL A,0x10JNZ a11LJMP a12a11:MOV A,0x0FORL A,0x0EJNZ a13LJMP a12a13:MOV A,P1ANL A,#0x0F MOV R1,ACLR AMOV R4,AMOV R5,Aa17:CLR CMOV A,R5SUBB A,#0x04 MOV A,R4XRL A,#P0SUBB A,#P0JC a14LJMP a12a14:MOV A,#0x4F ADD A,R5MOV DPL,AMOV A,#0x0B ADDC A,R4MOV DPH,ACLR AMOVC A,@A+DPTR XRL A,R1JNZ a15LCALL delayMOV A,#0x4F ADD A,R5MOV DPL,AMOV A,#0x0B ADDC A,R4MOV DPH,ACLR AMOVC A,@A+DPTR XRL A,R1JNZ a15MOV A,R3JNZ a16CLR CMOV A,#0x09 SUBB A,R5MOV R7,ACLR ASUBB A,R4MOV R6,AMOV A,#0x45 ADD A,R7MOV DPL,AMOV A,#0x0B ADDC A,R6MOV DPH,ACLR AMOVC A,@A+DPTR MOV 0xA0,A MOV P3,#0xFF CLR AMOV 0x10,AMOV 0x11,AORL P1,#BSJMP a15a16:SETB TR1MOV TH1,#0xFF MOV TL1,#0xFF CLR TR0CLR AMOV 0x0E,A MOV 0x0F,ACLR CMOV A,#0x09 SUBB A,R5MOV R7,ACLR ASUBB A,R4MOV R6,AMOV A,#0x45 ADD A,R7MOV DPL,AMOV A,#0x0B ADDC A,R6CLR AMOVC A,@A+DPTR MOV 0xA0,ACLR CMOV A,#0x09 SUBB A,R5MOV 0x0A,A MOV P3,#0xFF LJMP a12a15:INC R5CJNE R5,#0x00,a14 INC R4a14:LJMP a17a6:CLR F0JNB 0xF0.7,a19 CPL F0XRL B,#0xFFINC Ba19:JNB 0xE0.7,a20 CPL F0CPL AINC ADIV ABXRL B,#0xFFINC BSJMP a21a20:DIV ABa21:JNB F0,a22CPL AINC Aa22:RETa40:CLR F0MOV A,R4JNB 0xE0.7,a23 CPL F0CLR ACLR CSUBB A,R5MOV R5,ACLR ASUBB A,R4MOV R4,Aa23:MOV A,R6JNB 0xE0.7,a24 CPL F0CLR ACLR CSUBB A,R7MOV R7,ACLR ASUBB A,R6MOV R6,A LCALL a25CLR CCLR ASUBB A,R5MOV R5,ACLR ASUBB A,R4MOV R4,A SJMP a26a24:LCALL a25a26:JNB F0,a27CLR CCLR ASUBB A,R7MOV R7,ACLR ASUBB A,R6MOV R6,Aa27:RETa25:CJNE R4,#0x00,a24 CJNE R6,#0x00,a29 MOV A,R7DIV AB MOV R7,A MOV R5,B RETa24:CLR AXCH A,R4 MOV R0,A MOV B,#0x04 a31:MOV A,R7 ADD A,R7 MOV R7,A MOV A,R6 RLC AMOV R6,A MOV A,R4 RLC AMOV R4,A MOV A,R6 SUBB A,R5 MOV A,R4 SUBB A,R0 JC a30 MOV R4,A MOV A,R6 SUBB A,R5 MOV R6,A INC R7a30:DJNZ B,a31 CLR AXCH A,R6 MOV R5,A RETa29:MOV A,R5 MOV R0,A MOV B,A MOV A,R6 DIV ABJB OV,a32 MOV R6,AMOV B,#0x04a35:MOV A,R7ADD A,R7MOV R7,AMOV A,R5RLC AMOV R5,AJC a33SUBB A,R0JNC a34DJNZ B,a35RETa33:CLR CSUBB A,R0a34:MOV R5,AINC R7DJNZ B,a35a32:RETfengmingqi: PUSH ACCPUSH BPUSH DPHPUSH DPLPUSH PSWMOV PSW,#0x00 PUSH 0x00PUSH 0x04PUSH 0x05PUSH 0x06PUSH 0x07MOV TH1,#0x3CMOV TL1,#P3INC 0x0DMOV A,0x0DJNZ a36INC 0x0Ca36:CPL AJNZ a37MOV 0x0C,A MOV 0x0D,#0x0B a37:SETB CMOV A,0x0D SUBB A,#0x0A MOV A,0x0C XRL A,#P0 SUBB A,#P0JNC a34CPL 0xB0.7 SJMP a39a34:SETB 0xB0.7a39:MOV R6,0x0C MOV R7,0x0D MOV R4,#0x00 MOV R5,#0x0A LCALL a40MOV A,R5ORL A,R4JNZ a41MOV A,0x04 JNZ a42MOV 0x04,#0x01 MOV 0xA0,#0xFF SJMP a41a42:MOV 0x04,#0x00 MOV R7,0x0A MOV A,R7RLC ASUBB A,ACC MOV R6,AMOV A,#0x45 ADD A,R7MOV DPL,A MOV A,#0x0B ADDC A,R6MOV DPH,A CLR AMOVC A,@A+DPTR MOV 0xA0,Aa41:POP 0x07POP 0x06POP 0x05POP 0x04POP 0x00POP PSWPOP DPLPOP DPHPOP BPOP ACCRETIdingshi: PUSH ACCPUSH PSWMOV TH0,#0x3C MOV TL0,#P3INC 0x0BMOV A,0x0BCJNE A,#0x14,a43 INC 0x09MOV 0x0B,#0x00a43:MOV A,0x09CJNE A,#0x1E,a44 MOV 0x09,#0x00 SETB 0x20.0CLR TR0a44:POP PSWPOP ACCRETIinit: MOV TMOD,#0x11 SETB ET0SETB ET1CLR TR0CLR TR1SETB EAANL P1,#0x0FRETdelay:CLR AMOV R7,AMOV R6,Aa46:INC R7CJNE R7,#0x00,a45INC R6a45:MOV A,R7XRL A,#0x0Ca47:ORL A,R6JNZ a46RETshuma:PUSH P1SJMP a47ANL C,0x90.2SUBB A,R1ANL C,/0xA0.4MOV R1,AKeyBoard:INC R6INC R5INC R3INC @R1STARTUP1:MOV R0,#0x7FCLR AIDA TALOOP:MOV @R0,ADJNZ R0,IDATALOOPMOV SP,#0x20LJMP mainEND五,器件选型方案表1 器件选型方案的详细清单极性电容10uF 1电阻3WTT10K 9电容20PF 3晶振12MHZ 1按钮15共阴4位7段数码管SMG SM410561K 1扬声器 1六,调试:(1) 开机按电源开关,显示屏左边的"抢答"指示灯亮,数码管显示。