单片机四路抢答器.docx
《单片机四路抢答器.docx》由会员分享,可在线阅读,更多相关《单片机四路抢答器.docx(31页珍藏版)》请在冰点文库上搜索。
单片机四路抢答器
课程设计(论文)
题目名称简易四路抢答器设计
课程名称
学生姓名
学号
系、专业
指导教师
2010年7月1日
学生姓名学号
系别专业班级
题目名称简易四路抢答器课程名称
一、学生自我总结
回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近四星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在杨波师的辛勤指导下,终于游逆而解。
同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
学生签名:
瞿永2010年7月2日
目录
摘要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、主程序清单
ORG0000H
LJMPSTARTUP1
ORG000BH
LJMPdingshi
ORG001BH
LJMPfengmingqi
ORG0400H
main:
LCALLinit
SETBTR0
MOVTH0,#0x3C
MOVTL0,#P3
MOV0x0E,#0x00
MOV0x0F,#0x01
MOV0x10,#0x00
MOV0x11,#0x01
MOVR3,#0x01
MOVR2,#0x00
a12:
JBP0.0,a1
MOV0x0E,#0x00
MOV0x0F,#0x01
MOV0x10,#0x00
MOV0x11,#0x01
MOVR2,#0x00
MOVR3,#0x01
CLR0x20.0
CLRA
MOV0x09,A
SETBTR0
MOVTH0,#0x3C
MOVTL0,#P3
CLRTR1
MOV0x0A,A
MOV0x0C,A
MOV0x0D,A
MOVDPTR,#0x0B4C
MOVCA,@A+DPTR
MOVP3,A
MOVDPTR,#shuma
CLRA
MOVCA,@A+DPTR
MOV0xA0,A
a1:
MOVA,0x0F
ORLA,0x0E
JNZa2
LJMPa3
a2:
MOVA,R3
ORLA,R2
JNZa4
LJMPa3
a4:
MOVA,0x11
ORLA,0x10
JNZa5
LJMPa3
a5:
MOVA,0x09
MOVB,#0x0A
LCALLa6
MOVR7,B
MOVA,R7
RLCA
SUBBA,ACC
MOVR6,A
MOVA,#0x45
ADDA,R7
MOVDPL,A
MOVA,#0x0B
ADDCA,R6
MOVDPH,A
CLRA
MOVCA,@A+DPTR
MOV0xA0,A
;a4:
MOVA,0x09
MOVB,#0x0A
LCALLa6
MOVR7,B
CLRC
MOVA,R7
XRLA,#P0
SUBBA,#SP
JCa7
MOVA,0x09
MOVB,#0x0A
LCALLa6
MOVR7,A
RLCA
SUBBA,ACC
MOVR6,A
MOVA,R7
ADDA,#0x04
MOVR7,A
CLRA
ADDCA,R6
MOVR6,A
MOVA,R7
XRLA,#0x0A
ORLA,R6
JZa4
MOVA,0x09
MOVB,#0x0A
LCALLa6
MOVR7,A
RLCA
SUBBA,ACC
MOVR6,A
MOVA,#0x4D
ADDA,R7
MOVDPL,A
MOVA,#0x0B
ADDCA,R6
MOVDPH,A
CLRA
MOVCA,@A+DPTR
MOVP3,A
a4:
MOVA,0x09
MOVB,#0x0A
LCALLa6
MOVR7,A
RLCA
SUBBA,ACC
MOVR6,A
MOVA,R7
ADDA,#0x04
MOVR7,A
CLRA
ADDCA,R6
MOVR6,A
MOVA,R7
XRLA,#0x0A
ORLA,R6
JNZa9
MOVDPTR,#shuma
SJMPa10
a7:
MOVA,0x09
MOVB,#0x0A
LCALLa6
MOVR7,A
RLCA
SUBBA,ACC
MOVR6,A
MOVA,#0x4C
ADDA,R7
MOVDPL,A
MOVA,#0x0B
ADDCA,R6
MOVDPH,A
CLRA
a10:
MOVCA,@A+DPTR
MOVP3,A
a9:
JNB0x20.0,a3
CLRA
MOVR2,A
MOVR3,A
CLR0x20.0
MOVDPTR,#0x0B4C
MOVCA,@A+DPTR
MOVP3,A
MOVDPTR,#shuma
CLRA
MOVCA,@A+DPTR
MOV0xA0,A
CLRTR0
a3:
MOVA,0x11
ORLA,0x10
JNZa11
LJMPa12
a11:
MOVA,0x0F
ORLA,0x0E
JNZa13
LJMPa12
a13:
MOVA,P1
ANLA,#0x0F
MOVR1,A
CLRA
MOVR4,A
MOVR5,A
a17:
CLRC
MOVA,R5
SUBBA,#0x04
MOVA,R4
XRLA,#P0
SUBBA,#P0
JCa14
LJMPa12
a14:
MOVA,#0x4F
ADDA,R5
MOVDPL,A
MOVA,#0x0B
ADDCA,R4
MOVDPH,A
CLRA
MOVCA,@A+DPTR
XRLA,R1
JNZa15
LCALLdelay
MOVA,#0x4F
ADDA,R5
MOVDPL,A
MOVA,#0x0B
ADDCA,R4
MOVDPH,A
CLRA
MOVCA,@A+DPTR
XRLA,R1
JNZa15
MOVA,R3
ORLA,R2
JNZa16
CLRC
MOVA,#0x09
SUBBA,R5
MOVR7,A
CLRA
SUBBA,R4
MOVR6,A
MOVA,#0x45
ADDA,R7
MOVDPL,A
MOVA,#0x0B
ADDCA,R6
MOVDPH,A
CLRA
MOVCA,@A+DPTR
MOV0xA0,A
MOVP3,#0xFF
CLRA
MOV0x10,A
MOV0x11,A
ORLP1,#B
SJMPa15
a16:
SETBTR1
MOVTH1,#0xFF
MOVTL1,#0xFF
CLRTR0
CLRA
MOV0x0E,A
MOV0x0F,A
CLRC
MOVA,#0x09
SUBBA,R5
MOVR7,A
CLRA
SUBBA,R4
MOVR6,A
MOVA,#0x45
ADDA,R7
MOVDPL,A
MOVA,#0x0B
ADDCA,R6
MOVDPH,A
CLRA
MOVCA,@A+DPTR
MOV0xA0,A
CLRC
MOVA,#0x09
SUBBA,R5
MOV0x0A,A
MOVP3,#0xFF
LJMPa12
a15:
INCR5
CJNER5,#0x00,a14
INCR4
a14:
LJMPa17
a6:
CLRF0
JNB0xF0.7,a19
CPLF0
XRLB,#0xFF
INCB
a19:
JNB0xE0.7,a20
CPLF0
CPLA
INCA
DIVAB
XRLB,#0xFF
INCB
SJMPa21
a20:
DIVAB
a21:
JNBF0,a22
CPLA
INCA
a22:
RET
a40:
CLRF0
MOVA,R4
JNB0xE0.7,a23
CPLF0
CLRA
CLRC
SUBBA,R5
MOVR5,A
CLRA
SUBBA,R4
MOVR4,A
a23:
MOVA,R6
JNB0xE0.7,a24
CPLF0
CLRA
CLRC
SUBBA,R7
MOVR7,A
CLRA
SUBBA,R6
MOVR6,A
LCALLa25
CLRC
CLRA
SUBBA,R5
MOVR5,A
CLRA
SUBBA,R4
MOVR4,A
SJMPa26
a24:
LCALLa25
a26:
JNBF0,a27
CLRC
CLRA
SUBBA,R7
MOVR7,A
CLRA
SUBBA,R6
MOVR6,A
a27:
RET
a25:
CJNER4,#0x00,a24
CJNER6,#0x00,a29
MOVA,R7
MOVB,R5
DIVAB
MOVR7,A
MOVR5,B
RET
a24:
CLRA
XCHA,R4
MOVR0,A
MOVB,#0x04
a31:
MOVA,R7
ADDA,R7
MOVR7,A
MOVA,R6
RLCA
MOVR6,A
MOVA,R4
RLCA
MOVR4,A
MOVA,R6
SUBBA,R5
MOVA,R4
SUBBA,R0
JCa30
MOVR4,A
MOVA,R6
SUBBA,R5
MOVR6,A
INCR7
a30:
DJNZB,a31
CLRA
XCHA,R6
MOVR5,A
RET
a29:
MOVA,R5
MOVR0,A
MOVB,A
MOVA,R6
DIVAB
JBOV,a32
MOVR6,A
MOVR5,B
MOVB,#0x04
a35:
MOVA,R7
ADDA,R7
MOVR7,A
MOVA,R5
RLCA
MOVR5,A
JCa33
SUBBA,R0
JNCa34
DJNZB,a35
RET
a33:
CLRC
SUBBA,R0
a34:
MOVR5,A
INCR7
DJNZB,a35
a32:
RET
fengmingqi:
PUSHACC
PUSHB
PUSHDPH
PUSHDPL
PUSHPSW
MOVPSW,#0x00
PUSH0x00
PUSH0x04
PUSH0x05
PUSH0x06
PUSH0x07
MOVTH1,#0x3C
MOVTL1,#P3
INC0x0D
MOVA,0x0D
JNZa36
INC0x0C
a36:
CPLA
ORLA,0x0C
JNZa37
MOV0x0C,A
MOV0x0D,#0x0B
a37:
SETBC
MOVA,0x0D
SUBBA,#0x0A
MOVA,0x0C
XRLA,#P0
SUBBA,#P0
JNCa34
CPL0xB0.7
SJMPa39
a34:
SETB0xB0.7
a39:
MOVR6,0x0C
MOVR7,0x0D
MOVR4,#0x00
MOVR5,#0x0A
LCALLa40
MOVA,R5
ORLA,R4
JNZa41
MOVA,0x04
JNZa42
MOV0x04,#0x01
MOV0xA0,#0xFF
SJMPa41
a42:
MOV0x04,#0x00
MOVR7,0x0A
MOVA,R7
RLCA
SUBBA,ACC
MOVR6,A
MOVA,#0x45
ADDA,R7
MOVDPL,A
MOVA,#0x0B
ADDCA,R6
MOVDPH,A
CLRA
MOVCA,@A+DPTR
MOV0xA0,A
a41:
POP0x07
POP0x06
POP0x05
POP0x04
POP0x00
POPPSW
POPDPL
POPDPH
POPB
POPACC
RETI
dingshi:
PUSHACC
PUSHPSW
MOVTH0,#0x3C
MOVTL0,#P3
INC0x0B
MOVA,0x0B
CJNEA,#0x14,a43
INC0x09
MOV0x0B,#0x00
a43:
MOVA,0x09
CJNEA,#0x1E,a44
MOV0x09,#0x00
SETB0x20.0
CLRTR0
a44:
POPPSW
POPACC
RETI
init:
MOVTMOD,#0x11
SETBET0
SETBET1
CLRTR0
CLRTR1
SETBEA
ANLP1,#0x0F
RET
delay:
CLRA
MOVR7,A
MOVR6,A
a46:
INCR7
CJNER7,#0x00,a45
INCR6
a45:
MOVA,R7
XRLA,#0x0C
a47:
ORLA,R6
JNZa46
RET
shuma:
PUSHP1
SJMPa47
ANLC,0x90.2
SUBBA,R1
ANLC,/0xA0.4
MOVR1,A
KeyBoard:
INCR6
INCR5
INCR3
INC@R1
STARTUP1:
MOVR0,#0x7F
CLRA
IDATALOOP:
MOV@R0,A
DJNZR0,IDATALOOP
MOVSP,#0x20
LJMPmain
END
五,器件选型方案
表1器件选型方案的详细清单
器件名称
规格型号
数量
微处理器
AT49C51
1
极性电容
10uF
1
电阻
3WTT10K
9
电容
20PF
3
晶振
12MHZ
1
按钮
15
共阴4位7段数码管
SMGSM410561K
1
扬声器
1
六,调试:
(1)开机
按电源开关,显示屏左边的"抢答"指示灯亮,数码管显示。
(2)测试各组抢答按键
试按一下各组的抢答按钮,应立即显示该组的组别数字,同时机内喇叭发出"叮咚"的提示音,按"取消"键,返回"0"闪烁状态。
。
(3)违规抢答
当主持人读题过程中,而未宣布抢答开始时按下抢答按钮