基于单片机STC89C52RC的八路抢答器课程设计报告75092282信息与电子工程学院课程设计报告课程单片机技术应用设计题目基于单片机STC89C52RC的八路抢答器专业应用电子技术班级11级4班成员姓名学号分工成绩软件部分硬件部分目录一、课程设计概述.................................................................................................................... - 1 -1.1课程设计背景 (1)1.2课程设计内容 (1)1.3课程设计技术指标 (1)二、方案的选择及确定............................................................................................................ - 1 -2.1方案一:集成数字电路 (1)2.2方案二:单片机 (2)2.3方案分析比较: (2)三、硬件设计............................................................................................................................ - 3 -3.1系统硬件设计 (3)3.2复位电路的设计 (3)3.3时钟电路设计 (3)3.4显示电路设计 (4)3.5按键电路设计 (5)3.6报警电路设计 (6)3.7电源模块设计 (7)四、系统软件设计.................................................................................................................... - 7 -4.1系统的功能流程 (7)4.2主程序流程图 (7)五、系统调试过程.................................................................................................................... - 9 -5.1软件调试 (9)5.2硬件调试 (10)六、总结.................................................................................................................................. - 13 -七、遇到的问题及解决方法.................................................................................................. - 13 -八、参考文献.......................................................................................................................... - 13 -九、附录.................................................................................................................................. - 14 -9.1仪器与设备 (14)9.2元器件清单 (14)9.3原理图 (15)9.4PCB图 (15)9.5实物图 (16)9.6操作说明书 (16)一、课程设计概述1.1课程设计背景抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。
但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。
作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了该抢答器。
1.2课程设计内容此电路是由STC89C52RC单片机为主控核心,具有在线编程功能。
本次设计抢答器电路具有13个按键,其中S1~S8为八路的抢答按键,S9为“开始”键,S10为“判断错”键,S11为“调整”键,S12为“加”键,S13为“减”键。
可通过数码管来显示抢答者编号、抢答时间以及回答时间等各种功能为一体的抢答器。
1.3课程设计技术指标本课程设计指标:1)抢答器供八位选手抢答;2)具有开始、复位、判断错、调整、加、减功能;3)判断错的次数:2次;4)初始设置的抢答时间:20S;5)初始设置的回答时间:60S;6)可调整时间:0~99S;7)倒计时时间:最后10S。
二、方案的选择及确定2.1方案一:集成数字电路系统各部分采用中小规模集成数字电路,用机械开关按钮作为控制开关,完成抢答输入信号的触发。
该方案的特点是中小规模集成电路应用技术成熟,性能可靠,能方便地完成选手抢答的基本功能,但是由于系统功能要求较高,所以电路连接集成电路相对较多,而且过于复杂,并且制作过程工序比较烦琐,使用不太方便。
2.2方案二:单片机该系统采用51系列单片机STC89C52RC作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。
由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。
整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。
MCS-51单片机特点如下:可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。
单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。
控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。
2.3方案分析比较:方案二比方案一简单的多,不但从性能上优于方案一,而且在使用上及其功能的实现上都较方案一简洁,并且由于单片机具有优越的高集成电路性,使其工作速度更快、效率更高。
另外STC89C52RC单片机采用12MHz的晶振,提高了信号的测量精度,并且使该系统可以通过软件改进扩张功能。
而方案一采用了中小规模集成电路,有其复杂的电路性能,从而可能会使信号的输入输出产生延时及不必要的误差。
所以,选择方案二比较适合。
图1 整体框图三、硬件设计本设计介绍了用单片机STC89C52RC及外围接口电路实现的抢答系统,当电路处于正常工作状态下,抢答操作完成后,能通过数码管直观地显示抢答成功的选手号码。
并分别从硬件和软件两方面对设计思想进行了阐述。
硬件设计包括:单片机系统,振荡电路、显示电路、按键电路、报警电路、电源电路等。
3.1系统硬件设计根据系统框图和设计方案本文硬件电路主要分为三个部分:第一部分为STC89C52RC、复位电路和时钟电路组成的最小系统模块;第二部分为由数码管和三极管组成的显示模块;第三部分为按键和上拉电阻组成的输入模块;第四部分为蜂鸣器、三极管和电阻组成蜂鸣器模块;第五部分为点动开关、电阻和发光二极管组成的电源模块。
图2 系统框图3.2复位电路的设计复位电路是由按钮、10k的电阻和22uF的电容组成的。
外部中断和内部中断并存,单片机硬件复位端,只要持续4个机器周期的高电平即可实现复位,硬件复位后的各状态可知寄存器以及存储器的值都恢复到了初始值,因为本设计中功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位,只能用软件复位,软件复位实际上就是当程序执行完之后,将程序通过一条跳转指令让它完成复位。
复位电路如图3所示。
3.3时钟电路设计时钟电路由2个22pF的电容和晶振组成。
单片机必须在时钟的驱动下才能工作。
在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。
电路中两个电容C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。
时钟电路如图4所示。
图3 复位电路图4 时钟电路3.4显示电路设计数码显示部分是由1个四位一体的数码管、4个5.1K电阻和4个8550三极管组成。
显示模块主要是显示抢答的时间,组别号码等。
显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。
在这里我们使用的是四位一体的共阳数码管显示图中有一个排阻,连接在P0口上,用作P0口的上拉电阻,保证P0口没有数据输出时候处于高电平状态。
通过查表法,将其在数码管上显示出来,其中P0口为字型码输入端,P1口低4位为字选段输入端。
在这里我们通过查表将字型码送给四位一体数码管显示的数字。
如图5所示。
图5 显示电路3.5按键电路设计按键电路部分采用13个10K的电阻和13个按键组成,分别是S1~S13。
13个按键采用并接方式。
在主持人按下开始键后,8位选手可以开始抢答,抢答器有效时,通过端口电平的变化来判断谁是最先抢答的;如果在按开始键之前抢答,则抢答无效,可按复位键来重置,重置后在按下开始键之后进行抢答。
抢答器输入信号由8个小按键控制,当有按键按下时,就产生了有效的输入信号,本文使用了上拉电阻把输入信号先嵌位在高电平。
当有按键按下时便使与这个按键相连的引脚变为低电平,产生一个低电平的输入信号。
如图6所示。
图 6 按键电路3.6报警电路设计本设计中蜂鸣器电路由蜂鸣器、8550三极管、5.1K电阻组成。
蜂鸣器是利用三极管处于开关状态时,具有导通与截止两种工作状态,相当于电键的闭合与断开,在三极管导通时,蜂鸣器工作,三极管截止时,蜂鸣器不工作。
三极管采用8050 NPN型晶体管,将其基极接于P1.5口,当其为高电平时三极管导通,当其为低电平时三极管截止。
图7 报警电路3.7电源模块设计电源模块由:点动按钮、1K电阻和发光二极管组成。
当按下SB6时LED发光电路得电。
图8 电源模块四、系统软件设计系统软件设计利用Keil进行C语言编写。
在系统的软件设计中采用了模块化设计,将系统的各部分功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。
4.1系统的功能流程根据本文的电路求出要显示不同路数的数字所需要的编码,将它们存在一个表中待用时取出。
8位抢答输入信号由8个按键控制,程序一直判断是否有按键按下,若没有按键按下则循环判断;直到有按键按下后,立即把通过按键输入的信号储存起来,然后对8路输入信号进行逐位扫描判断,最后根据扫描结果转入查表程序取数并通过数码管显示输出结果。