八路抢答器设计报告_第1页
八路抢答器设计报告_第2页
八路抢答器设计报告_第3页
八路抢答器设计报告_第4页
八路抢答器设计报告_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 . . . 摘 要现如今,各种智力知识竞赛已经成为人们的一种娱乐形式,人们答题的过程中不仅可以享受到乐趣,还可以学习到一些科学知识和生活常识。然而在抢答过程中,单靠视觉是很难判断出那组最先完成抢答操作。为辨别哪一组或哪一位选手获得答题权,必须要设计一个智能抢答控制系统智能抢答器。本设计是以八路抢答为基本理念,考虑到依需设定限时回答的功能,利用AT89C52单片机与外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时系统能够实现;在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在

2、1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后LED灯点亮,数码管显示相应的抢答者序号;抢答时间和回答问题时间倒计时显示,倒计时结束后系统自动复位。关键词:单片机;八路抢答器;AT89C52;数码显示目 录设计要求11 方案论证与对比11.1 方案一:采用数字电路控制11.2 方案二:采用单片机控制21.3 方案对比与选择32 单元电路设计42.1 抢答器显示模块的设计42.2 控制器模块电路的设计52.3 复位电路的设计52.4 晶振电路设计62.5 按键电路设计63 软件详细设计73.1 主程序系统结构的设计73.2 显示子程序的设计73.3 抢答处理程序的设计84 调试

3、功能说明94.1硬件系统的调试94.2软件调试104.3软硬件系统联合调式104.4焊接的问题与解决115 详细仪器清单126总结与致13参考文献14附录一:程序1520 / 22八路抢答器设计要求1、一位主持人与3位抢答者,复位后,甲乙丙的绿、红灯全亮,开始键、复位键的指示灯全暗;主持人按复位键则仅复位指示灯亮,其他都暗,准备开始;主持人按开始键,开始灯亮,允许甲乙丙抢答,此时优先者则相应成功指示灯亮,如允许前抢就犯规相应的犯规红灯亮;抢答成功则相应的绿灯亮,答题开始并进行倒计时,到规定时间不允许答题,并返回复位状态;2、具有抢答控制和倒计时显示功能;3、控制器应有复位控制、开始控制、抢答控

4、制和状态指示等功能,并有答题时间控制和显示功能。1 方案论证与对比在电视和学校中我们会经常看到一些智力抢答的节目,如果要是让抢答者用举手等方法,主持人很容易误判,会造成抢答的不公平,比赛中为了准确、公正、直观地判断出第一抢答者,所设计的抢答器通常由数码显示、灯光、音响等多种手段指示出第一抢答者。为了使这种不公平不发生,只有靠电子产品的高准确性来保障抢答的公平性。1.1 方案一:采用数字电路控制定时抢答器的总体框图1如图1所示,它由主体电路和扩展电路两部分组成。主体电路完成基本的抢答功能,即开始抢答后,当选手按动抢答键时,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答。扩展电路完成定时抢

5、答的功能。定时抢答器的工作过程是:接通电源时,节目主持人将开关置于“清除”位置,抢答器处于禁止工作状态,编号显示器灭灯,定时显示器显示设定的时间,当节目主持人宣布“抢答开始”,同时将控制开关拨到“开始”位置,扬声器给出声响提示,抢答器处于工作状态,定时器倒计时。当定时时间到,却没有选手抢答时,系统报警,并封锁输入电路,禁止选手超时后抢答。当选手在定时时间按动抢答键时,抢答器要完成以下四项工作:(1)优先编码电路立即分辨出抢答者的编号,并由锁存器进行锁存,然后由译码显示电路显示编号;(2)扬声器发出短暂声响,提醒节目主持人注意;(3)控制电路要对输入编码电路进行封锁,避免其他选手再次进行抢答;(

6、4)控制电路要使定时器停止工作,时间显示器上显示剩余的抢答时间,并保持到主持人将系统清零为止。当选手将问题回答完毕,主持人操作控制开关,使系统回复到禁止工作状态,以便进行下一轮抢答。原理框图如图1所示:抢答按键优先编码器译码显示器锁存器检测按钮控制图 1方案一系统方框图1.2 方案二:采用单片机控制此电路2完成的功能如图2所示,当主持人宣布抢答开始的时候,按下开始按钮,此时电路进入抢答状态,选手的输入采用了键盘扫描式的输入,之后把相应的信息送往单片机,再由单片机输出到显示输出电路中,并用LED显示装置显示。此时有人第一按下相应的抢答按钮,经过单片机的控制选择,在八段显示器上显示相应的,并锁存,

7、同时禁止其他按钮的输入。如果倒计时为零答题选手还没有回答完问题,则系统自动返回复位状态。在预备状态,若有人按键,经过单片机的控制选择在显示电路中显示犯规选手的。单片机的控制电路是采用外中断0,1实现的定时控制功能是用时钟电路和振荡器完成的,而根据硬件电路的不同,连接方式分为部时钟方式和外部时钟方式。本设计中采用部时钟方式。STC89C52单片机复位电路时钟电路功能设置键抢答按键报警电路LED显示装置图 2 方案二系统方框图1.3 方案对比与选择数字电路的制作方案比较容易实现,并且在原理方面也是较简单,但这种方式制作过程复杂,而且准确性与可靠性不高,成品面积大,安装、维护困难,在具体的应用过程中

8、也容易出问题。利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路,设计的抢答器具有实时显示抢答选手的和抢答时间的特点,还有复位电路,使其再开始新的一轮的答题和比赛,同时还可编程功能,使其实现其他一些基本的功能。单片机的系统实用性强、判断精确、操作简单、扩展功能强。它的功能实现是比赛开始,主持人读完题之后按下开始键,即抢答开始,此时数码管开始进行1s的加计时,直到有一个选手抢答时,对应的会在数码管上显示出该选手的编号和抢答所用的时间,同时该选手对应的发光二极管会发出相应的光,蜂鸣器也会发出声音,以提示有人抢答本题,如果在规定的10s时间没有做出抢答,则此题作废,即开始重新一轮的抢答

9、。综合考虑采用第二种方案来完成本次八路抢答器课程设计。2 单元电路设计2.1 抢答器显示模块的设计显示模块主要是显示抢答的时间、组别等,使用传统的数码管与发光二极管显示。数码管3具有:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其具有精度高、称量快、操作简单等特点。数码显示是采用BCD编码显示数字,程序编译容易,资源占用较少。数码显示管用来作为时间的显示输出,一般用7段6位数码显示管。本次设计中采用7段共阳数码显示管应用简单、可靠性高、成本低,作为显示输出。连接时段选信号接在8255PB口的PB.0PB.7八个I/O口上。其模块接口电路

10、如图3所示:图 3 显示模块接口电路七段LED字型码如表1所示。表1 七段LED字型码显示字符共阳极字符显示字符共阳极字符0C0HA88H1F9Hb83H2A4HCC6H3B0HdA1H499HE86H592HF8EH682HP8CH7F8HH89H880HLC7H990H灭FFH2.2 控制器模块电路的设计采用ATMEL公司的STC89C52作为系统控制器的CPU(Central Processing Unit)。用8255作为扩展芯片,其芯片引脚如图4所示:图 4 89C52与8255的引脚图2.3 复位电路的设计该复位电路采用上电自动复位和手动复位两种复位方式,按该复位键电路则恢复到最初

11、始状态。图中网络标号所指9连接到单片机的复位引脚。要实现复位只需在52系列单片机的RESET引脚上加上5ms的高电平就可以了。上电复位是利用电容的充电来实现的,即上电瞬间RESET端的电位与Vcc一样,随着电容上储能增加,电容电压也逐渐增大,充电电流减小,RESET端的电位。这样就会建立一个脉冲电压,调节电容与电阻的大小可对脉冲的持续时间进行调节。通常若采用12MHz的晶振时,复位元件参数为22F的电解电容和1k的电阻。按钮复位电路是通过按下复位按钮时,电源对RESET端维持两个机器周期的高电平实现复位的。电路如图5示:图 5 复位电路2.4 晶振电路设计MSC-51单片机的定时控制功能是用时

12、钟电路4和振荡器完成的,而根据硬件电路的不同,连接方式分为部时钟方式和外部时钟方式。本设计中采用部时钟方式。单片机部有一个反相放大器,XTAL1、XTAL2分别为反相放大器的输入端和输出端,外接定时反馈元件组成振荡器(部时钟方式),产生时钟送至单片机部各元件。时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。一般来说单片机部有一个带反馈的线性反相放大器,外界晶振(或接瓷振荡器)和电容就可组成振荡器,如图6所示。加电以后延时一段时间(约10ms)振荡器产生时钟,不受软件控制,图中Y1为晶振,震荡产生的时钟频率主要由Y1确定。电容C1,C2的作用有两个:一是帮助振荡器起振,二是对振荡器

13、的频率起微调作用,典型值为30pF。电路如图6所示:图 6 晶振电路2.5 按键电路设计选手抢答采用4行4列矩阵式键盘5,利用键盘扫描方式来确定键值即选手号,其特点是键多时占用I/O口线少,硬件资源利用合理。矩阵式键盘电路如图7所示。图7 矩阵式按键电路接口图3 软件详细设计3.1 主程序系统结构的设计主程序系统结构应包括系统初始化模块、按键模块、非法抢答模块、正确抢答模块调整抢答时间、调整回答时间和显示模块,结构图如图8所示。系统初始化模块非法抢答模块正确抢答模块调整抢答时间调整回答时间按键模块显示模块图 8主程序系统结构图3.2 显示子程序的设计显示模块由3个共阳极的七段数码管和八个LED

14、指示灯共同组成,用来显示复位、开始、正确抢答选手编号、非法抢答选手编号与抢答计时等。显示子程序的设计流程如图9所示。初始化查表取段码段码送驱动显示关显示显示缓冲区左移位码送低位译码器选通低位数码管YN数字是否显示亮程序入口返回图 9 显示子程序的设计3.3 抢答处理程序的设计通过STC89C52芯片的控制,从而构成了整个电路。抢答组数可以在八组以任意使用,其流程图如图10所示。初始化第一组第二组显示组号NNYYYN第三组开始图10 抢答处理程序设计4 调试功能说明4.1硬件系统的调试系统调试包括硬件调试和软件调试,而且两者是密不可分的。设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正

15、确性;软硬件的配人情况以与是否达到设计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。4.1.1 电路板的制作与检查当智能抢答器的硬件和软件程序设计完成后,为了事先验证硬件和软件的相容性以与整体方案设计的可行性,本设计用Proteus软件对智能抢答器进行仿真,如果软件仿真能够达到设计要求的话,证明整体设计方案具有可行性,可以进行实物电路的焊接,进行软硬件的联合调试。 Proteus相当于硬件开发,只是虚拟的,可以看到程序代码是怎么样一步一步运行。考虑到本系统所用元器件较少,大部分功能都是通过软件编程来实现,同时也出于对毕业设计成本的考虑,因此所用到的板子是自己手工

16、制作的PCB板。在电路板的制作中,首先要进行线路的排布。利用PROTEL 软件模拟实际电路板的线路走向,尽量避免线路出现交叉短路,电源线路尽量安排在电路板的最外圈。PCB板刻录完成之后,开始进行焊接工作。焊接完后进行电路板检查,将原线路图与实际焊接的电路板进行对比,由于线路不多,所以用万用表的欧姆档或是短路声响指示功能来做焊点的检测,如此可以避免焊接时漏焊、虚焊和配线错误的问题,同时保证了所制作出来的线路与原设计线路的一致性。4.1.2 电路模块调试本设计硬件部分主要为显示模块按键模块。硬件电路功能检测主要针对这两部分进行测试。对于显示电路,由于使用的是三联数码管显示屏,首先要确定数码管的共阴

17、还是共阳极。因此先用万用表检测是什么极性。然后再先固定下,检查显示电路能否正常显示。最后再焊接上去。 对于按键部分,首先要确定各个按键是否完好,先自己接到一个简易的电路上测试下,确定完好后再焊接。4.2软件调试软件的设计与调试实行分模块实现方法。本设计软件调试中的分模块包括显示功能模块、调正时间功能模块,抢答功能模块以报警功能模块。各个独立模块功能调试成功后,将这些模块程序通过主程序合并在一起,最后再对合并后的总程序进行调试。各软件模块首先要通过PC和仿真器进行软件调试,当仿真效果符合要求后,再烧写进单片机看能否在实际电路板上正常工作。编程语言的软件设计采用MCS-51汇编语言编写,所使用的调

18、试软件批Proteus。软件的调试必须在开发系统的支持下进行。先分别调试通过各个模块程序,然后调试主程序,再将各部分连接进行调试。调试的围可以由小到大、逐步增加。通常交叉使用单步运行、断点运行、连续运行等多种方式,每次执行完毕后,检查CPU执行现场、RAM的有关容、I/O口的状态等。发现一个问题,解决一个问题,直至全部通过。4.3软硬件系统联合调式将烧录好的AT89S52芯片固定在电路板底座上。接下来给系统通电,系统正常工作时,可以看到:当主持人没有按下“开始抢答键” (外中断1)时,显示装置不显示任何信息,流水灯全亮。如果此时有选手发生抢答(例如1号选手),则显示装置显示“F 1”(Fals

19、e),该号对应的红灯亮,属于犯规;当主持人按下“开始抢答键”时,显示装置抢答的倒计时时间,此时相应的红灯亮。如果抢答倒计时期间有选手抢答,则显示抢答选手的参赛号和回答倒计时时间,如果倒计时为零答题选手还没有回答完问题,则系统自动返回预备状态。任何时候,主持人可以按下手中的“复位”按键终止一切进程,使显示装置显示“000”。另外,按键盘坐标的(3,0),(3,1)可调整下次答题时间。上述情况均是智能抢答器正常工作的情况,如果在软硬件的调试过程中不能做到以上几点,应该努力排错修改,不断完善智能抢答器的功能。4.4焊接的问题与解决一般来说,造成硬件问题的首要问题就是焊接了,也就是说焊接的好与坏直接响

20、产品的正常运行。造成焊接质量不高的常见原因是:(1)焊锡用量过多,形成焊点的锡堆积;焊锡过少,不足以包裹焊点。(2)冷焊。焊接时烙铁温度过低或加热时间不足,焊锡未完全熔化、浸润、焊锡表面不光亮(不光滑),有细小裂纹。(3)夹松香焊接,焊锡与元器件或印刷板之间夹杂着一层松香,造成电连接不良。若夹杂加热不足的松香,则焊点下有一层黄褐色松香膜;若加热温度太高,则焊点下有一层碳化松香的黑色膜。对于有加热不足的松香膜的情况,可以用烙铁进行补焊。对于已形成黑膜的,则要"吃"净焊锡,清洁被焊元器件或印刷板表面,重新进行焊接才行。(4)焊锡连桥。指焊锡量过多,造成元器件的焊点之间短路。这在

21、对超小元器件与细小印刷电路板进行焊接时要尤为注意。(5)焊剂过量,焊点明围松香残渣很多。当少量松香残留时,可以用电烙铁再轻轻加热一下,让松香挥发掉,也可以用蘸有无水酒精的棉球,擦去多余的松香或焊剂。(6)焊点表面的焊锡形成尖锐的突尖。这多是由于加热温度不足或焊剂过少,以与烙铁离开焊点时角度不当浩成的。最小系统的电路不工作,首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否符合电源电压,常用的是5V左右。接下来就是检测复位引脚的电压是否正常,EA引脚的电压要正常为5V左右。5 详细仪器清单 表1 仪器清单仪器名称数量STC89C52芯片1块串口下载线1根电源线1根82

22、55芯片1块六位七段数码显示管1个6总结与致课程设计是培养我们综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体锻练和考察过程。回顾这次单片机课程设计,我感慨颇多。从选题到定稿,从理论到用于实践,在两个星期的日子里不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合的重要性,提高自己的实际动手能力和独立思考的能力。在设计的过程中我学会了用C语言去完成各种功能,了解到它的可读性和可移植性高。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计中的问题。这两个星期经过自己不断的摸索努

23、力以与指导老师的耐心指导和热情帮助,本设计已经基本完成。在这段时间里,老师严谨的治学态度和热忱的工作态度令我十分敬佩,老师的指导使我获益匪浅。在此对指导老师和同学的帮助表示深深的感,让我如期完成了课程设计。通过这次单片机课程设计,深刻地认识到学好专业知识的重要性,也理解了理论不能脱离实际。虽然在这次设计中对于知识的运用和衔接还不够熟练,对某些知识了解的不够透彻,但是我将在以后的工作和学习中继续努力,不断完善自己,不断提高自己。这将近两个星期的课程设计是对过去所学知识的系统提高和扩展的过程,为今后的发展打下了坚实的基础。参考文献1 朱定华,戴汝平.单片微机原理与应用.(M) :清华大学,2003

24、2 宁.单片机与控制技术M. : 航空航天大学,2005.3 周润景 丽娜.基与PROTEUS的电路与单片机仿真M.:航空航天大学,2007.4 万奎.模拟电子技术M.:大学,2005.5 康华光.数字电子技术基础M.:高等教育,20076 蔡明文等.单片机课程设计M.:华中科技大学出附录二:程序/*Main函数*/#include "reg52.h"#define uchar unsigned char#define uint unsigned intextern void delayms(uint xms);extern void display1 (uchar pla

25、ce,uchar num);extern uchar Scan_Keyboard(void);uchar disbuf6=0x10,0x10,0x10,0x10,0x10,0x10;uchar time; /计时uchar answer_time=30;uchar prepare=0; /用来判断是否允许抢答uchar key_enable=0; /用来判断是否允许按键uchar re_prepare=0;uchar time_start=0; /用来判断是否开始计时uchar light=0x00;uchar Timer_Count=0; /20次50ms/*延时子程序*/void dela

26、yms2 (uint xms)uint i,j;for(i=xms;i>0;i-)for(j=123;j>0;j-);void lightdis(void)P1=light;delayms(1);void resp(uchar temp);void main(void)uchar i;uchar temp = 0;time=answer_time;TMOD = 0x01;TH0 = 0x3C;TL0 = 0xB0;ET0 = 0;IT0 =0;IT1=0;EX0=1;EX1=1;EA =1;while(1)for(i=0;i<6;i+)display(i,disbufi) ;

27、 /数码管显示lightdis(); /LED显示if(key_enable=1) /若允许抢答,则扫键temp=Scan_Keyboard();resp(temp); /抢答if(time_start=1) /如果开始答题,则开始计时TR0=1;ET0=1;EX1=0;disbuf0=0x0a;disbuf4=time/10;disbuf5=time%10;if(time=0|re_prepare=1) /当计时为0或重新准备时time=answer_time;TR0=0; /关闭计时器ET0=0;EX1=1;disbuf0=0x11; /预备disbuf2=0x10;disbuf4=0x1

28、0;disbuf5=0x10;key_enable=1;re_prepare=0;time_start=0;light=0xfe;prepare=0; /不允许抢答void resp3 (uchar temp)if(prepare=0) /不允许抢答if(temp=0)/*EX1=1;*/ return;else/EX1=0;disbuf2=temp;disbuf0=0x0f;key_enable=0; /不允许按键if(temp=1)light=0xfb;else if(temp=2)light=0xef;else if(temp=3)light=0xbf;else if(prepare=1

29、) /允许抢答if(temp=0) return;elsedisbuf2=temp;disbuf0=0x0b;key_enable=0; /不允许按键time_start=1; /允许开始计时if(temp=1)light=0xf7;else if(temp=2)light=0xdf;else if(temp=3)light=0x7f;void int0(void) 4 interrupt 0 /外中断0预备 EX0=0; delayms(1); light=0xfe; lightdis(); disbuf0=0x11; disbuf2=0x10; disbuf4=0x10; disbuf5=

30、0x10; prepare=0; key_enable=1; re_prepare=1; EX0=1; IE0=0;void int1(void) interrupt 2 /外中断1开始抢答 EX1=0; delayms(1); light=0xfd; lightdis(); disbuf0=0x0b; disbuf2=0x10; disbuf4=0x10; disbuf5=0x10; prepare=1; key_enable=1; re_prepare=0; EX1=1; IE1=0;void ISR_Timer0(void) interrupt 1Timer_Count+;TH0 = 0

31、x3C;TL0 = 0xB0;if(Timer_Count = 20)Timer_Count = 0;time-; #include "reg51.h"#include "ABSACC.H"#define a8255_PA XBYTE0xD1FF /*PA口地址*/#define a8255_PB XBYTE0xD2FF /*PB口地址*/#define a8255_PC XBYTE0xD5FF /*PC口地址*/#define a8255_CON XBYTE0xD7FF /*控制字地址*/extern void delayms5 (unsigned c

32、har Num);unsigned char const dis_table= 0xA0,0xBB,0x62,0x2A, 0x39,0x2C,0x24,0xBA, 0x20,0x28,0x30,0x25, 0xE4,0x23,0x64,0x74,/C,D,E,F0xff,0x70; /灭,Pvoid display(unsigned char place,unsigned char num)unsigned char i = 0,display_num = 0; a8255_CON=0x81; a8255_PB=0xff; a8255_PA=0xff;a8255_PA= (0x01<<(place); /位选if(num >= 0 && num <=0x11) a8255_PB = dis_tablenum;else a8255_PB = 0xff;delayms(1);#include "reg51.h"#include "ABSACC.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论