收藏 分享(赏)

单片机抢答器毕业论文 基于单片机的抢答器设计.doc

上传人:精品资料 文档编号:10707097 上传时间:2019-12-29 格式:DOC 页数:47 大小:1.01MB
下载 相关 举报
单片机抢答器毕业论文 基于单片机的抢答器设计.doc_第1页
第1页 / 共47页
单片机抢答器毕业论文 基于单片机的抢答器设计.doc_第2页
第2页 / 共47页
单片机抢答器毕业论文 基于单片机的抢答器设计.doc_第3页
第3页 / 共47页
单片机抢答器毕业论文 基于单片机的抢答器设计.doc_第4页
第4页 / 共47页
单片机抢答器毕业论文 基于单片机的抢答器设计.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、宜宾职业技术学院毕业论文(设计)基于单片机的抢答器设计系 部 自动控制工程系 专 业 名 称 电气自动化技术 班 级 电气 1101班 姓 名 温 冬 梅 学 号 201011331 指 导 教 师 凌 泽 明 2012 年 10 月 8 日摘要II摘 要本文利用单片机 AT89C51为核心器件,数码管作为显示模块,从硬件和软件两个方面设计实现了一个八人抢答器系统,并经过调试和运行使该系统到达预期目标。具有抢答功能,显示功能,抢答时间倒计时,时间设定,还有数据的清零,选手犯规报警功能。它充分利用了单片机系统的优点,具有结构简单、功能强大、可靠性好、反应迅速、结果准确。考虑到需设定限时回答的功能

2、,利用 AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,蜂鸣器发声提示。关键词:AT89C51;八人抢答器;显示;报警 AbstractIn this paper, using AT89C51 MCU as the core device, digital tube as the display module, from two aspects of hardware and software design and Realization of a eig

3、ht responder system, and after commissioning and operation of the system to reach the expected goal. A responder function, display function, the answer time countdown, the time setting, there are data clearing, player fouls alarm function. It makes full use of the computer system, which has the adva

4、ntages of simple structure, powerful function, high reliability, fast response, accurate results. Taking into account the need to set the time response function, using AT89C51 MCU and peripheral interface of the answering system, the use of single-chip timer / counter timing and counting principle,

5、the soft, hardware combine, so that the system can correctly time, while the digital tube able to correctly display the time. By switching the keyboard output, buzzer sound prompts.Key words: AT89C51; eight responder; display; alarm1 绪论III目录1绪论 11.1选题背景、目的、意义 .11.2八路抢答器的概述 .21.3系统主要功能 22方案设计 .42.1主控

6、制电路的选型 .42.2复位电路的设计 52.3外部震荡电路的设计 62.4报警电路的设计 72.5显示电路的设计 72.6键盘电路的设计 83硬件电路设计 .103.1硬件电路的概述 103.2主控制电路的选型 .113.3复位电路 123.4外部震荡电路 123.5报警电路 133.6显示电路 133.7键盘电路 143.8抢答器电路图 154软件设计 .164.1软件设计原理框图 .164.2程序流程图 .164.3抢答器的工作流程图 184.4系统初始化模块 191 绪论IV4.5正确抢答模块 204.6非法抢答模块 224.7数码管显示 .235系统软件仿真 .255.1电源参数及功

7、耗 255.2抢答器使用说明 255.3程序仿真结果与分析 256总结 29致谢 30参考文献 31附录 1 源程序清单 .321 绪论11 绪论1.1选题背景、目的、意义随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机,其体积小、功能强、价格低廉、使用灵活等优势,显示出了很强的生命力。进入 21世纪以来,开发推出单片机的公司很多,各种高性能单片机芯片市场也异常活跃,新技术的不断采用,更加使单片机的种类、性能以及应用领域不断扩大和提高。因其功耗低,超高型,低成本,功能完整,在国内越来越受到用户的重视和广泛使用。本抢答器通过十分巧妙的设计仅数码

8、管便实现了数显抢答的功能,与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点。因此,我们制作了这款简易八路抢答器摒弃了成本高,体积大,而且操作复杂。我们采用了数码管显示直接指示,自动锁存显示结果,并自动复位的设计思想,因而本抢答器具有显示直观,不需要人干预的特点。而且在非常时期会发出嘟嘟声使效果更为生动。工厂、学校和电视台等单位常常举办各种智力竞赛, 抢答器是必要设备。抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。早期抢答器只是由几个三极管、可控硅、发光管等组成,能通过发光管辨认选手号码。现在大多数抢答器均使用单片机(如

9、 MCS-51型)和数字集成电路,并增加了许多新功能,如选手号码显示、抢答按键前或按键抢答后的计时。抢答器已经作为一种必不可少的工具广泛应用于各种智力和知识竞赛场合,但一般的抢答器可靠性低,使用寿命短,介于这些不方便因素,此次设计提出了用 AT89C51单片机为核心控制元件,设计一个简易的八路抢答器。本设计利用 AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间和选手号码。用开关做键盘输出,扬声器发生提示。系统要求是:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为

10、无效;抢答限定时间和回答问题的时间可以在 1-99s之1 绪论2间设定;以显示是哪位选手有效抢答和无效抢答,正确按键后有提示音;抢答时间和回答问题时间倒记时显示后,时间完后系统自动复位;按键锁定,在有效状态下,按键无效非法。本次设计的系统实用性强、判断精确、操作简单、扩展功能强。通过这次设计,掌握 51单片机的原理,了解简单多功能抢答器组成原理,初步掌握多功能抢答器的调整及测试方法,提高动手能力和排除故障的能力。同时通过本课题设计与调试,提高自己的动手能力,巩固已学的理论知识,建立单片机理论和实践的结合,了解多功能抢答器各单元电路之间的关系及相互影响,从而能正确设计、计算定时计数的各个单元电路

11、。初步掌握多功能抢答器的调整及测试方法。提高动手能力和排除故障的能力。1.2八路抢答器的概述本组设计的八路数码管显示抢答器具有电路简单、操作方便、灵敏可靠等优点。它由 8个发射器和 1个接收器组成,可用于 8组或 8组以下的智力竞赛中。比赛前,将参赛组从 1至 8编号,每组发给对应的一个发射器。将接收器放于各组中央或前方。主持人按一下启动键后,抢答开始。此后,哪一组最先按下发射器上的抢答键,接收器就立即显示该组的组号并锁定,同时发出一声提示音,以后按下任何一路抢答键均不起反映。只有主持人再次按动启动键后,才能进行下一次抢答,该电路由交流电源、抢答按键、单片机、外围电路、报警电路与显示电路组成。

12、1.3系统主要功能此次设计的抢答器具有同步显示的功能,并且有蜂鸣器的辅助,使得整个设计更加完整。在每次竞赛开始前,主持人读完比赛规则,可以对抢答器进行的时间进行预设。时间设定按键组共有 4个按键,其中一个键为抢答时间修改键,一个为回答时间修改键,剩下的两个按键为加一修改键和减一修改键。比赛开始,主持人读完题后按下“开始键” ,即抢答开始,蜂鸣器提示一次,此时数码管开始显示 30s的倒计时;直到有一个选手按下抢答键,对应的会在数码管上显示出该选手的编号和回答剩余的时间,同时蜂鸣器也会发出一次提1 绪论3示音,以示有人抢答本题;如果在规定的 30s时间内没有人做出抢答,则此题作废,开始新一轮的抢答

13、。在抢答和回答时间的最后 5s,蜂鸣器都会给予报警提示。在倒计时过程中,主持人可以随时按“停止键”结束本次回答或者抢答。在主持未按下开始键,若果有人按下抢答键,则属于犯规抢答,此时,数码管上面会显示出违规的选手编号,同时蜂鸣器会以 1s一次的频率发出警告。在每次抢答前后,主持人都可以按下复位键让系统清零,此时数码管上会显示“FFF”。2 方案设计42 方案设计本设计对其主控制电路、时钟频率、复位电路、显示电路、LED 显示和键盘电路进行的方案选择,如图 2-1硬件设计框图所示。图 2-1 硬件设计框图时钟频率:连接到 XTAL1和 XTAL2端口。复位电路:当一轮进行完时,由主持人按下开始按键

14、,下一轮倒计时开始,复位电路接 P3口。 键盘电路:用于输入高低电平,连接到 P1口,由 P1口检测电平的变化。 LED显示电路:有三位数码管组成,前两位显示 30s倒计时,由第三位显示成功抢答选手编号。 报警电路:有选手抢答成功,P3 口发出脉冲使蜂鸣器发出声音。2.1主控制电路的选型控制器主要用于对显示、抢答、提示音等模块进行控制。控制器的选择有以下两种方案。方案一:采用 FPGA(现场可编程门列阵)作为系统的控制器。FPGA 可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减小了体积,提高了稳定性,并且可以应用 EDA软件仿真、调试,易于进行功能扩展。FPGA

15、采用并行的输入输出方式,提高了系统的处理速度,适合作为大2 方案设计5规模实时系统的控制核心。但由于本设计对数据处理的速度要求不高,FPGA 的高速处理的优势得不到充分体现,并且由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。方案二:采用 AT89C51作为系统控制器的 CPU方案。虽然目前单片机的品种很多,但其中最具代表性的当属 Intel公司的 MCS-51单片机系列。MCS-51以其典型的结构、完善的总线、SFR 的集中管理模式、位操作系统和面向控制功能的丰富的指令系统,为单片机的发展奠定了良好的基础。单片机算术运算功能强、软

16、件编程灵活、自由度大,可以用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。在本系统中,通过比较发现用单片机来制作的抢答器,硬件电路比较简单,容易明白,成本相对较低且考虑到系统的功能需求和目前市场上的单片机应用情况以及与学习的 8051单片机的兼容情况,选定 MCS-51系统的 AT89C51;而用 FPGA来制作的抢答器,电路相对比较复杂,成本相对较高。综合考滤最终选择方案二。 2.2复位电路的设计典型的 51单片机当 RST脚的高电平持续两个机器周期以上就将复位,所以适当组合 RC的取值就可以保证可靠的复位。一般教科书推荐 C取 1

17、0uf,R 取8.2K。当然也有其他取法的,原则就要让 RC组合可以在 RST脚上产生不少于 2个机周期的高电平;复位输入高电平有效,当振荡器工作是,RST 引脚出现两个机器周期以上的高电平,使单片机复位。此电路除具有上电复位功能外,若要复位只需按“RST”键,此电源 VCC经电阻分压,在 RST端产生一个复位高电平。单片机在开机时或在工作中因干扰而使程序失控或工作中程序处于某种死循环状态等情况下都需要复位。复位的作用是使中央处理器(CPU)以及其它功能部件都恢复到一个确定的初始状态、并从这个状态开始工作。所以我们从以下两个方案对复位电路进行论证,通过一系列的比较我选取了两种最实用的方案如下:

18、2 方案设计6方案一:手动按钮复位电路此电路是外部中断和内部中断并存,单片机硬件复位端,只要持续两个机器周期的高电平即可实现复位,硬件复位后的各状态可知寄存器以及存储器的值都恢复到了初始值,因为本设计中功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位,只能用软件复位,软件复位实际上就是当程序执行完之后,将程序通过一条跳转指令让它完成复位。手动按钮复位需要人为在复位输入端 RST上加入高电平。一般采用的办法是在 RST端和正电源 VCC之间接一个按钮。当人为按下按钮时,则 VCC的+5V电平就会直接加到 RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,

19、所以完全能够满足复位的时间要求。方案二:上电复位电路上电复位电路在上电的瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST 端为低电平,程序正常运行。在上电或复位过程中,控制 CPU的复位状态是在这段时间内让 CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止 CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。AT89C51的上电复位电路只要在 RST复位输入引脚上接一个电容至 VCC端,下接一个电阻到地即可。对于 CMOS型单片机,由于在 RST端内部有一个下拉电阻,故可将外部电阻去掉,而

20、将外接电容减至 1uF。上电复位的工作过程是在加电时,复位电路通过电容加给 RST端一个短暂的高电平信号,此高电平信号随着 VCC对电容的充电过程而逐渐回落,即 RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST 端的高电平信号必须维持足够长的时间。通过以上分析所以我们采用手动开关复位电路。 2.3外部震荡电路的设计单片机内各部件之间有条不紊地协调工作,其控制信号时在一种基本节拍的指挥下按一定时间顺序发出的,这些控制信号在时间上的相互关系就是 CPU时序。产生这种基本节拍的电路就是振荡器和时钟电路。AT89C51 单片机内部2 方案设计7有一个用于构成振荡器的单级

21、反相放大器,引脚 XTAL1为反相器输入端,XTAL2为反相器输出端。它是在放大器两个引脚上外接一个晶体(或陶瓷振荡器)和电容组成的并联谐振电路作为反馈元件时,便构成一个自激振荡器。单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。一般选用石英晶体振荡器。此电路在加电大约延迟 10ms后振荡器起振,在XTAL2引脚产生幅度为 3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容 C1,C2 的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。单片机在工作时

22、,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数,常用fosc 表示。时钟频率为 12MHz,即 fosc=12MHz,则时钟周期为 1/12us。2.4报警电路的设计我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的巨型波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高” “低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。报警电路用于报警,当遇到报警信号时,发出警报。抢答开始、抢答时间到时、选手正常抢答、选手非法抢答、

23、答题时间到时都会发出警报。由于缺少蜂鸣器的驱动器,发生器不响,所以,用绿灯替换用来发出报警音。选手在设定的时间内抢答时,实现优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次按下“停止”和“开始”状态开关。2.5显示电路的设计显示功能与硬件的关系极大,显示电路有两种选择,液晶屏显示和传统数码管显示。液晶屏具有轻薄、无辐射危险、可视面积大、分辨率高和抗干扰能力强的特点,但是由于显示信息少、编程工作量大和成本偏高。而数码管具有2 方案设计8低耗能、低损耗、低压、寿命长和精确度高、操作简单的优点。显示模块主要是显示抢答

24、的时间,组别号码等。经过考虑有以下两种显示方案。方案一:使用液晶屏显示时间。液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影像稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强的特点。但由于只需要显示时间和转向、相数这样的数字,信息量比较少,且由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器的资源占用较多,其成本也偏高。在使用时,不能有静电干扰,否则易烧坏液晶显示芯片,不易维护。方案二:在使用传统的数码管显示。数码管具有:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,

25、同时其精度高,称量快,精确可靠,操作简单。数码显示是采用 BCD编码显示数字,程序编译容易,资源占用较少。根据以上的论述,我选择采用方案二。2.6键盘电路的设计键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。键盘按结构形式可以分为非编码键盘和编码键盘,前者用软件方法产生键码,而后者则用硬件方法来产生键码。在单片机中使用的都是非编码键盘,因为非编码键盘结构简单,成本低廉,非编码键盘的类型很多,常用的有独立式键盘,行列式键盘等。方案一:独立式键盘键盘接口中使用多少根 I/O线,键盘中就有几个按键,如果键盘接口使用了 8根 I/O口线,该键盘就有 8个按键,这种类型的键盘,其按键比较少,且键盘

26、中各按键的工作互不干扰。因此可以根据实际需要对键盘中的按键灵活的编码。最简单的编码方式就是根据 I/O输入口所直接反映的相应按键,按下的状态进行编码,称按键直接状态码,对于这样编码的独立式键盘,CPU 可以通过直接读取 I/O口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识别,这样形式的键盘结构简单,按键识别容易。独立式键盘的缺点是需要占用比较多的 I/O口线,当单片机应用系统键盘中需要的按键比较少或 I/O2 方案设计9口线比较富余时,可以采用这样类型的键盘。方案二:行列式键盘行列式键盘是用 N条 I/O线作为行线,M 条 I/O线作为列线组成的键盘,在行线和列线的每个交叉点上。

27、这种形式的键盘结构,能够有效的提高单片机系统中 I/O的利用率,CPU 对键盘的扫描可以采用取程序控制的随机方式,即只有在 CPU空闲是时才去扫描键盘,响应操作人员的键盘输入,即利用单片机内部定时器每隔一定时间对键盘扫描一次,这样控制方式,不管键盘上有无键闭合,CPU 总是定时的关心键盘状态。在大多数情况下,CPU 对键盘可能进行空扫描。为了提高 CPU的效率而又能及时响应键盘输入,可以采用中断方式,既CPU平时不必扫描键盘,只要当键盘上有键盘闭合时就产生中断请求,向 CPU申请中断后,立即对键盘上有键盘进性扫描,识别闭合键,并做相应。行列式键盘硬件电路比独立式键盘电路复杂,而且程序设计繁琐,

28、但它节省端口,适合于多按键电路。通过以上分析我采用方案一因为我们所需要的按键比较适用此设计电路。3 硬件电路设计103 硬件电路设计本设计分为硬件设计和软件设计,这两者相互结合,不可分离。随着集成电路技术的飞速发展,各种功能很强的芯片不断出现,使硬件电路的集成度越来越高,硬件设计的工作量在整个项目中的所占的比重逐渐下降。为使硬件电路设计尽可能合理,应注意以下几方面:(1) 尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普通芯片,随着生产工艺的提高,新型芯片的的价格不断下降,并不一定比若干普通芯片价格的总和高。(2) 留有设计余地。在设计硬件电路时,要考虑到将来修改扩展的方便。因为

29、很少有一锤定音的电路设计,如果现在不留余地,将来可能要为一点小小的修改或扩展而被迫进行全面返工。(3) 程序空间,选用片内程序空间足够大的单片机,本设计采用 AT89C51单片机。3.1硬件电路的概述本抢答器使用的元器件包括:AT89C51 芯片、七段码 7SEG-MPX4-CC 显示器、LED 数码管的译码。其中单片机 AT89C51是系统工作的核心,它主要负责控制各个部分协调工作。在其外围接上复位电路、上拉电阻、数码管、按钮及扬声器。P3.0和 P3.1分别是抢答开始和停止键。P1.0-P1.7 是 8个抢答的输入口, P2.0-P2.3为数码管的段选口,显示用的是 P0.0-P0.6输出

30、口,P3.2、P3.3、P3.4和 P3.5为抢答记时调整口,并且加减调整,P3.6 为蜂鸣器的控制口。本设计有抢答电路、译码显示电路、主持人控制电路、定时电路、报警电路,各个电路都有其自己的功能。通过复位按键,电路进入就绪状态,等待抢答。然后再由主持人发布抢答“开始”按钮,同时发光二极管随即变亮,当看到二极管亮,进入倒计时状态和抢答状态。在电路中“1-8”为 8路抢答器的 8个按键,如果有人按下按键,程序就会判断是谁先按下的,然后将抢答者号码送到七段码管上显示,并封锁键盘,保持刚才按键按下时刻的时间,禁止其他3 硬件电路设计11人按键的输入,从而实现了抢答的功能。如果在设定的时间中没有一个人

31、按下按键,在最后 5S会发出提示音,当 0S结束后,不可以抢答。当要进行下一次的抢答时,由主持人先按一下复位按键,电路复位,进入下一次抢答的就绪状态。3.2主控制电路的选型在本系统中,考虑到系统的功能需求和目前市场上的单片机应用情况以及与学习的 8051单片机的兼容情况,选定 MCS-51系统的 AT89C51。AT89C51是美国 ATMEL公司生产的低电压,高性能 CMOS8位单片机,片内含 4k bytes的可反复擦写的只读程序存储器(PEROM)和 128 bytes的随机存取数据存储器(RAM) ,器件采用 ATMEL公司的高密度、非易失性存储技术生产,兼容标准 MCS-51指令系统

32、,片内置通用 8位中央处理器(CPU)和 Flash存储单元,功能强大 AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT89C51提供以下标准功能:4k 字节 Flash 闪速存储器,128 字节内部RAM,32 个 IO 口线,两个 16位定时计数器,一个 5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时 AT89C51可降至 0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU的工作,但允许 RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直

33、到下一个硬件复位。AT89C52单片机内部包含了作为微型计算机所必须的基本功能部件,各功能部件相互独立的集成在同一块芯片上。在此主要介绍 AT89C52单片机的系统结构及其功能。AT89C51 管脚如图 3-1所示。3 硬件电路设计12图 3-1 AT89C51管脚3.3复位电路单片机在启动时都需要复位,以使 CPU及系统各部件处于确定的初始状态,并从初态开始工作。51 系列单片机的复位信号是从 RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果 RST引脚上有一个高电平并维持 2个机器周期(24 个振荡周期)以上,则 CPU就可以响应并将系统复位。复位电

34、路由电容串联电阻构成,由图并结合“电容电压不能突变”的性质,可以知道,当系统一上电,RST 脚将会出现高电平,并且这个高电平持续的时间是由电路的 RC值来决定。手动开关复位电路首先是经过上电复位,当按下按键时,RST 直接与 VCC相连,为高电平形成复位,同时电解电容被短路放电;按键松开时,VCC 对电容充电,充电电流在电阻上,RST 依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST 为低电平,正常工作。无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏是直接影响到整个系统工作的可靠性。AT89C51单片机的复位靠外部电路实现,信号由 RESE

35、T(RST)引脚输入,高电平有效在振荡器工作时,只要保持 RST引脚高电平两个机器周期,单片机即复位。复位电路如图 3-2所示。3 硬件电路设计13图 3-2 手动开关复位电路3.4外部震荡电路单片机虽然有内部振荡电路,但要形成时钟,必须外部附加电路。51 系列单片机的时钟产生方法有两种。一种是内部时钟方式,另一种是外部时钟方式。我采用的是内部时钟振荡电路如图 3-3所示。图 3-3 内部时钟电路3.5报警电路蜂鸣器是一种电子电路中最常用的发声器件,蜂鸣器分为有源蜂鸣器和无源蜂鸣器这两种。蜂鸣器音频输出电路的功能是用来报警,当遇到报警信号时,发出蜂鸣声,以此来提醒操作者。本电路通过控制不同频率

36、的矩形脉冲来控制蜂鸣器发声。此次抢答器设计中只需要一些简单的提示声音,如有抢答违规,开始抢答,抢答时间结束和回答问题时间到的提示声音。此电路是从 P3.6口输出一个矩形脉冲来控制蜂鸣器的声音。如图 3-4所示。3 硬件电路设计14图 3-4 报警电路3.6显示电路单片机应用系统最常用的显示器是 LED(发光二极管显示器)和 LCD(液晶显示器) ,这两种显示器可显示数字、字符及系统的状态,它们的驱动电路简单、易于实现且价格低廉,因此得到广泛应用。常用的 LED显示器有 LED状态显示器(俗称发光二极管) 、LED 七段显示器(俗称数码管)和 LED十六段显示器。发光二极管可显示两种状态,用于系

37、统状态显示;数码管用于数字显示;LED 十六段显示器用于字符显示。由于本系统中没有显示字符,故而选择数码管就可以满足要求。在此电路中采用的是 4位七段数码管显示。数码管显示通常显示分为动态显示和静态显示。其中,静态显示的特点是显示稳定不闪烁,编程简单,显示亮度高,但占用 I/O口多,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。而动态显示的稳定性虽没静态显示的好,编程复杂,但是相对静态显示而言占用的端口资源少。本设计采用的是动态显示方法。采用七段码 7SEG-MPX4-CC 显示,在未开始进行抢答时,其上显示的是 FFF;当主持人按下抢答“开始”按键时,其上显示的抢答的倒计时间

38、;当某选手抢答成功时,其上显示的是答题的倒计时间。本次设计电路包括显示和驱动,显示采用数码管,驱动用三极管 PNP。驱动电路 PNP发射极接+5V 电压,当基极为低电平是集电极为高电平则能驱动数码管使其显示数字。因为 PNP是模拟器件而数码管为数字器件,PNP 的集电极如果不接一个较大的电阻显示就会出问题。所以在 PNP的集电极接了一个 10千欧的电阻。如图 3-5所示。3 硬件电路设计15图 3-5 数码管显示电路及驱动电路3.7键盘电路键盘是由一组规则排列的按键组成,一个按键实际上是一个开关元件,也就是说键盘是一组规则排列的开关。按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开

39、关、导电橡胶式开关等;另一类是无触点开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。所以为了便利和经济我们还是采用最常见的是触点式开关按键。如图 3-6所示。图 3-6 独立按键电路 3.8抢答器电路图根据以上的一系列论证设计出了最佳的总体原理框图如 3-7图所示。3 硬件电路设计16图 3-7 总体原理框图4 软件设计174 软件设计4.1软件设计原理框图智力竞赛抢答器的要求有计时记忆功能,一次时间设置完,复位后不需重新进行时间设定,通过键盘扫描输出按键信息,当在扫描到有人按下了答题键,马上关调用显示程序、封锁键盘。再通过单片机将它转换成能在七段数码管上显示字型码。如图 4-1

40、所示。图 4-1 软件设计原理框图4.2程序流程图为了能够达到抢答的公平、公正、合理应该在主持人发布抢答命令之前必须先设定抢答的时间,因而在编开始抢答前的程序得先编写设定时间的程序,当时间设好了之后主持人发布抢答命令按下开始按键,开始倒计时,然后调用键盘扫描子程序编写键盘扫描程序。当在扫描到有人按下了答题键显示选手号倒计时开始。在本设计中包括了以下主要的程序:主程序,非法抢答程序,抢答时间调整程序,回答时间调整程序,倒计时程序,正常抢答处理程序,犯规4 软件设计18处理程序,显示及发声程序。主流程图如 4-2所示。图 4-2 程序流程图(1)如果想调节抢答时间或答题时间,按“抢答时间调节”键或

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

42、自动进入准备状态,等待主持人按“抢答开始”进入下次抢答计时。(4)如果主持人未按抢答“开始”键,而有人按了抢答按键,犯规抢答,LED发光二极管不断闪烁,数码管会显示犯规号和 FF并且响个不停,直到按下4 软件设计19“停止” 键为止。总而言之,本设计利用 AT89C51单片机及外围接口实现的抢答系统设计了抢答器,该抢答器增加了新功能、提高了系统的可靠性、简化了电路结构、节约了成本,是一个实用的工程设计。4.3抢答器的工作流程图抢答器的基本工作原理:在抢答竞赛或呼叫时,有多个信号同时或不同时送入主电路中,抢答器内部的寄存器工作,并识别、记录第一个号码,同时内部的定时器开始工作,记录有关时间并产生

43、超时信号。在整个抢答器工作过程中,显示电路、声音电路等还要根据现场的实际情况向外电路输出相应信号。抢答器的工作流程分为:系统复位、正常流程、违例流程等几部分,如图 4-3所示,下面分别予以介绍。图 4-3 抢答器的工作流程图4 软件设计204.4系统初始化模块主程序的功能主要是完成内部各寄存单元的初始化,对接口电路的初始化,内部定时器的初始化,中断的初始化及调节显示程序对初始状态的显示以及对外部信号的等待处理,也就是说完成前期的准备工作等待随时对外部信号进行响应。程序清单如下:OK EQU 20H;抢答开始标志位RING EQU 22H;响铃标志位ORG 0000HAJMP MAIN;跳转主程

44、序ORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 001BHAJMP T1INTORG 0040HMAIN: MOV R1,#30;初设抢答时间为 30sMOV R2,#60;初设答题时间为 60sMOV TMOD,#11H;设置未定时器/模式 1MOV TH0,#0F0HMOV TL0,#0FFH;越高发声频率越高,越尖MOV TH1,#3CHMOV TL1,#0B0H;50ms为一次溢出中断SETB EASETB ET0SETB ET1SETB EX0SETB EX1;允许四个中断,T0/T1/INT0/INT1CLR OK4 软件设计21CLR R

45、INGSETB TR1SETB TR0;一开始就运行定时器,以开始显示 FFF.如果想重新计数,重置TH1/TL1就可以了4.5正确抢答模块如图 4-4所示当按下开始键后在数码显示管上第三位和四位上显示 30秒并倒计时,当有选手按键时数码管会在第一位上显示选手号并 60秒倒计时开始,在最后 5秒倒计时时提示灯会不断闪烁并发出嘟嘟声,最后回到初始状态。程序清单如下:图 4-4 正常抢答流程图;=正常抢答处理程序=TRUE1: ACALL BARKMOV A,R2MOV R6,A;抢答时间 R2送 R6MOV R3,#01H4 软件设计22CLR OK;因为答题的计时不再查询抢答,所以就锁了抢答A

46、JMP COUNTTRUE2: ACALL BARKMOV A,R2MOV R6,AMOV R3,#02HCLR OKAJMP COUNTTRUE3:ACALL BARKMOV A,R2MOV R6,AMOV R3,#03HCLR OKAJMP COUNTTRUE4:ACALL BARKMOV A,R2MOV R6,AMOV R3,#04HCLR OKAJMP COUNTTRUE5:ACALL BARK MOV A,R2MOV R6,AMOV R3,#05HCLR OKAJMP COUNTTRUE6:ACALL BARK MOV A,R2MOV R6,A4 软件设计23MOV R3,#06HC

47、LR OKAJMP COUNTTRUE7:ACALL BARK MOV A,R2MOV R6,AMOV R3,#07HCLR OKAJMP COUNTTRUE8:ACALL BARK MOV A,R2MOV R6,AMOV R3,#08HCLR OKAJMP COUNT4.6非法抢答模块如图 4-5所示在没有按下开始按键时,有选手按下按键时数码管会显示该选手号并且提示灯不断闪烁并发出嘟嘟声。程序清单如下:图 4-5 非法抢答流程图;=犯规抢答程序=ERROR: MOV R0,#00H4 软件设计24MOV TH1,#3CHMOV TL1,#0B0HMOV 34H,R3;犯规号数暂存与(34H)

48、HERE: MOV A,R0CJNE A,#06H,FLASH;0.3s向下运行-灭并停响CLR RING MOV R3,#0AHMOV R4,#0AHMOV R5,#0AH;三灯全灭AJMP CHECK1FLASH: CJNE A,#0CH,CHECK1;下面是 0.8s的情况,响并显示号数并清 R0,重新计SETB RINGMOV R0,#00HMOV R3,34H;取回号数MOV R5,#0BHMOV R4,#0BH;显示 FF和号数AJMP CHECK1CHECK1:JNB P3.1,QUIT1ACALL DISPLAYAJMP HEREQUIT1: CLR RINGCLR OKAJM

49、P START4.7数码管显示显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。在这里我们使用的是七段数码管显示,通常在显示上我们采用的方法一般包括两种:一种是静态显示,一种是动态显示。其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用4 软件设计25端口资源多;动态显示的特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。在本设计中根据实际情况采用的是动态显示方法。通过查表法,将其在数码管上显示出来,其中 P0口为字型码输入端,P2口低 3位为字选段输入端。在这里我们通过查表将字型码送给 7段数码管显示的数字,数码管显示原理,程序清单如下:;=显示程序=DISPLAY:MOV DPTR,#DAT1;查表显示程序利用 P0口做段选码口输出/P2 低三位做位选码输出MOV A,R3MOVC A,A+DPTRMOV P2,#0feHMOV P0,AACALL DELAY2MOV DPTR,#DAT2MOV A,R5MOVC A,A+DPTRMOV P2,#0fdHMOV P0,AACALL D

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报