基于单片机八路抢答器

上传人:第*** 文档编号:61115785 上传时间:2018-11-24 格式:DOCX 页数:24 大小:824.44KB
返回 下载 相关 举报
基于单片机八路抢答器_第1页
第1页 / 共24页
基于单片机八路抢答器_第2页
第2页 / 共24页
基于单片机八路抢答器_第3页
第3页 / 共24页
基于单片机八路抢答器_第4页
第4页 / 共24页
基于单片机八路抢答器_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《基于单片机八路抢答器》由会员分享,可在线阅读,更多相关《基于单片机八路抢答器(24页珍藏版)》请在金锄头文库上搜索。

1、中国矿业大学2016-2017学年第一学期电气工程专业创新创业教育与实践总结报告班 级 a姓 名 a学 号 a成 绩 a基于单片机的八路抢答器一、方案比较与选择 1、根据目前市场上抢答器的种类,抢答器的种类可以大体分为三种: 方案一: 抢答器系统的各部分均采用中小规模集成数字电路,利用硬件电子元器件实现,用机械开关按钮作为控制开关,完成抢答输入信号的触发。如采用74LS148优先编码器来实现抢答功能等。该方案的特点是中小规模集成电路应用技术成熟,性能可靠,能方便地完成选手抢答的基本功能,没有软件的设计部分,不需要编程,但是电路结构复杂,调试困难,涉及到的外围元器件很多,造成抢答器的成本较高,并

2、且制作过程工序比较烦琐,不便于安装与调试,给实际操作带来很大的麻烦。 方案二:系统设计主要基于可编程的PLC设计,系统包括硬件和软件两大部分,依据控制系统的工作原理和技术性能,将硬件和软件分开设计。硬件设计部分包括电路原理图、合理选择元器件、绘制线路图,然后对硬件进行调试、测试,以达到设计要求。软件设计部分,首先在总体设计中完成系统总框图和各模块的功能设计,选择合适的编程语言和工具,进行代码设计等;最后是对软件进行调试、测试,达到所需功能要求。 方案三:系统采用STC89C52单片机作为控制核心,其片内带有8KBflashROM,256B的RAM,以及32根I/O口线能满足设计要求。该系统可以

3、完成运算控制、信号识别以及显示功能的实现。利用单片机程序判断选手按键是否有效,是否有选手违规抢答,利用程序显示,启动蜂鸣器报警,告诉主持人有人违规操作,抢答无效。给出相应的延时,选手按正常的操作抢答,软件倒计时,利用数码管的动态扫描,实现倒计时显示时间,到5秒相应时间提醒选手时间快到了,要及时作答,并启动蜂鸣器。由于采用了单片机,其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。2、方案比较分析第一个方案中,抢答器由抢答电路、定时电路、报警电路和时序控制电路四个关键电路部分组成。扩展电路是秒钟

4、脉冲信号产生电路、译码电路、显示电路等,它的功能很齐全,设计的电路也很稳定,但是成本却很高,所需集成电路非常多且连线复杂。而方案二采用可编程PLC设计抢答器,但该系统的投入成本过于高昂,软件编程过于繁琐,对编程的语言掌握程度要求很高,而且PLC在该领域的应用很少,普通人对PLC的理解及掌握都不是很深入,鉴于通用性和节省的原则,我们不采用该方案。方案三以单片机为核心器件,外围电路采用集成芯片,其可靠性好、结构简单,不但从性能上优于方案一和方案二,而且在使用及其功能的实现上都较其他方案简洁,并且由于单片机具有优越的高集成电路性,使其工作速度更快、效率更高。另外单片机采用12MHz的晶振,提高了信号

5、的测量精度,并且使该系统可以通过软件改进来扩张功能,经济实用,所以我们选用基于单片机的方案。二、电路原理与设计设计要求:1、可同时提供最多包括8个人(组)的抢答数量。2、 需由主持人按下开始抢答按键后才视为抢答时间,在这个时间前抢答的,视为违规抢答,要求能显示出违规抢答的选手编号。3、要求当主持人按下开始抢答的按键后,数码管进行抢答时间的倒计时,在这个倒计时结束后,若无人抢答,蜂鸣器报警,提示本轮抢答结束,且这个抢答时间可设置。4、要求具有抢答锁定功能,即某一选手抢到后,其它选手的抢答功能被锁定,无法进行抢答,直至下一轮抢答开始。5、对于抢到题目的选手,要求能显示出该选手的编号,并将其答题时间

6、进行倒计时显示,在倒计时结束后,蜂鸣器报警,提示本次答题时间到,且这个抢答时间可设置。6、原始状态下抢答时间为30s,回答问题时间为15s。通过加键和减键修改上述时间,改完后再断电、重新上电即可。1、系统概述整个系统以STC89C52单片机为核心器件,其它模块围绕着单片机展开。输入部分包括2个内容,一个是选手的抢答输入,另一个是主持人的控制输入,由于这两个内容都是通过按键控制的,所以这里统一使用普通的轻触开关作为本设计的输入模块,一共包括8个选手输入按键和2个主持人输入按键。输出部分则采用蜂鸣器加四位共阳数码管进行声光的输出,蜂鸣器主要起到报警的作用,这里主要有几个需蜂鸣器发出报警的地方,如最

7、后5秒仍无人抢答、答题剩余最后5秒、抢答时间结束以及答题时间结束等。而数码管则主要用于信息的输出,包括当主持人按下开始抢答按键后,显示30秒(默认)的倒计时,当有选手违规抢答时,显示违规选手的编号,有人抢到题目时,显示选手编号以及该选手剩余的答题时间。 系统框图: 蜂鸣器报警模块STC89C52最小系统 选手抢答输入 数码管显示模块主持人控制输入 图1 1)、最小系统电路STC89C52的最小系统如图2所示,整个最小系统由4个部分组成,晶振电路部分、复位电路部分、P0口上拉电路部分以及程序下载口部分。30pF的电容C4和C5以及12M的晶振X1构成了单片机的晶振电路,2个小电容的作用是帮助X1

8、起振。复位电路由10uF的电解电容C1和10K的电阻R2构成,本复位电路包括上电自复位和按键复位2个功能。本设计将P0口用作数码管的数据口,因此在P0口接了一个10K的排阻,使得P0口可以作为普通的I/O口使用,最后,为了方便调试和下载,还把P30、P31、GND和VCC这4个引脚通过排针引出来作为程序的下载口。图22)、键盘扫描电路键盘是人与单片机打交道的主要设备。站在系统监控软件设计的立场上来看,仅仅完成键盘扫描、读取当前时刻的键盘状态是不够的,还有不少问题需要妥善解决,否则在操作键盘时就会出现误操作和操作失控现象。在单片机应用中,键盘用得最多的形式是独立键盘及矩阵键盘。它们各有自己的特点

9、,其中独立键盘硬件电路简单,而且在程序设计上也不复杂,一般用在对硬件电路要求不高的简单电路中;矩阵键盘与独立键盘有很大区别,首先在硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要繁琐,但它在节省端口资源上有优势得多,因此它更适合于多按键电路。其次就是消除在按键过程中产生的“毛刺”现象。这里采用最常用的方法,即延时重复扫描法,延时法的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。本设计中采用了独立键盘的方式,有8个抢答按键输入、一个复位按键以

10、及一个主持人使用的开始抢答按键,同时为了简化电路设计、节约单片机的I/O口资源,将设置抢答时间和答题时间等这些功能按键复合到了8个选手的抢答按键中。 图33)、蜂鸣器报警电路 由于蜂鸣器工作时需要的电流比较大,单片机的IO口输出的电流又比较小,所以这里利用三极管来控制蜂鸣器发音,本设计选用的三极管型号是PNP三极管S8550,而且本设计选用的蜂鸣器属于有源蜂鸣器,即在蜂鸣器内部已经内置了震荡电路,单片机无需连续发出高低电平来驱动它,而只要输出高(或低)电平即可,这大大简化了单片机程序的设计,由于选用的是PNP型而单片机上电IO口默认是高电平的,所以上电时蜂鸣器是不会发出鸣叫的。蜂鸣器电路如图4

11、所示。 图44)、数码管显示电路显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息全靠软件来解决。在这里我们使用的是七段数码管显示,通常在显示上我们采用的方法一般包括两种:一种是静态显示,一种是动态显示。其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多;动态显示的特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。在本设计中根据实际情况采用的是动态显示方法。数码管还分共阳型和共阴型,本设计采用的是4位共阳数码管。通过查表法,将其在数码管上显示出来,其中P0口为字型码输入端,P2口低4位为字选段输入端。在这里我们通过

12、查表将字型码送给7段数码管,4位七段数码管显示电路如图5所示。其中A、B、C、D、E、F、G、DP段分别接到单片机的P0口,由单片机P0口输出的数据来决定段码值,位选码W1、W2、W3、W4分别接到单片机的P20、P21、P22以及P23上,由单片机来决定当前该显示的是哪一位。由于单片机的I/O口驱动电流不够,这里还使用了4个NPN的三极管S8050对电流放大来驱动数码管的位选。 图5设计电路图(原理图、PCB图)三、程序设计 1、总体程序设计 八路抢答器的整体程序流程图如图6所示,程序从定时器的初始化开始,这里用到了单片机的2个定时器,1个用于数码管的动态扫描,另一个用于答题时间的计时。接着

13、程序开始判断是否进入抢答时间设置,如果有则进入抢答时间设置模式,没有则继续判断是否进入答题时间设置,如果有则进入答题时间设置模式,没有则跳出,进入主程序的大循环。进入大循环之后,就扫描是否有按键按下,有的话就判断是哪个按键,如果是主持人按下了开始抢答按键,则进入抢答模式,如果是选手按下了抢答键,则蜂鸣器报警,此时有选手违规抢答(即在主持人按下开始抢答按键前就抢答了),同时将违规选手的编号显示在数码管上,直至主持人按下复位键,则清除报警状态。如果一直没检测到按键按下,则一直在大循环里面扫描按键。进入抢答模式后,数码管开始将抢答时间倒计时并显示在数码管上,如果在抢答时间内无人抢答,则在最后5秒蜂鸣

14、器发出滴滴的报警声,并且5秒结束后,蜂鸣器一直鸣叫,表示此轮抢答结束,并且数码管显示“-”,直至主持人按下复位键退出报警。如果在抢答时间内有选手抢答题目时,则在数码管将选手的编号显示出来,并显示答题时间的倒计时,同抢答时间一样,在最后5秒蜂鸣器会发出滴滴的报警声,答题时间结束后,蜂鸣器也会一直鸣叫,表示此轮抢答结束,直至主持人按下复位键退出报警。开始是是否设置抢答时间设置抢答时间否是设置答题时间是否设置答题时间否等待按键按下是是否违规抢答否是发出警报结束答题倒计时是否有选 手抢答否 图61)、抢答、答题时间设置为了简化抢答器的硬件电路,将抢答时间和答题时间的设置按键和抢答键合并到了一起。如需设置抢答时间,先断开抢答器的电源,然后按下按键一(选手一的抢答键),然后上电,系统上电检测到按键一被按下了,那么就进入到抢答时间的设置,通过按键七(减)和按键八(加)来设置答题时间的大小。答题时间的设置也基本类似,只不过是在上电前按下按键二而已。2)、数码管动态扫描程序为了简化程序、合理利用单片机的内部资源,所以将数码管的动态扫描程序通过定时器来实现。本设计设置的定时器发生中断的时间为2毫秒,每次显示四位中的一位,因此完成四位数码管的扫描需要8毫秒的时间,即发生四次定时器中断。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号