找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8520|回复: 0
打印 上一主题 下一主题
收起左侧

单片机八位竞赛抢答器的工作原理介绍

[复制链接]
跳转到指定楼层
楼主
ID:794987 发表于 2020-7-1 17:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
抢答器的工作原理是采用单片机最小系统,用程序查询方式使动态显示倒计时时间并且同时使LED灯亮。主持人按下开始抢答键才可以抢答。主持人按下清零开关重新抢答。主持人按下开始抢答按纽(P2..1),扬声器响声提示,数码管30秒倒计时抢答,扬声器响,30秒内有人抢答则显示该抢答人编号,同时警报响。从而完成一次抢答或者一次知识竞赛的任务。

1.2  竞赛抢答器总体框图


图1 总体设计框图


第2章  系统硬件设计

2.1  工作原理

通过键盘改变抢答的时间,原理与闹钟时间的设定相同,将定时时间的变量置为全局变量后,通过键盘扫描程序使每按下一次按键,时间加1。同时单片机不断进行按键扫描,当参赛选手的按键按下时,用于产生时钟信号的定时计数器停止计数,同时将选手编号(按键号)和抢答时间分别显示在LED上。


2.2  晶振电路

   该晶振电路使用的是内部时钟电路,晶振的频率为12MHZ,提供89C51的时钟脉冲使89C51工作。复位电路使用的是按键与上电复位,复位电路是单片机初始化,使单片机重新开始执行程序。当复位开关按下RST由低电平变为高电平,则程序从头开始执行,在此次课程设计电路中当一个问题结束主持人后按下复位开关后进行下一题的准备。

晶振电路电路图如下页图2所示:

                                  图2 晶振电路电路图


2.3  抢答电路

AT89C51的P1口做一个为选手抢答的输入按键引脚,P1.0至P1.7轮流输出低电位,给每一个选手编号1至8,当选手按下按钮时,P1口个端口的电平变化从P1口输入,经单片机处理后从P0输出由LED灯显示出来此组。

抢答电路电路图如图3:


                                    图3 抢答电路电路图


2.4  显示电路

此电路包括显示和驱动,显示采用数码管和LED灯,驱动用P2和P0口,违规者编号和正常抢答者编号将通过与P0口相连的LED灯显示出来,抢答30秒倒计时和回答问题时间60秒倒计时由P3口上的数码管采用动态显示。为了保证LED灯和数码管有合适的压降在连接电路为它们相应地串连上了电阻。显示电路电路图如图4:

图4 显示电路电路图


控制电路的设计

当赛事进行时,提示开始作答和复位时还需要主持人对抢答器进行控制,其提示是通过扬声器发出声音来实现的。这就需要我们进行控制电路的设计。其电路图如图5:



图5 控制电路



第3章 系统软件设计

智力竞赛抢答器要求有计时记忆功能,一次时间设置完,复位后不需重新进行时间设定,通过键盘扫描输出按键信息,当在扫描到有人按下了答题键,马上关调用显示程序、封锁键盘。再通过单片机将它转换成能在七段数码管上显示字型码。

图6 软件设计

当抢答完毕时,会在数码管上显示抢答者数字号码提示以表示抢答成功.在显示时使用的是七段数码管显示,在本设计中根据实际情况采用的是动态显示方法.并通过查表法将其在数码管上显示出来,其中P1口为字型码输入端,P2口低6位为字选段输入端.通过查表将字型码送给7段数码管显示的数字。软件去抖动,如果"开始键"按下就向下执行,否者跳到开始。采用倒计时程序,使其具有倒计时功能。回答倒计时30秒。抢答时间5秒。采用发声警报(由于没有驱动器,因此就用绿灯换了),起到报警作用。其程序的流程图如下页图7


1、如果想调节抢答时间或答题时间,按"抢答时间调节"键或"答题时间调节"键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下"加1s"键,,时间LED上会显示改变后的时间,调整范围为0s~99s,0s时再减1s会跳到99,99s时再加1s会变到0

2、主持人按抢答“开始"键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时间),如有选手抢答,会有提示音,并会显示其号数,所以只有第一个按抢答的选手有效。

3、如倒计时期间,主持人想停止倒计时可以随时按"停止"按键,系统会自动进入准备状态,等待主持人按"抢答开始"进入下次抢答计时。


第4章  系统软件仿真


4.1  Proteus软件仿真

系统仿真还用到了Proteus软件,可通过仿真可以完全显示出所设计系统的功能,对于程序的调试等有很大的帮助。系统仿真时首先要在使用伟福编译器,把所写的程序进行编译,同时在仿真器里设置生成hex文件,编译无错误时进行Proteus仿真,加载目标代码文件打开元器件单片机属性窗口,在“ProgramFile”栏中添加上面编译好的目标代码文件“hh.hex”;在“ClockFrequency”栏中输入晶振频率为12MHz。仿真:单击按钮,启动仿真,结果如下页图所示:



4.3  仿真结果分析


通过电路的仿真,可以看出基于AT89C51单片机控制的抢答器在PROTEUS软件上很好的实现抢答报警、抢答成功显示、抢答倒计时等一系列功能。

当仿真运行开始时,各个模块处于初始阶段。此时无状态显示,但此时抢答键和蜂鸣器都处于开启状态,若此时有选手按下抢答键,则蜂鸣器会发出报警声音,并且在数码管上显示规范的选手编号。主持人重新按下开始键,此时表示抢答正式开始,并且数码管显示倒计时,同时蜂鸣器发出声音提醒选手抢答正式开始了。选手抢答成功,同时也进入倒计时答题时间。从仿真的测试结果来看,此设计还是能比较好的实现预期目标。


word格式的文档下载(程序还有问题,求大神指导修改一下):
http://www.51hei.com/bbs/dpj-191232-1.html

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表