基于at89c51的八路抢答器设计

上传人:Bod****ee 文档编号:47517478 上传时间:2018-07-02 格式:DOC 页数:23 大小:647.01KB
返回 下载 相关 举报
基于at89c51的八路抢答器设计_第1页
第1页 / 共23页
基于at89c51的八路抢答器设计_第2页
第2页 / 共23页
基于at89c51的八路抢答器设计_第3页
第3页 / 共23页
基于at89c51的八路抢答器设计_第4页
第4页 / 共23页
基于at89c51的八路抢答器设计_第5页
第5页 / 共23页
点击查看更多>>
资源描述

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

1、0中期设计中期设计基于基于 AT89C51AT89C51 的八路抢答器设计的八路抢答器设计班 级08( 4)学学 号号0810425学生姓名张锋学院名称物理机电工程学院专业名称电子信息技术指导教师董安明2010 年05 月20 日1目目 录录1 绪论1 目的与意义2 系统概述2.1 系统的主要功能2.2 抢答器的工作流程2.3 抢答器的工作过程2.4 器件的选择3 系统总体方案的设计3.1 硬件原理图3.2 显示电路的设计3.3 键盘扫描电路的设计3.4 发声电路的设计4 软件设计4.1 设计思想4.2 方案实现结论附录21 绪论1.1 目的与意义通过这次设计,掌握 51 单片机的原理,了解简

2、单多功能抢答器组成原理,初步掌握多功能抢答器的调整及测试方法,提高动手能力和排除故障的能力。同时通过本课题设计与装配、调试,提高自己的动手能力,巩固已学的理论知识,建立单片机理论和实践的结合,了解多功能抢答器各单元电路之间的关系及相互影响,从而能正确设计、计算定时计数的各个单元电路。初步掌握多功能抢答器的调整及测试方法。提高动手能力和排除故障的能力。2 系统概述2.1 系统的主要功能本系统是借用单片机采用模块化设计的八路抢答器,包括 8 路抢答按纽、计时显示、提示功能等(根据需要可另设或多设相关功能) 、开始与结束控制按钮、时限设定、各种相关显示调控功能等(根据需要也可另设或多设相关功能)。参

3、赛者系统,除享有抢答按纽的权利功能外,还有人性化的提示功能和时间提示功能,也可设定由主控控制在参赛者终端表现的趣味性功能等;主控系统的控制按钮做开始与结束控制,根据活动参赛者的层次,对提前抡答者的行为设定为非法或阻隔,若设有非法抢答控制功能时,在主控处带有公示性显示的非法抡答者的台位号,对抢答限时及回答问题限时设为倒计时,并有显示提示。系统的主要功能模块方框图如图 2-1 所示。AT89C51 单片机4 位 七段 数码 管显 示声音电路 =8 路抢答 按键输入复位电路开始、结束 按键输入加一、减一 按键输入时钟图 2-1 系统主要功能模块本系统采用模块化设计的八路抢答器,在抢答比赛中广泛应用,

4、各组分别有一个抢答按钮。一共有 8 个按键输入,分别对应 8 路选手的抢答按键。主持人有开始和结束键。在后台主持人可以修改,抢答时间和选手回答问题的时间设置,原始状态下抢答时间为320s,回答问题时间为 30s。通过加键和减键修改上述时间,改完后结束键确定。新时间开始有效,主持人按键开始后,选手开始抢答为有效,数码显示屏显示抢答时间倒计时和选手号,在最后五秒扬声器发生提示。如果主持人没有按下开始键而选手就抢答视为犯规,数码显示屏显示犯规者的代号,扬声器持续发生。主持人可按键结束,新一轮抢答开始。单片机是整个抢答器的核心,内部电路设计用汇编语言编写。它完成了时间参数的设定,抢按号码的译码,保存;

5、显示;输出,抢按及答题倒计时功能等。2.2 抢答器的工作流程抢答器的基本工作原理:如图2所示,下面分别予以介绍。加载程序运 行行开始开始数码管显 示 FFF 开始抢 按时间倒计时开始前有选手抢按显示违例选手号码 并伴有语音报警倒计时结 束,超时有选手 抢按显示 FFF显示选手号码,倒计 时时间,语音报警,答 题,答题时间倒计时正常流程违规流程若超过答题 时间,则数 码管显示 FFF答题完毕根据选手表现,规 则由主持人减分4图2-2 抢答器工作流程2.3 抢答器的工作过程1、如果想调节抢答时间或答题时间,按“加一”键或“减一”键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按

6、一下“加 1s“键,如果想减一秒按一下“减 1s”键,时间 LED 上会显示改变后的时间,调整范围为 099s, 0s 时再减 1s 会跳到 99,99s 时再加 1s 会变到 0s。2、主持人按“抢答开始“键,会有提示音,并立刻进入抢答倒计时(预设 20s 抢答时间) ,如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设 30s 抢答时间) ,不进行抢答查询,所以只有第一个按抢答的选手有效。倒数时间到小于 5s 会每秒响一下提示音。3、如倒计时期间,主持人想停止倒计时可以随时按“停止”按键,系统会自动进入准备状态,等待主持人按“抢答开始”进入下次抢答计时。4、如果主持人未按“

7、抢答开始”键,而有人按了抢答按键,犯规抢答,LED 上不断闪烁 FF 和犯规号数并响个不停,直到按下“停止” 键为止。2.4 器件的选择微控制器选用 ATMAL 公司生产的 AT89C51,该芯片货源充足,并且价格也比较便宜。如表 1 所示。 表 1 器件选型方案的详细清单器件名称规格型号数量微处理器AT89C51174LS041芯片74HC301电阻3WTT10K8电容20PF3晶振12MHZ1按钮117 段数码管7SEG-MPX4-CA4扬声器13 系统总体方案的设计3.1 硬件原理图图 3-1 中 U1 为单片机 AT89C51,U2 为芯片 74HC30,U3 为芯片 74LS04。K

8、1K8 分别为 8 路抢答按键,分别接到单片机的 P1.0P1.7 中。开始按键与结束按键分别接到单片机的 10、11 脚,由于单片机的 10、11 脚既有串行接口RXD、TXD 功能,又有 P3.0、P3.1 的 IO 端口功能,此处按键用到单片机 10、11 脚的 IO 端口功能。抢答时间调整按键和回答时间调整按键分别接到单片机的 13、14 管脚,加一按键和减一按键分别接到单片机的 15、16 管脚。4 位七段数码管段选 P0 口。4 位七段数码管的位选接 P2 口低 3 位,蜂鸣器输出为 P3.7 口。5图 3-1 系统原理图3.2 显示电路的设计显示功能与硬件关系极大,当硬件固定后,

9、如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。在这里我们使用的是七段数码管显示,通常在显示上我们采用的方法一般包括两种:一种是静态显示,一种是动态显示。其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多;动态显示的特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。在本设计中根据实际情况采用的是动态显示方法。图 3-4 中数码管采用的是 4 位七段共阴数码管,其中 AH 段分别接到单片机的 P0 口,由单片机输出的 P0 口数据来决定段码值,位选码 COM1、COM3、COM4 分别接到单片机的 P2.0、P2.1、P2.2,由单片

10、机来决定当前该显示的是哪一位。在图中还有八个 1K 的电阻,连接在 P0 口上,用作 P0 口的上拉电阻,保证 P0 口没有数据输出时候处于高电平状态。3.3 键盘扫描电路的设计键盘是人与单片机打交道的主要设备。关于键盘硬件电路的设计方法也可以在文献和书籍中找到,配合各种不同的硬件电路,这些书籍中一般也提供了相应的键盘扫描程序。站在系统监控软件设计的立场上来看,仅仅完成键盘扫描,读取当前时刻的键盘状态是不够的,还有不少问题需要妥善解决,否则,人们在操作键盘就容易引起误操作和操作失控现象。在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘。6它们各有自己的特点,其中独立键盘硬件电路简单,而且在

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

12、按键、一个结束按键,此外还有抢答时间调整键、回答时间调整键,加一按键、减一按键各一个。如图 3-5 所示。图 3-5 抢答按键及调整按键7在图 3-5 中 8 个抢答按键分别接入单片机的 P1.0P1.7 端口,单片机通过读取 P1.0P1.7 的值来判断当前输入的是8 个抢答按键中的哪一个。抢答时间调整和回答时间调整接到单片机的 P3.3 和 P3.4 接口,加一及减一按键接到单片机的 P3.5 和 P3.6 接口。图 3-6 开始、结束按键在图 3-6 中,开始及结束按键接到单片机的 10、11 脚,这里用到了单片机 10、11 脚复合功能中的 IO 端口功能,单片机通过读取 10、11

13、脚的 P3.0、P3.1 的 IO 端口值来判断当前是否处于抢答开始状态或抢答结束状态。按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如不妥善处理,将会引起按键命令的错误执行或重复执行。现在一般均用软件延时的方法来避开抖动阶段,这一延时过程一般大于 5ms,例如取 10-20ms。如果监控程序中的读键操作安排在主程序(后台程序)或键盘中断(外部中断)子程序中,则该延时子程序便可直接插入读键过程中。如果读键过程安排在定时中断子程序中,就可省去专门的延时子程序,利用两次定时中断的时间间隔来完成抖动处理。K1K8 八个按键的输入电平靠 74HC30 输入与非门和 74LS04

14、反向器组成的电路改变输入电平。图 3-7 中电路就是由一个 74HC30 输入与非门和 74LS04 反向器组成的去抖电路。图 3-7 去抖电路3.4 发声电路的设计我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高” “低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。本文设计如图 3-8 所示。图中单片机的 14 脚输出具有复合功能,此处用到了单片机 17 脚的 IO 端口功能,单片机8通过内部定时器的操作实现交替变换的波形输

15、出驱动扬声器发声。图 3-8 发声电路4 软件设计4.1 设计思想由方案分析知,本设计涉及到的功能子程序包括:查询程序、非法抢答处理程序、INT0(调抢答时间) 、INT1(调回答时间) 、倒计时程序、正常抢答处理程序、犯规抢答程序、显示程序、发声程序、T0 溢出中断(响铃程序)、T1 溢出中断(计时程序)。4.2 方案实现由设计的硬件部分看到,本设计采用 P3.2、P3.3 分别接抢答时间调节和答题时间调节按钮,即通过外部中断 0、外部中断 1 分别控制抢答、答题时间的调整。因此,设计的软件部分可分为工作模块、外部中断 0 模块、外部中断 1 模块。对流程图的分析,也分三部分来介绍。1、工作

16、时(非调节时间时)的流程平时正常工作时,程序的流程图绘制如图 4-1:对工作流程图中的某些部分解释如下:初始化部分:包括对定时计数器的工作方式、初始化数值的设置,还包括对抢答时间与答题时间的预设,另外,还应对外部中断 0、外部中断 1 进行开放。抢答倒计时、回答倒计时部分:由于二者功能的相似性,本设计将二者在一个子程序倒计时程序中一起编写。另外,此时还需要调用到显示子程序,在流程图中省略了。犯规程序部分:包括对犯规选手号的显示、报警器的间断工作。另外,由于在设计要求主持人能随时对工作过程终止,因此,要不断查询停止键的状态,一旦按下,便回到初始9化后的状态;在倒计时过程中还要不断将与 5S 比较,当小于 5S 时,还需调用发声程序;小于 5S 后, 又需要不断将与 0 较,当其等于零时,立即返回。10图 4-1 工作流程图2、 外部中断 0(抢答时间调整)流程外部中断 0(抢答时间调整)的流程图见图 4-2:图 4-2 INT0 流程图一旦因 P3.2 对应键的按下,便进入 INT0 中断过程。通过不断对 P3.4(加 1s)和 P

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

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