《基于单片机stc89c52rc的八路抢答器-课程设计报告.doc》由会员分享,可在线阅读,更多相关《基于单片机stc89c52rc的八路抢答器-课程设计报告.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、信息与电子工程学院课程设计报告课 程单片机技术应用设计题目基于单片机STC89C52RC的八路抢答器专 业 应用电子技术班 级 11级4班成 员 姓 名学 号分工成 绩软件部分硬件部分指导老师答辩日期 2013-6-211目 录一、课程设计概述- 1 -1.1课程设计背景- 1 -1.2课程设计内容- 1 -1.3课程设计技术指标- 1 -二、方案的选择及确定- 1 -2.1方案一:集成数字电路- 1 -2.2方案二:单片机- 2 -2.3方案分析比较:- 2 -三、硬件设计- 2 -3.1系统硬件设计- 3 -3.2复位电路的设计- 3 -3.3时钟电路设计- 3 -3.4显示电路设计- 4
2、 -3.5按键电路设计- 5 -3.6报警电路设计- 6 -3.7电源模块设计- 6 -四、系统软件设计- 7 -4.1系统的功能流程- 7 -4.2主程序流程图- 7 -五、系统调试过程- 8 -5.1软件调试- 8 -5.2硬件调试- 10 -六、总结- 11 -七、遇到的问题及解决方法- 11 -八、参考文献- 12 -九、附录- 12 -9.1仪器与设备- 12 -9.2元器件清单- 12 -9.3原理图- 13 -9.4 PCB图- 14 -9.5实物图- 14 -9.6操作说明书- 15 -I基于单片机的八路抢答器一、课程设计概述1.1课程设计背景抢答器作为一种工具,已广泛应用于各
3、种智力和知识竞赛场合。但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了该抢答器。1.2课程设计内容此电路是由STC89C52RC单片机为主控核心,具有在线编程功能。本次设计抢答器电路具有13个按键,其中S1S8为八路的抢答按键,S9为“开始”键,S10为“判断错”键,S11为“调整”键,S12为“加”键,S13为“减”键。可通过数码管来显示抢答者编号、抢答时间以及回答时间等各种功能为一体的抢答器。1.3课程设计技术指
4、标本课程设计指标:1) 抢答器供八位选手抢答;2) 具有开始、复位、判断错、调整、加、减功能;3) 判断错的次数:2次;4) 初始设置的抢答时间:20S;5) 初始设置的回答时间:60S;6) 可调整时间:099S;7) 倒计时时间:最后10S。二、方案的选择及确定2.1方案一:集成数字电路系统各部分采用中小规模集成数字电路,用机械开关按钮作为控制开关,完成抢答输入信号的触发。该方案的特点是中小规模集成电路应用技术成熟,性能可靠,能方便地完成选手抢答的基本功能,但是由于系统功能要求较高,所以电路连接集成电路相对较多,而且过于复杂,并且制作过程工序比较烦琐,使用不太方便。2.2方案二:单片机该系
5、统采用51系列单片机STC89C52RC作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。MCS-51单片机特点如下:可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。控制功能强:单片机指令除了输入输出指令,逻
6、辑判断指令外还有更丰富的条件分支跳跃指令。2.3方案分析比较:抢答按扭优先编码电路锁存器译码电路译码显示主持人控制开关控制电路报警电路秒脉冲产生电路定时电路译码电路显示电路方案二比方案一简单的多,不但从性能上优于方案一,而且在使用上及其功能的实现上都较方案一简洁,并且由于单片机具有优越的高集成电路性,使其工作速度更快、效率更高。另外STC89C52RC单片机采用12MHz的晶振,提高了信号的测量精度,并且使该系统可以通过软件改进扩张功能。而方案一采用了中小规模集成电路,有其复杂的电路性能,从而可能会使信号的输入输出产生延时及不必要的误差。所以,选择方案二比较适合。 图1 整体框图三、硬件设计本
7、设计介绍了用单片机STC89C52RC及外围接口电路实现的抢答系统,当电路处于正常工作状态下,抢答操作完成后,能通过数码管直观地显示抢答成功的选手号码。并分别从硬件和软件两方面对设计思想进行了阐述。硬件设计包括:单片机系统,振荡电路、显示电路、按键电路、报警电路、电源电路等。3.1系统硬件设计报警电路数码管显示电源部分按键输入根据系统框图和设计方案本文硬件电路主要分为三个部分:第一部分为STC89C52RC、复位电路和时钟电路组成的最小系统模块;第二部分为由数码管和三极管组成的显示模块;第三部分为按键和上拉电阻组成的输入模块;第四部分为蜂鸣器、三极管和电阻组成蜂鸣器模块;第五部分为点动开关、电
8、阻和发光二极管组成的电源模块。 图2 系统框图3.2复位电路的设计复位电路是由按钮、10k的电阻和22uF的电容组成的。外部中断和内部中断并存,单片机硬件复位端,只要持续4个机器周期的高电平即可实现复位,硬件复位后的各状态可知寄存器以及存储器的值都恢复到了初始值,因为本设计中功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位,只能用软件复位,软件复位实际上就是当程序执行完之后,将程序通过一条跳转指令让它完成复位。复位电路如图3所示。3.3时钟电路设计时钟电路由2个22pF的电容和晶振组成。单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定
9、的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。电路中两个电容C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。时钟电路如图4所示。图3 复位电路图4 时钟电路3.4显示电路设计数码显示部分是由1个四位一体的数码管、4个5.1K电阻和4个8550三极管组成。显示模块主要是显示抢答的时间,组别号码等。显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。在这里我们使用的是四位一体的共阳数码管显示图中有一个排阻,连接在P0口上,用作P0口的上拉电阻,保证P0口没有数据输出时候处于高电平状态。通过查表法,将其在数码管
10、上显示出来,其中P0口为字型码输入端,P1口低4位为字选段输入端。在这里我们通过查表将字型码送给四位一体数码管显示的数字。如图5所示。图5 显示电路3.5按键电路设计按键电路部分采用13个10K的电阻和13个按键组成,分别是S1S13。13个按键采用并接方式。在主持人按下开始键后,8位选手可以开始抢答,抢答器有效时,通过端口电平的变化来判断谁是最先抢答的;如果在按开始键之前抢答,则抢答无效,可按复位键来重置,重置后在按下开始键之后进行抢答。抢答器输入信号由8个小按键控制,当有按键按下时,就产生了有效的输入信号,本文使用了上拉电阻把输入信号先嵌位在高电平。当有按键按下时便使与这个按键相连的引脚变
11、为低电平,产生一个低电平的输入信号。如图6所示。图6 按键电路3.6报警电路设计本设计中蜂鸣器电路由蜂鸣器、8550三极管、5.1K电阻组成。蜂鸣器是利用三极管处于开关状态时,具有导通与截止两种工作状态,相当于电键的闭合与断开,在三极管导通时,蜂鸣器工作,三极管截止时,蜂鸣器不工作。三极管采用8050 NPN型晶体管,将其基极接于P1.5口,当其为高电平时三极管导通,当其为低电平时三极管截止。图7 报警电路3.7电源模块设计电源模块由:点动按钮、1K电阻和发光二极管组成。当按下SB6时LED发光电路得电。图8 电源模块四、系统软件设计系统软件设计利用Keil进行C语言编写。在系统的软件设计中采
12、用了模块化设计,将系统的各部分功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。4.1系统的功能流程根据本文的电路求出要显示不同路数的数字所需要的编码,将它们存在一个表中待用时取出。8位抢答输入信号由8个按键控制,程序一直判断是否有按键按下,若没有按键按下则循环判断;直到有按键按下后,立即把通过按键输入的信号储存起来,然后对8路输入信号进行逐位扫描判断,最后根据扫描结果转入查表程序取数并通过数码管显示输出结果。4.2主程序流程图程序设置,开始按键:S9;判断错误:S10;调整时间:S11;加:S12;减:S13。如图9所示。开始初始化进入调整?设置抢答或回答时间抢答倒计时有人抢答?
13、显示抢答通道编号,答题计时开始判断错?时间=9?蜂鸣器发声,数码管后两位闪回答时间到关闭蜂鸣器,数码管停止闪YNYNYNYNAABB按下开始键 图9 程序流程图五、系统调试过程5.1软件调试实验的程序通过Keil软件编译,产生HEX文件如图10所示:图10 编译输出结果通过Pruteus进行仿真,按下“开始”后,数码管开始倒计时,仿真结果如图11所示:图11 Proteus仿真当有选手按下按钮时,数码管显示选手号码并开始倒计时,如图12所示:图12 6号选手按下通过仿真结果证实,该设计可行。该设计方案通过51系列单片机的P0端口为段选输出,动态扫描LED显示管,显示时间。并通过接在P3.0-P
14、3.4口的按键开关控制开始、判断错、调整、加、减功能。P2口接选手按键,控制抢答。5.2硬件调试接通电源,实板上数码管显示初始状态,如图13所示:图13接通电源状态当按下“开始”键时,数码管开始倒计时,如图14所示:图14开始倒计时当有选手按下按钮时,数码管显示选手号码并开始倒计时,如图15所示:图15有选手按下当按下“调整”按键,数码管显示如图16所示:图16 调整状态当按下“加1”按键,数码管显示如图17所示:图17 调整加1按下“减1”按键,数码管显示如图18所示:图18调整减1通过实板调试,基本实现所需要的功能。六、总结本设计基于单片机技术、中断原理、定时器/控制器技术、制作电路板设计
15、了一种八路抢答器,该抢答器包括硬件构成、软件设计,通过八个小按键控制抢答器的输入信号,当有按键按下时,就产生了有效的输入信号,输入给单片机,经过单片机控制处理后,将信号传给数码管,通过数码管显示抢答的成功。通过调试,结果大部分符合抢答器设计要求。完成课题目标90%。其中,选手按键6有时不能使用。七、遇到的问题及解决方法遇到的问题:1)在Proteus软件仿真无法调整抢答/回答时间。2)实板做好后调试时数码管上b段不能显示,选手按键5无法抢答。解决方法:1)修改程序。2)换了块芯片。八、参考文献1程相波,卫安军.基于MCS-51单片机的八路抢答器设计方法研究J.北京工业职业技术学院学报,2007
16、,(02).2李锦荣,基于单片机技术的电子抢答器系统J.黑龙江科技信息,2007,(04).3杨黎,基于C语言的单片机应用技术与Proteus仿真.中南大学出版社,2012,(08).九、附录9.1仪器与设备工具、设备和耗材数量电脑1台Keil uVison41套Proteus 7.5软件1套51单片机下载线和USB线1根晶振12M1只单片机实训板1块AT89C511片稳压电源1台9.2元器件清单元件名称型号、规格数量价格排阻103J1排1.4元/个电阻1k9个0.1元/个电阻5.1k5个0.1元/个电阻10k14个0.1元/个按钮开关12B14个0.5元/个晶振12MHZ1只0.25元/个电
17、解电容 22uF1个0.34元/个瓷片电容22pF2个0.05元/个三极管PNP85505个0.01元/个数码管JM-S05641A-B1个1.35元/个芯片STC89C52RC1片4.5元/个电源线40cm1条3元/条自锁开关5.8*5.81个0.25元/个LEDRED1个0.04元/个蜂鸣器12mm*9.5mm1个0.58元/个9.3原理图图19 原理图9.4 PCB图图20 PCB图9.5实物图图21 实物图9.6操作说明书1)开机,按电源开关,数码管显示。2)按开始按键当主持人宣布抢答开始时,马上按一下开始键,屏幕显示所设定的抢答倒计时时间并开始倒计时3)按抢答按键如果有参赛组抢答,按一下抢答按钮,数码管立即显示该组的组别号。说明该组抢答成功。4)判断错有参赛组抢答成功后,如果参赛者回答错误,就可以按下判断错的按键。进行下一次抢答。5)提前取消倒计时无论是抢答还是答题的倒计时时间,需要提前退出,只要按一下复位键,即可返回到初始状态。6)调节抢答时间或答题时间按“调整键”再按“加一”键或“减一”键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下加1s键,如果想减一秒按一下“减1s”键,时间数码管上会显示改变后的时间,调整范围为099s, 0s时再减1s会跳到99,99s时再加1s会变到0s。- 15 -
限制150内