基于单片机的8路抢答器.docx
《基于单片机的8路抢答器.docx》由会员分享,可在线阅读,更多相关《基于单片机的8路抢答器.docx(22页珍藏版)》请在冰豆网上搜索。
基于单片机的8路抢答器
课程设计任务书
设计题目
抢答器设计
学生姓名
所在院系
电子信息与电气工程学院
专业、年级、班
设计要求:
1.具有电源开关及指示灯,有复位按键;
2.p0.0—p0.6接一位数码管,p.7用于显示抢答选手号码,经三极管驱动扬声器;
3.利用查询方式扩张8个外部中断源,p1口接开关按键,代表8个中断源,由74ls09组成优先权选择电路,作为8个选手的按键;
4.p2口接8只发光二极管,作为选手抢答指示灯;
5.P3.3接开关k10,做主持人按键。
在任何情况下只有当主持人按键按下时,才允许选手抢答,否则禁止抢答,任何一位选手在主持人没有按下按键的情况下抢答,没有任何反映;
学生应完成的工作:
1.电路原理图的绘制以及proteus的仿真;
2.程序的编写,调试;
3.单片机硬件电路设计以及元器件的焊接组装成型;
4.课程设计说明书的书写;
参考文献阅读:
[1]张毅刚,彭喜元,董继成.单片机原理及应用.高等教育出版社.2003.
[2]王兆安,刘进军.电力电子技术.机械工业出版社.2009.
[3]谢斌.单片机应用技术.哈尔滨工业大学出版社.2010.
[4]徐晨,陈继红,王春明,徐慧.微机原理及应用.高等教育出版社.2004.
工作计划:
5.4课程设计任务书下达5.5结合指导老师,完成硬件电路的设计5.6程序编写
5.7进行软硬件联机调试5.8—5.9课程设计说明书的书写5.10领器件
5.11焊接电路板5.12—5.13程序的烧录和电路板的调试
5.14交课程设计说明书和电路板
任务下达日期:
2012年5月7日
任务完成日期:
2012年5月18日
指导教师(签名):
学生(签名):
抢答器设计
摘要:
本设计是8路智力抢答器,使用51系列单片机,编写应用程序来实现智力抢答功能。
硬件设计使用的是51系列单片机中的89S52。
硬件设计利用其中断控制程序进行抢答部分的处理,通过74LS09的控制去请求单片机外部的中断,以达到显示抢答的目的,硬件部分由电源模块:
把交流电转换成+5伏的直流电,复位模块:
提供复位信号,时钟频率模块:
为单片机内部提供时钟信号,与门模块,按键扫描模块。
软件设计利用中断系统的基本构成原理编写中断服务程序,其信号由按键电路提供,由CPU响应中断,并输出响应。
用到了查询按键模块、定时器模块、显示模块、显示组号模块、报警模块等。
系统仿真用到了Keil和proteus软件,用Proteus软件画出原理图,然后单片机加载Keil所产生的后缀为.hex的文件进行仿真。
关键词:
AT89S52;抢答电路;复位电路;报警电路;时序控制
1.设计背景……………………………………………………………………01
2.设计方案……………………………………………………………………02
2.1硬件设计方案………………………………………………………01
2.2软件设计方案………………………………………………………02
3.方案实施……………………………………………………………………04
3.1硬件方案实施………………………………………………………04
3.2软件方案实施………………………………………………………07
4.结果与结论…………………………………………………………………11
4.1总体设计结果………………………………………………………11
4.2总体结论……………………………………………………………11
5.收获与致谢…………………………………………………………………12
6.参考文献……………………………………………………………………13
7.附件…………………………………………………………………………14
7.1元器件清单…………………………………………………………14
7.2硬件原理图…………………………………………………………15
7.3仿真图………………………………………………………………16
7.4硬件实物图…………………………………………………………16
7.5程序清单……………………………………………………………17
1.设计背景
二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。
不过,这种电脑,通常是指个人计算机,简称PC机。
它由主机、键盘、显示器等部分组成。
还有一类计算机,这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。
顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
在知识竞赛中,特别是做抢答题时,在抢答过程中,为了更确切的知道哪一组或哪一位选手先抢答到题,必须要有一个系统来完成这个任务。
若在抢答中,只靠人的视觉(或者是听觉)是很难判断出哪一组(或哪一个选手)先抢答到题的。
利用单片机编程来设计抢答器,可以使以上问题得以解决,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组(或哪个选手)先抢答到题的。
早期的抢答器只由几个三极管、可控硅、发光管等组成,能通过发光二极管的指示辩认出选手号码。
现在大多数抢答器均使用单片机(如MCS-51型)和数字集成电路,并增加了许多新功能,如选手号码显示、抢按前或抢按后的计时、选手得分显示等功能。
本课题利用89S52单片机及外围接口实现的抢答系统,利用单片机的外部中断0和外部中断1终端查询的原理,将软、硬件有机地结合起来,使得系统能够正确地进行运行,同时使数码管能够正确地显示选手号码。
用开关做键盘输出,扬声器发生提示。
2.设计方案
2.1硬件设计方案
根据课程设计要求可以画出硬件电路原理图,数码管的abcdefgh与单片机的P0口的高七位相连接;P0.7口与蜂鸣器相连接;P1口接八个按键;P2口接八个LED灯分别指示八位选手。
用以AT89S52为核心的单片机控制方案,通过相应的程序,并通过按键来进行电平识别,再由单片机输出相应的程序,并将相应数值通过数码来显示。
方案一:
8路竞赛抢答器,每组受控于一个抢答器健开关,高电平表示抢答有效。
设置主持人开关用于控制整个系统清0和抢答器有效开始控制的启动。
每按下一次复位键时,使锁存器的控制端为高电平,若按键开关1-8中任何一个都没按下,即对应锁存器的输入端均为低电平,则此时8个输出端均为低电平,对应的发光二极管均不点,表示抢答者正在准备状态。
按下复位键,锁存器的控制端为高电平,若开关1-8中存在一个或几个处于按下状态,即与之对应的锁存器的输入端为高电平,此时与之对应的锁存器的输出端立即为高电平,对应的发光二极管被点亮。
只有每按下一次复位键,并在复位键抬起后,抢答才是有效地。
系统具有第一抢答信号鉴别和锁存的功能。
在主持人将系统复位并使抢答有效开始后,第一抢答者按下抢答按钮,对应的输入引脚接高电平1。
或门电路使三极管VT1基极得到高电平,将锁存器的输入信号锁存在了输入端,输入端的信号变化不再影响输出端。
对应点亮的发光二极管指示出第一抢答者的组别,在显示有效的组别的同时,也同时采用蜂鸣器警示。
方案1的电路原理图如图2.1所示。
图2.1方案1原理图
方案二:
在方案1的基础上,利用两片74LS09先把八个抢答信号各一组相与后,再把相与后的信号与另一组再次相与,最后把相与的结果的一个信号接到单片机的外部中断0上,当有抢答信号时,产生一个外部中断,CPU响应中断,通过查询P1口执行相应的中断处理程序,八个选手的优先级可以通过软件编程实现,具体是把P1.7口放在终端处理程序的最前面,其他依次设置,通过顺序查询,实现选手的优先权判断。
通过比较,方案二虽然多了两片芯片,电路在焊接的时候需要跳过很多线,这给电路的线路的检查带来很大的麻烦,但是只需要设置两个中断的开通与关断以及内部查询顺序就可以设置八个抢答信号的优先级,这就为编程的简单明了提供了可能。
因此选择方案二。
方案2的电路原理图如图2.2所示。
图2.2方案2原理图
2.2软件设计方案
㈠.中断的开通与关断设计
为达到在主持人未按下按键前抢答无效应该设置外部中断为开中断,外部中断0为关中断。
当开始抢答信号发出后,开外部中断0以接收选手抢答中断信号。
选手抢答后,开外部中断1从而使主持人再次按下按键后可以开始下一次抢答。
㈡.数码管的显示
采用静态显示,是指当数码管显示某一字符时,七段数码管的对应段的发光二极管被选中,在这种显示方式下,每段LED都对应一个单片机口线。
静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。
其不足之处是在需要用于显示的数码管较多时占用硬件资源较多,每个LED数码管需要独占8条输出线。
随着显示器位数的增加,需要的I/O口线也将增加。
㈢.抢答信号指示灯
对于这一位反光二极管的闪烁可以通过软件程序的方法的编写,交替送出高低电平就可以实现其闪烁。
3.方案实施
3.1硬件方案实施
㈠硬件电路框图
本系统采用AT89S52单片机作为控制核心,对按键开关送来的信号进行分析处理,最终控制数码管显示相应的数值。
本系统主要的单元电路有单片机主控电路、键盘控制电路、LED显示电路模块等。
系统硬件框图如图3.1所示。
图3.1系统硬件框图
㈡单片机电路引脚各部分连接及功能
本设计采用ATMEL公司生产的单片机AT89S52实现主要功能,AT89S52的功能与80C51功能相似。
AT89S52的各引脚功能情况为;
①P1口(P1.0~P1.7)8个引脚:
P1.7为最高位,P1.0为最低位。
在AT89S52不带片外存储器时,P1口可作为通用I/O口使用;
②P0.0~P0.7:
用于传送CPU的输入/输出数据。
这时输出数据可以得到锁存,不需外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;
③P3.7引脚外接电阻、放大管以及扬声器;
④RST复位线,外接电容、电阻,使AT89S52处于复位工作状态;
⑤XMT1和XMT2外接石英晶体和微调电容,为片内振荡电路输入线,用来连接AT89S52片内OSC的定时反馈网络;
⑥INT0/INT1:
外部中断0/1输入;
图3.2单片机电路图
㈢时钟频率电路
一般选用石英晶体振荡器。
此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。
电路中两个电容C1,C2的作用有两个:
一是帮助振荡器起振;二是对振荡器的频率进行微调。
C1,C2的典型值为30PF。
单片机必须在时钟的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。
时钟电路图如图3.2所示。
图3.3时钟电路图
4复位电路
单片机的第9引脚RST为硬件复位端,只要将该端接持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图3.4所示:
图3.4复位电路
在设计当中使用到了硬件复位和软件复位两种功能,由上面的硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地址。
㈤显示电路
本设计中采用的数码管是1位七段共阳极数码管,其中a—f段分别接到单片机的P0.0—P0.6口,由单片机输出的P0口数据来决定显示值,还有八个一千欧姆的电阻,连接在P0口上,用作P0口的上拉电阻。
㈥电源电路
电源电路由桥堆2w10和稳压器CW7805构成。
电源电路主要用于为整个系统提供电源。
我们日常用电都是220V的交流电,所以在设计电源时要先把交流电整流成直流,然后再经过稳压管输出整个系统所需的稳定的直流电压。
整流主要采用2W10桥堆和电容滤波以得到基本稳定的输出电压。
稳压部分是采用常用的稳压管W7805得到稳定的输出正5V电压。
如图3.5所示:
图3.5电源电路图
㈦LED发光二极管显示
单片机的P2口每一位可以驱动1个TTL型LS型负载,所以可以直接由P2口驱动数码管,P2口每一个管脚接一个发光二极管,由于采用的是阳极接5V电源的接法,所以需要限流电阻与发光二极管串联。
发光二极管允许通过的电流是3mA至10mA左右,为了使发光二极管亮度合适,所以,选择了串联1千欧电阻。
㈧蜂鸣器
蜂鸣器的发声主要用于对有抢答时的报警信号,以提示主持人。
蜂鸣器的发声由三极管放大电压、电流来驱动,其中三极管的基极接单片机的P0.7口,以提供基集导通电流,从而经放大后达到蜂鸣器的发声电压、电流。
其电路图如图3.6所示:
图3.6蜂鸣器电路
3.2软件方案实施
㈠主程序流程图
对整个系统的功能分析可知,汇编语言程序分为三大部分:
主持人未按允许抢答时没有响应,主持人按键为外部中断1,之后有抢答信号为外部中断0。
得到系统的主流程图如图3.7所示:
图3.7系统主流程图
㈡主要程序分析
本次设计的主要程序包括主持人按键处理程序,选手抢答处理程序,键盘消抖延时程序以及蜂鸣器发声时间和LED闪烁间隔时间程序。
①按键扫描程序流程图
3.8按键扫描程序流程图
4.结果与结论
4.1总体设计结果
在硬件设计之前,我们必须对所用单片机的内部硬件结构有一个系统的了解,知道该单片机内有哪些功能资源;在设计程序时,不能一次就将整个程序设计好,要分模块,反复修改,逐步求精,不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,我们组就是采用这样的方法,取得很好的软件模拟效果;在设计课程过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题,在焊接好后,我们组的作品还不能工作,我们静下心来用万用表一步一步对硬件电路进行排查,在确认硬件的连接没问题之后,我们对这电路原理图仔细核对结果发现有个二极管没接上拉电阻,结果因电流过大而烧毁,我们立即更换线路连接,同时串接入电阻,结果电源灯亮,数码管显示数字,但是仍是不能工作,再检查电路元器件,结果发现74LS09连接的有问题,通过上网查资料,我们查到了该器件的详细内部电路图以及引脚连接方式,于是我们只能把引脚连线拆掉,重新连接,在重新连接好后,电路能正常工作,但是美中不足的是报警电路不能工作,限于条件,我们只能止步于此,这即是本次课程设计的结果。
4.2总体结论
本抢答器采用采用2片74LS109实现与门功能,将8个输入信号接入中断0中,7段数码管直接串联一电阻接P0口,当需要显示相应数字时直接给P0口相应位以低电平,即可以实现功能,因此硬件电路简单,实用。
软件部分应用汇编语言编程,汇编语言的特点是程序的各个部分除了必要的信息交流外彼此之间相互独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
我们组应用汇编语言进行程序编写,应用模块化程序编程方法,程序清晰易懂,简单明了。
5.收获与致谢
我在这一次抢答器的设计过程中,很是受益匪浅。
通过对自己对单片机所学的知识的回顾,并充分发挥对所学知识的理解和对课程设计的思考及书面表达,经过自己不断的努力以及各位指导老师的耐心指导和热情帮助,本设计已经基本完成。
通过这次课程设计,深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了我的学习成果。
虽然在这次的课程设计中对于知识的运用和衔接还不是很熟练,但是我将在以后的学习中继续努力、不断完善。
这将近一个月的课程设计是对过去所学知识的系统提高和扩充的过程,为今后的学习打下了良好的基础。
通过这次课程设计我发现,只有理论水平提高了;才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。
这个实验十分有意义我获得很深刻的经验。
通过这次课程设计,我知道了理论和实际的距离,也知道了理论和实际结合的重要性,,也从中得知了很多书本上无法得知的知识。
我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一个专家,通过自己的手来解决问题比用脑子解决问题更加深刻。
学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。
这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。
在这段时间里,各位老师严谨的治学态度和热忱的工作作风令我十分钦佩,他们的指导使我受益非浅。
同时实验室的开放也为我的设计提供了实习场地。
在此对指导老师和实验室的老师表示深深的感谢。
6.参考文献
[1]张毅刚,董继成.单片机原理及应用[M].北京:
高等教育出版社,2003.
[2]王兆安,刘进军.电力电子技术[M].北京:
机械工业出版社,2009.
[3]谢斌.单片机应用技术[M].哈尔滨:
哈尔滨工业大学出版社,2010.
[4]徐晨,陈继红,徐慧.微机原理及应用[M].北京:
高等教育出版社,2004.
7.附件
7.1元器件清单
器件名
型号与规格
数量
单片机
STC89S52
1
晶振
12MHz
1
瓷片电容
20pF和0.33uF,0.1uF
各2
电解电容
10uF和1000uF,220uF
各1
二极管
1N4001
1
LED指示灯
9
数码管
共阳极数码管1位
1
三极管
9013
1
74LS09
2
电阻
4.7K
8
电阻
220
8
电阻
10K
2
电阻
1K
2
电阻
470
8
三端稳压器
7805
1
蜂鸣器
1
桥堆
2W10
1
插座
40脚IC插座
1
开关
拨动开关
1
开关
按键
10
万用板
1
7.2硬件原理图
图7.1硬件原理图
7.3仿真图
图7.2仿真图
7.4实物图
图7.3实物图
7.5系统程序清单
ORG0000H
LJMPMAIN
ORG0003H
LJMPIN0
ORG0013H
LJMPIN1
ORG1000H
MAIN:
MOVSP,#60H
LCALLZDISP
MOVA,#7FH
MOVP1,A
MOVA,#0FFH
MOVP2,A
CLREX0
SETBEX1
SETBIT1
SETBPT1
SETBEA
SJMP$
;*******主持人按键******
IN1:
SETBEX0
SETBIT0
SETBEA
SETBPT1
MOVA,#40H
MOVP1,A
SETBP1.7
LCALLDELAY1S
CLRP1.7
RETI
;******抢答程序*****
IN0:
SETBEX1
SETBIT1
SETBPT1
SETBEA
CLREX0
CLRIT0
MOVA,P0
LCALLDELAY
CJNEA,P0,FINISH
LCALLCLZ
FINISH:
RETI
;*******按键扫描程序******
CLZ:
JBP0.7,K6
MOVA,#80H
MOVP1,A
MOVR4,#5
LP7:
CLRP2.7
LCALLDELAY1S
SETBP2.7
LCALLDELAY1S
DJNZR4,LP7
AJMPINTR
K6:
JBP0.6,K5
MOVA,#0F8H
MOVP1,A
MOVR4,#5
LP6:
CLRP2.6
LCALLDELAY1S
SETBP2.6
LCALLDELAY1S
DJNZR4,LP6
AJMPINTR
K5:
JBP0.5,K4
MOVA,#82H
MOVP1,A
MOVR4,#5
LP5:
CLRP2.5
LCALLDELAY1S
SETBP2.5
LCALLDELAY1S
DJNZR4,LP5
AJMPINTR
K4:
JBP0.4,K3
MOVA,#92H
MOVP1,A
MOVR4,#5
LP4:
CLRP2.4
LCALLDELAY1S
SETBP2.4
LCALLDELAY1S
DJNZR4,LP4
AJMPINTR
K3:
JBP0.3,K2
MOVA,#99H
MOVP1,A
MOVR4,#5
LP3:
CLRP2.3
LCALLDELAY1S
SETBP2.3
LCALLDELAY1S
DJNZR4,LP3
AJMPINTR
K2:
JBP0.2,K1
MOVA,#0B0H
MOVP1,A
MOVR4,#5
LP2:
CLRP2.2
LCALLDELAY1S
SETBP2.2
LCALLDELAY1S
DJNZR4,LP2
AJMPINTR
K1:
JBP0.1,KEY
MOVA,#0A4H
MOVP1,A
MOVR4,#5
LP1:
CLRP2.1
LCALLDELAY1S
SETBP2.1
LCALLDELAY1S
DJNZR4,LP1
AJMPINTR
KEY:
MOVA,#0F9H
MOVP1,A
MOVR4,#5
LP0:
CLRP2.0
LCALLDELAY1S
SETBP2.0
LCALLDELAY1S
DJNZR4,LP0
INTR:
RET
******键盘消抖延时程序*****
DELAY:
MOVR2,#40H
LOP0:
MOVR3,#125
LOP1:
DJNZR3,LOP1
DJNZR2,LOP0
RET
;******0.5S延时*******
DELAY1S:
MOVR7,#20
LOOP3:
MOVR6,#100
LOOP2:
MOVR5,#250
LOOP1:
DJNZR5,LOOP1
DJNZR6,LOOP2
DJNZR7,LOOP3
RET
;********自检********
ZDISP:
MOVA,#80H
MOVP1,A
MOVA,#00H
MOVP2,A
LCALLDELAY1S
RET
END
指导教师评语:
课程设计报告成绩:
,占总成绩比例:
30%
课程设计其它环节成绩:
环节名称:
考勤,成绩:
,占总成绩比例:
20%
环节名称:
综合,成绩:
,占总成绩比例:
50%
总成绩:
指导教师签字: