《2022年设计方案单片机抢答器》由会员分享,可在线阅读,更多相关《2022年设计方案单片机抢答器(34页珍藏版)》请在金锄头文库上搜索。
1、个人资料整理仅限学习使用基于单片机的抢答器电路设计摘要:随着人才的竞争也越来越激烈,一些企事业单位为了选拔或者奖励员工会采取智力问答、知识竞赛的方式,所以抢答器也就成为必备的设备。本文介绍了一种基于单片机的抢答器的设计方法,以单片机为控制核心,通过检测按键的方式来判断抢答的选手,并将选手的编号以数字的方式在数码管上显示出来。在选手回答问题时,其他选手的抢答按键将被屏蔽。系统还为每路抢答器设置了双色发光二极管,用于指示选手抢答成功或犯规。本文提出的设计方法简单易懂、操作方便。关键字:抢答器、单片机、数码管,74LS164 TheDesignofThe ResponderBased On Micr
2、ocontroller Abstract:With the competition between talents is more and more fierce. As a result, to select and reward the staff, some of enterprise and public institutions take a way of mind quiz or knowledge competition, and responderbecomes one of the necessary equipments. In this paper, the author
3、 introduces a design procedure of the responderbased on Microcontroller, with the cybernetics core of Microcontroller, and through the way of testing the keys pressing to judge which competitor races to be the first to answer and to show the number of the competitor digitally on the digitaltube. Als
4、o, when the competitor presses the key, the buzzer will be singing at the same time and the signals of others answer keys will be shielded. The system also setsdouble colour Light emitting diode for differentr responder, which can dedicate the success or foul of competitors. Generally speaking, the
5、design procedure introduced is easy to understand and convenient to operate.Keywords:Responder、Microcontroller 、Digital tube、74LS164精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 34 页个人资料整理仅限学习使用目 录精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 34 页个人资料整理仅限学习使用第一章序言随着计算机技术的发展和在控制系统中的广泛应用
6、,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出了很强的生命力。进入21 世纪以来,开发推出单片机的公司很多,各种高性能单片机芯片市场也异常活跃,新技术的不断采用,更加使单片机的种类、性能以及应用领域不断扩大和提高。因其功耗低,超高型,低成本,功能完整,在国内越来越受到用户的重视和广泛使用。1.1 选题目的及意义抢答器是一种应用于企事业单位或者智力竞赛节目中作为抢答使用的一种电子设备。随着社会经济的飞速发展,人才的竞争也越来越激烈,一些企事业单位为了选拔或者奖励员工会采取智力问答、知识竞赛的方式,所以抢答器也就成为必备的设备。由于现在
7、社会上普遍使用的抢答器一般都是老式的模拟、数字混合电路设计的电子抢答器,虽然这种设计技术已经非常成熟,但是功能单一,电路结构非常复杂庞大,成本相当高,不易于修改、升级和功能的扩展。并且抢答器的使用频率较低,做为一个单位若专购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展。因此设计了本抢答器即基于51 单片机的 8 路抢答器。本说明书共分为4 章,第一章课题分析与方案论证;第二章对硬件进行了详细的说明;第三章对系统的软件进行了分析;第四章有选择地列举了软硬件在调试过程中出现的问题,并对问题作出了分析。设计的最终
8、成果是:能通过抢答显示抢答者组号;限时抢答;答题具有倒计时功能;违规抢答用不同指示信号。1.2 抢答器简介抢答器时在竞赛、文娱节目中可以准确、直观地判断出抢答选手的电子设备,通过抢答选手的指示灯显示、声音提示、数码管显示等方法指示抢答选手。抢答器主要分为电子抢答器和电脑抢答器。电子抢答器:电子抢答器的中心一般是由单片机及其外围电路组成的,多适用于学校和企事业单位的简单的抢答活动。电子抢答器有语音和非语音之分,非语音抢答器只有一个主机和一个抢答器按钮,没有记分牌显示屏;语音抢答器由主机和显示屏组成,可以记录选手的分数。电脑抢答器:电脑抢答器有无线和有线之分。无线电脑抢答器是由主机、抢答器专用软件
9、和无线按钮组成,利用电脑和投影仪等设备可以活跃抢答的气氛,多适用于大型的活动;有线电脑抢答器也是由主机和电脑组成,只是必须通过串口方式连接,配合投影仪和软件等,也可精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 34 页个人资料整理仅限学习使用以达到无线电脑抢答器活跃气氛的效果。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 34 页个人资料整理仅限学习使用第二章方案设计2.1 课题要求系统设计方框图如图2-1 所示。以 AT89S51单片机为控制器,单片机通过查询的方式判断哪一
10、路按键按下,并将抢答选手的编号送至数码管显示电路进行显示,某一位选手抢答成功时,其他选手的抢答按键将被屏蔽,同时数码管显示回答问题的定时时间。在抢答期间,数码管可以显示抢答定时时间,抢答成功以LED灯亮提示,如果选手抢答犯规,则以另一色LED灯亮提示。图 2-1 系统设计方框图2.2 设计方案选择2.2.1 系统设计方案选择方案一:利用逻辑电路来搭建系统电路。按下按键后电路中的高电平触发蜂鸣器蜂鸣提示,同时给显示单元数字芯片一个高电平触发信号,进而来驱动显示电路显示数字。利用这种方法设计的抢答器电路结构复杂,所用的芯片比较多,显的比较庞大,也不利于硬件制作,功能单一,修改与扩展比较繁琐。方案二
11、:利用单片机搭建系统电路。单片机通过检测按键来判断抢答选手,并将选手编号送数码管显示。电路简单清晰、操作方便。比较以上两种方案,第一种方案除了电路结构复杂外,对于按键的屏蔽也很难做到,而第二种方案通过软件程序很轻松就可以实现按键屏蔽、编号显示等功能。所以,本设计选用第二种设计方案。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 34 页个人资料整理仅限学习使用2.2.2 控制器选择对于控制芯片常用的可以选择的有CPLD 器件和单片机。方案一: CPLD 器件。采用CPLD 器件设计起来结构清晰,各个模块从硬件上设计起来相对简单,控制与显
12、示模块间的连接也会比较方便,但是考虑到本设计的特点,CPLD 在功能扩展上比较受限制,而且CPLD 占用的资源也相对多一些,从成本上来讲,用可编程逻辑器件来设计没有什么优势。方案二:单片机。单片机有丰富的中断源,方便本实验的设计,它的准确度相当高,并且C 语言和汇编兼容的编程环境也很方便来实现一些调用。I/O 口功能也比较强大,方便使用,方便对设计进行扩展,使设计更加完善,成本也相对低一些,虽然在控制与显示的结合上有些复杂,但和前者相比用单片机设计还是比较可行的。综上所述,本设计选用单片机作为系统控制器。2.2.3 显示器件选择方案一:采用LCD 液晶显示屏,液晶显示屏的显示功能强大,可显示大
13、量文字、图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,比较适合显示文字或者制作大型屏幕。方案三:采用LED 数码管动态扫描, LED 数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。综上所述,抢答器显示上要求显示选手的编号和定时时间,所以,本设计选用数码管作为显示器件。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 34 页个人资料整理仅限学习使用第三章系统硬件设计3.1 电路设计环境本设计硬件电路是在Protel
14、 电子设计软件环境下进行设计的,系统整体电路原理图见附录2。Protel电子线路设计软件是在TANGO 基础上改进的电路CAD 软件,由原理图编辑、印制板设计、原理图输出、印制板输出、原理图器件库编辑和其他应用程序组成。电路原理图的设计是印制电路板设计中的第一步,也是非常重要的一步。电路原理图设计得好坏将直接影响到后面的工作。电路原理图的设计过程可分为以下几个步骤:1、设置电路图纸参数及相关信息根据电路图的复杂程度设置图纸的格式、尺寸、方向等参数以及与设计有关的信息,为以后的设计工作建立一个合适的工作平面。2、装入所需要的元件库将所需的元件库装入设计系统中,以便从中查找和选定所需的元器件。3、
15、设置元件将选定的元件放置到已建立好的工作平面上,并对元件在工作平面上的位置进行调整,对元件的序号、封装形式、显示状态等进行定义和设置,以便为下一步的布线工作打好基础。4、电路图布线利用 Protel 所提供的各种工具、命令进行画图工作,将事先放置好的元器件用具有电气意义的导线、网络标号等连接起来,布线结束后,一张完整的电路原理图基本完成。5、调整、检查和修改利用 Protel 所提供的各种工具对前面所绘制的原理图做进一步的调整和修改。6、补充完善对原理图做一些相应的说明、标注和修饰,增加可读性和可观性。7、保存和打印输出这部分工作主要是对设计完成的原理图进行保存,包括存盘、打印输出等,以供以后
16、的工作中使用。3.2 输入按键电路设计按键电路如图3-1 所示。单片机的P1 口控制矩阵键盘。本设计采用4*4 矩阵键盘, S1-S8 按键分别代表8 个选手的按键。矩阵键盘的行线接P1.0-P1.3引脚,列线接P1.4-P1.7引脚。将P1.0-P1.3引脚置为高电平, P1.4-P1.7引脚依次置为低电平,当按键没有按下时,P1.0-P1.3口各引脚状态不变,一旦有按键按下,则P1.0-P1.3就会有引脚变为低电平,这精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 34 页个人资料整理仅限学习使用样,通过读入P1.0-P1.3的状态
17、就可得知是哪一个按键按下了,即对应的哪一位选手抢答成功。输入按键电路还需要注意到是两个主要问题是判断是否有按键按下和消除按键抖动的影响。按键的确认反映在电压上,就是和按键相连的引脚呈现出高电平还是低电平。消除按键的抖动通常有硬件、软件两种消除方法。一般在按键较多时,采用软件的方法消除抖动,即在第一次检测到有按键按下时,执行一段延时10ms 的子程序后,再确认该键电平是否任保持为闭合状态电平,如果保持为闭合状态电平就可以确认真有按键按下,从而消除抖动的影响。图 3-1 按键电路3.3 单片机控制电路设计3.3.1 单片机的发展单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能
18、力的中央处理器 CPU、随机存储器RAM 、只读存储器ROM、多种 I/O 口和中断系统、定时器 /计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。单片机也被称为微控制器,它最早是被用在工业控制领域。单片机由芯片内仅有CPU 的专用处理器发展而来。早期的单片机都是 8 位或 4 位的。其中最成功的是INTEL 的 8031,因为简单可靠而性能不错获得了很大的好评。此后在 8031上发展出了 MCS51 系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16 位单片机,但因为性价比不理想并未得到很广泛的应用。90 年代后随着消费电子产
19、品大发展,单片机技术得到了巨大提高。随着 INTEL i960 系列特别是后来的ARM 系列的广泛应用, 32位单片机迅速取代16 位单片机的高端地位,并且进入主流市场。而传统的8 位单片机的性能也得到了飞速提高,处理能力比起 80年代提高了数百倍。单片机诞生于20 世纪 70 年代末,经历了SCM、MCU、SoC三大阶段。1、SCM 即单片微型计算机阶段:主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。2、MCU 即微控制器阶段:主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU
20、 的重任不可避免地落在电气、电子技术厂家。Philips 公司以其在精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 34 页个人资料整理仅限学习使用嵌入式应用方面的巨大优势,将MCS-51 从单片微型计算机迅速发展到微控制器。3、嵌入式系统:单片机是嵌入式系统的独立发展之路,向MCU 阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、 IC 设计、 EDA 工具的发展,基于SoC 的单片机应用系统设计会有较大的发展。3.3.2 单片机 AT89S51芯片简介单片机是指
21、将CPU、随机存储器RAM 、只读存储器ROM、输入 /输出 I/O 接口电路集成在一个芯片上的微处理器,它将定时器/计数器等部分都制作在一块芯片上,从而构成一个完整的计算机系统。单片机的内部结构图如图3-2 所示。图 3-2 单片机内部结构图各部分功能介绍:CPU:中央处理器,是单片机最核心的部分,主要功能是完成运算和控制功能。内部存储器:包含内部数据存储器和程序存储器,存储器由大量的寄存器组成,每个寄存器称为一个存储单元。定时/计数器:定时器是由单片机的内部来提供一个计数信号;计数器记录单片机外部发生的事件,由单片机的外部电路来提供计数信号。中断系统:中断系统在单片机中起着非常重要的作用,
22、采用的是一种实时控制技术,能对突发时间进行及时处理,从而提高系统的实时性能。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 34 页个人资料整理仅限学习使用串行 I/O 口:串行 I/O 口的数据每个位是按照顺序传输的,其特点就是需要一对传输线,且成本低,但是速度比较慢,效率低,适合于静态显示的应用。并行 I/O 口:并行 I/O 接口的数据所有的位同时传输的,其特点是速度快、效率高,但是传输多少位就需要多少根线,因此成本较高,适合于动态显示的应用。AT89S51是美国 ATMEL 公司生产的低电压、高性能的CMOS 8 位单片机, A
23、T89S51的内部结构: MCS-51 系列单片机都是在8051的基础上增加部分资源,例如程序存储器、数据存储器、I/O 口、定时器 /计数器及一些其他特殊部件构成的,其一般都含有8051除程序存储器外的其他基本硬件。兼容MCS-51 内核系列的单片机一般可寻址64KB 程序存储器,或64KB 数据存储器,其内部程序存储器一般在032KB 之间。 AT89S51由 CPU 内核、程序存储器、数据存储器、 IO 口、复位与时钟、定时器与计数器、中断系统、串行通讯接口、看门狗和ISP 在线编程接口组成。 AT89S51引脚图如图 3-3所示。图 3-3AT89S51 单片机引脚图引脚主要功能如下:
24、P0口P0.0P0.7)为双向 8 位三态 I/O 口,当作为 I/O 口使用时,可直接连接外部I/O 设备。它是地址总线低8位及数据总线分时服用口,可驱动8个 TTL 负载。一般作为扩展时地址/数据总线口使用。P1 口P1.0P1.7)的每一位都可以分别定义为输入线和输出线做输入时,锁存器必须置 1),可驱动 4个 TTL 负载。 P1口常用作通用 I/O 口,它是一个标准的准双向口。P2 口P2.0P2.7)为 8 位准双向I/O 口,当作为I/O 口使用时,可直接连接外部I/O 设备。它是地址总线的高8 位复用,可驱动4 个 TTL 负载。一般作为扩展地址总线的高8 为使用。P3口P3.
25、0P3.7)为 8 位准双向 I/O 口,是双功能复用口,可驱动4 个 TTL 负载,能够实现第一功能,可作为通用I/O 口。P3 口同时为闪烁编程和编程校验接收一些控制信号。P3口还有第二功能定义,如表3-1 所示:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 34 页个人资料整理仅限学习使用表 3-1 P3口第二功能定义引脚定义功能引脚定义功能P3.0-RXD 串行输入口P3.1-TXD 串行输出口P3.2-外部中断 0P3.3-外部中断 1 P3.4-T0 计时器 0外部输入P3.5-T1 计时器 1 外部输入P3.6-外部数
26、据存储器写选通P3.7-外部数据存储器读选通RST:复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。ALE:地址锁存控制信号。在系统扩展时,ALE 用于控制把P0 口输出的低8 位地址锁存起来,以实现低位地址和数据的分时传送。:片外程序存储器选通信号,低电平有效。:片外程序存储器访问允许信号,低电平有效。在与Flash 并行编程 /校验期间,该引脚施加 12V 的编程电压 VPP。XTAL1 和 XTAL2 :外接晶振引线端。使用芯片内部时钟时,这2 个引脚用于外接晶振和微调电容;使用外部时钟时,外接时钟脉冲信号。3.3.3 时钟电路设计单片机的各功能部件的运行都是以时
27、钟频率为基准的条件下进行有序工作的,因此,时钟对于单片机来说非常重要。AT89S51 片内由一个反相放大器构成振荡器,可以通过它俩产生时钟。常用的单片机产生时钟的方法有两种:内部时钟方式和外部时钟方式。本设计选用内部时钟方式,电路如图3-4 所示。单片机内部 XTAL1 引脚为高增益反向放大器的输入端,XTAL2 为输出端,在这2 个引脚之间接石英晶振和电容,就可以构成一个稳定的自激振荡器。电路中两个电容C1,C2 的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。晶振的大小主要取决于单片机的工作频率,晶振振荡频率不大于单片机的最大工作频率即可。如果有串行通信,需要选择振荡频率除以
28、串行通信频率可以整除的晶振。本设计选用的12MHz 晶振的计数周期如下式所示:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 34 页个人资料整理仅限学习使用图 3-4 时钟电路3.3.4 复位电路设计单片机的复位引脚RST 为单片机提供了初始化手段。复位是单片机的初始化操作,在本设计中复位电路采用按键电平方式,使RST 引脚经过 10u 电解电容与VCC 电源接通,同时经过电阻与地连接而实现,单片机是高电平复位有效,当按键S16 按下时候,单片机的9 脚RESET管脚处于高电平,此时单片机处于复位状态。当上电后,由于电容的缓慢充电,
29、单片机的 9 脚电压逐步由高向低转化,经过一段时间后,单片机的9 脚处于稳定的低电平状态,此时单片机上电复位完毕,系统程序重新执行。如图 3-5 所示。图 3-5 复位电路3.3.5 控制电路设计单片机控制电路如图3-6 所示。单片机的P1 口控制矩阵键盘,通过扫描的方式确定哪一个按键被按下,当有按键按下时,对应的发光二极管亮灭,提示有选手回答问题;单片机的P2口控制数码管显示电路; P3 口控制 LED 灯,通过控制 2 个 74LS164来控制 16 路 LED 灯,以提示选手抢答成功或者犯规。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1
30、2 页,共 34 页个人资料整理仅限学习使用图 3-6 单片机控制电路3.4 显示电路设计3.4.1 74LS164 介绍74LS164为 8 位移位寄存器,管脚图如图3-7 所示。当 MR 为低电平时,输出端 Q0-Q7)均为低电平。串行数据输入端A,B)可控制数据。当A、B 有一个为高电平,则另一个就允许输入数据,并在CLOCK 上升沿作用下决定Q0 的状态。真值表如表3-2 所示。图 3-7 74LS164 引脚图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 34 页个人资料整理仅限学习使用表 3-2 74LS164 真值表I
31、nputs Outputs /MR Clock A B Q0 Q1 . Q7 L H H H H X L X X X X H H L X X L L L . L QA0 QB0 . QH0 H QAn . QGn L QAn . QGn L QAn . QGn H高电平, L低电平, X任意电平,低到高电平跳变,QA0、QB0、QH0规定的稳态条件建立前的电平,Qan、QGn时钟最近的前的电平。3.4.2 显示电路设计本设计中选用数码管作为显示器件。LED 数码管由八只发光二极管组成,编号是a、b、c、d、e、f、g、h,分别和同名管脚相连,当发光二极管导通时发光。每个二极管就是一个笔划,若干
32、个二极管发光时,就构成一个显示字符。若将单片机的I/O 口与数码管的a-g 和 h 相连,高电平 对应共阴极数码管)或低电平对应共阳极数码管)的位对应的发光二极管就会亮,这样, I/O 口输出不同的代码就可以控制数码管显示不同的字符。为减少电路板中的焊接线,本设计选用 4 位一体数码管,采用串行输入并行输出的8 位移位寄存器74LS164进行驱动输出,单片机的 P2.4和 P2.5口作为 74LS164的数据线和 CLK 信号。 74LS164将输入的串行数据锁存在并行输出端,通过这些并行口线驱动数码管的各字段。数码管选用共阳型,当74LS164 的某个输出端口为低电位时,数码管对应的字段将被
33、点亮。软件设计中数码管采用循环送显的方式,单片机通过控制9012 来选择要送显的数码管。单片机控制74LS164 的数据端和时钟端, 74LS164的输出 Q0-Q7 分别对应接到数码管的a-h 端口。当需要某一位数码管显示时,该数码管相对应的三极管基极所连接的单片机引脚输出高电平,三极管导通,进而选通该位数码管,单片机再将数据写入到74LS164内部锁存,再由74LS164将显示译码送入该位数码管个码段显示,从而实现了单片机控制数码管显示的功能。显示电路如图3-8 所示。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 34 页个人资
34、料整理仅限学习使用图 3-8 显示电路3.5 LED 灯提示电路设计为了让系统功能更加完善,本设计为每位选手增加了2 路双色灯来提示抢答成功或犯规。电路如图 3-9 所示。单片机通过控制74LS164的数据端 A 和 B,根据其 CLK上升沿的时序来实现对输出Q0-Q7 的控制,而输出Q0-Q7 直接接 LED 灯,从而实现所要求的共能即抢答成功相对应编号的绿色发光二极管亮,抢答失误以及抢答失败的相对应编号的红色发光二极管亮。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 34 页个人资料整理仅限学习使用图 3-9 LED 灯提示电路
35、3.6 稳压电源设计为了保护直流电路,起到降压的作用,使电压输出更稳定。本设计还采用了三端稳压电路如图 3-10 所示,采用 LM7805器件与 C1 ,C2以及一节 9V电池组成三端稳压电路,通过端口1输入 9V 电压经过 LM7805后,稳定输出5V 的电压。输入端电容的作用是滤除输入电源9V 电池)的噪声。这 2 个电容的一大一小,用以滤除低频和高频噪声并起到稳压作用。图 3-10 稳压电源3.7 本章小结本章讲的是以89S51 单片机为核心的抢答器电路的硬件电路的设计。硬件电路分为输入按键电路、单片机控制电路 ,可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE 本
36、身或其它编辑器编辑 C或汇编源文件。然后分别由C51及 C51编译器编译生成目标文件 (.OBJ。目标文件可由 LIB51 创建生成库文件,也可以与库文件一起经L51 连接定位生成绝对目标文件(.ABS。ABS文件由 OH51 转换成标准的 Hex文件,以供调试器dScope51或 tScope51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM 中。使用独立的 Keil 仿真器时,注意事项:仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。仿真器上的复位按钮只复位仿真芯片,不复位目标系统。仿真芯片的31
37、 脚/EA)已接至高电平,所以仿真时只能使用片内ROM ,不能使用片外ROM ;但仿真器外引插针中的31 脚并不与仿真芯片的31 脚相连,故该仿真器仍可插入到扩展有外部 ROM 其 CPU 的/EA 引脚接至低电平)的目标系统中使用。Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4.1.2 编程语言在开发大型软件时更能体现高级语言的优势。C语言有以下特点:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 34 页个人资料整理仅限学习使用1、语言简洁、紧凑、使
38、用方便、灵活。C 语言一共只有32 个关键字, 9 种控制语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分。2、运算符丰富。 C 的运算符包含的范围很广泛,共有34种运算符,使得C 的运算类型极其丰富,表达式类型多样化,灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。3、数据结构丰富,具有现代化语言的各种数据结构,能用来实现各种复杂的数据结构的运算。4、具有结构化的控制语句,用函数作为程序的模块单位,便于实现程序的模块化。5、语法限制不太严格,程序设计自由度大。6、C 语言能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此,C 既具有高级语言的功能,
39、又具有低级语言的许多功能,可用来写系统软件。C 语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。7、生成目标代码质量高,程序执行效率高。8、用 C 语言写的程序可移植性好。基本上不用修改就能用于各种型号的计算机和各种操作系统。对操作系统和系统实用程序以及需要对硬件进行操作的场合,用C 语言明显地优势于其他高级语言,有的大型应用软件也用C 语言来编写。4.2 程序设计流程本设计软件设计流程图如图4-1 所示,完整源程序见附录5。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 34 页个人资料整理仅限学习使用图 4-
40、1 程序设计流程图整体过程是初始化按键,键盘按下开始键后,程序主函数中开始扫描读取按键,通过读取按键值程序段读取对应的选手编号,如果有数据输入则调用第一排LED 发光二极管的程序 绿灯),否则调用调用第二排LED 发光二级管的显示程序红灯),最后将读取按键值将读取后的选手编号保存入数组中。经过送显示程序,在送显示程序中调用写入程序 /向 164写入段码uchar i,j。j=lx。for(i=0。i 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 34 页个人资料整理仅限学习使用 CLK_164=0 。 if(j&0x01=0x01
41、DTAT_164=1。 else DTAT_164=0。 delay(3。 CLK_164=1。 j=j1。 delay(2。 void disp_all(void /送数码管显示 uchar i,j。 for(i=0。i for(j=0 。j P2=0X0F。 write_164(DISP_SAVEj 。 delay(50。 P2=0X0F。 write_164(0xff。 4.5 定时时间程序设计本设计通过单片机定时器中断来提供定时时间。定时器/ 计数器是单片机内的重要部件,其作用主要包括产生各种时标间隔、记录外部事件的数量等。AT89S51单片机有 2 个 16 位的定时器/ 计数器:定
42、时器 / 计数器0T0)和定时器 / 计数器 1T1)。定时器 / 计数器的核心是一个16 位的加 1 计数器:做定时器时,其计数脉冲来源于时钟振荡器经 12 分频后提供),这个脉冲的周期称为单片机的机器周期,每一个机器周期定时寄存器自动加1,所以定时器也可看做是计算机器周期的计数器,由于每一个机器周期为12 个时钟振荡周期,所以定时器的分辨率是时钟振荡频率的1/12,一旦振荡频率选定,则机器周期也确定;作计数器时,其计数脉冲来源于单片机外部引脚T0或 T1)的脉冲。即TX 端口有从“ 1”到“ 0”的负跳变,计数器就自动加 1,计算机是在每个机器周期采样为0 时,计数器即加一计数,计算机需用
43、两个机器周期来识别 1 次计数,因而最大计数速率为振荡频率的1/24 。AT89S51单片机的定时器 / 计数器 T0 由 TH0 、TL0构成, T1 由 TH1 、TL1构成。 TMOD 用于控制和确定各定时器 / 计数器的功能和工作模式。TCON 用于控制定时器 / 计数器 T0、T1 的启动和停精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 34 页个人资料整理仅限学习使用止计数,同时包含定时 / 计数器的状态。T0、T1的方式寄存器 TMOD:方式寄存器TMOD 是一个逐位定义的8 位寄存器,是只能字节寻址的寄存器,字节地址
44、为89H ,其格式如表 4-1 所示。表 4-1 TMOD 寄存器格式D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/T M1 M0 T1 T0 其中低 4 位定义定时器 / 计数器 T0,高 4 位定义定时器 / 计数器 T1,各位的意义如下:GATE 门控位。 GATE=1时,由外部中断 /INT0 、/INT1 和 TR0 、TR1 来启动定时器。当/INT0 引脚为高电平时, TR0置位,启动定时器T0;当/INT1 引脚为高电平时, TR1置位,启动定时器 T1。GATE=0 时,仅由 TR0和 TR1置位来启动定时器T0、T1。C/T 功
45、能选择位。 C/T=1 时,选择计数功能; C/T=0 时,选择定时功能。M0 、M1 方式选择位。由于M1和 M0两位,可以有 4 种工作方式,如表4-2 所示。表 4-2 T0、T14 种工作方式M1 M0 工作方式计数器配置0 0 方式 0 13位计数器0 1 方式 1 16位计数器1 0 方式 2 自动再装入的 8 位计数器1 1 方式 3 T0 分为两个 8位计数器、 T1 停止计数T0、T1控制寄存器 TCON :TCON 是一个逐位定义的8 位寄存器,既可字节寻址也可位寻址,字节地址为88H ,为寻址的地址为 88H 8FH 。与中断源有关的位如表4-3 所示。表 4-3 TCO
46、N 寄存器位说明位D7 D6 D5 D4 D3 D2 D1 D0 TCON TF1 TF0 IE1 IT1 IE0 IT0 位地址8FH 8DH 8BH 8AH 89H 88H 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 23 页,共 34 页个人资料整理仅限学习使用各位的意义如下:TF1:T1 溢出中断标志。 T1 被允许计数后,从初值开始加1 计数。当产生溢出时硬件置“1”TF1,向 CPU请求中断,一直保持到CPU响应中断时,才由硬件清“0”也可由查询软件清零)。TF0:T0 溢出中断标志。 T0 被允许计数后,从初值开始加1 计数。当产
47、生溢出时硬件置“1”TF0,向 CPU请求中断,一直保持到CPU响应中断时,才由硬件清“0”也可由查询软件清零)。IE1:外部中断 1 请求源标志。 IE1=1,外部中断向 CPU 请求中断,当 CPU响应该中断时由硬件清“ 0”IE1边沿触发方式)。IT1:由软件置位 / 复位选择外部中断1/INT1)的跳变 / 电平激活中断请求。当置位IT1 为1 时,则外部中断1 端口由“ 1”- “0”跳变 前一个机器周期为高电平,后一个机器周期为低电平,即发生负跳变)时激活中断请求标志位IE1,向主机请求中断处理;如果复位IT1 为0,则在 /INT1)端口出现低电平时,激活中断请求标志IE1,向主
48、机请求中断处理。IE0:外部中断 0 请求源 /INT0,P3.2)标志。 IE0=1 外部中断 0 向 CPU请求中断,当 CPU响应外部中断时,由硬件清“0”IE0边沿触发方式)。IT0:外部中断 0 触发方式控制位,其意义和功能与IT1 类似。T0、T1的数据寄存器:T0、T1 各有一个 16 位的数据寄存器,它们都是由高8 位寄存器和低 8 位寄存器组成。这些寄存器不经缓冲,直接显示当前的计数值。T0、T1 的数据寄存器都是读 / 写寄存器,任何时候都可以对它们进行读 / 写操作。复位后,这些寄存器全部清零。4.6 本章小结精选学习资料 - - - - - - - - - 名师归纳总结
49、 - - - - - - -第 24 页,共 34 页个人资料整理仅限学习使用第五章系统调试故障与分析系统调试包括硬件调试和软件调试。硬件调试的任务是排除系统的硬件电路故障,包括设计性错误和工艺性故障。软件调试时利用开发工具进行在线仿真调试,除发现和解决程序错误外,也可以发现硬件故障。4.1 硬件调试4.1.1. 硬件调试方法 脱机调试。脱机调试是在样机加电之前,先用万用表等工具,根据硬件电气原理图和装配图,子线检查样机线路的正确性,并核对元器件型号,规格和安装是否符合要求。特别注意电源的走线,防止电源之间的短路或极性错误,重点检查系统的总线或其他信号线之间是否存在相互的短路。样机所用的电源,
50、事先必须单独调试后才能加到系统中。在不插芯片的情况下,加电检查各插件上引脚的电位,子线测量个点电位是否正常,尤其应注意单片机插座上的各点电位是否正常。 联机调试。通过脱机调试可排除一些明显的硬件故障,有些硬件故障需要通过联机调试才能发现和排除。通电后,执行读写指令,对用户样机的存储器,I/O 端口进行读写和逻辑检查等操作,用示波器等设备观察波形如输出波形,读 /写控制信号,地址数据波形和有关控制电平),通过对哦性的观察分析,发现和排除故障。4.1.2. 故障及解决方法在焊接数码管的过程中,由于焊接问题导致最后调试的过程中数码管一直在闪烁,最后通过万用表检查电路发现了虚焊。最终成功解决了数码管闪
51、烁的问题。在最后测试的时候,验证抢答功能时,按键过后,数码管显示抢答成功的选手的编号,但是对应编号的发光二极管并未亮起。检查后才知识发光二极管损坏导致未亮起,最后更换了发光二极管功能得以实现。4.2 软件调试的方法及注意事项软件调试方法与选用的软件结构和程序设计技术有关,如果采用模块设计技术,则逐个模块调试好以后,再进行系统程序总调试;如果采用实时多任务操作系统,一般是逐个任务进行调试。对于模块结构程序,要对子程序逐个进行调试。调试子程序时,一定要符合入口条件和出口条件,调试手段可采用单步运行方式和断点运行方式,通过检查用户系统CPU 的现场,RAM 的内容和 I/O 口的状态,检测程序执行结
52、果是否符合设计要求。通过检测,可以发现程序中的死循环错误,机器代码错误和转移地址错误,同时也可以发现用户系统中的硬件故障,软件算法和硬件设计错误,在调试过程中不断调整用户系统的软件和硬件,完成每个程序模块的精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 25 页,共 34 页个人资料整理仅限学习使用调试。每个模块通过后,可以联合各功能模块进行整体程序综合调试。在这一阶段如果发生故障,可以分析子程序在运行时是否破坏现场,缓冲单元是否发生冲突,零位的建立和清除在设计上是否失误,堆栈区域是否溢出,或输入设备的状态时否正常等。等用户系统是在开发系统的监控程
53、序选运行,还要考虑用户缓冲单元是否和监控程序的工作单元发生冲突。单步运行只能验证程序正确与否,而不能确定定时精度,CPU 的使用响应等问题,所以单步和断点调试后,还应进行连续调试。除了观察稳定性之外,还要观察用户系统的操作是否符合原始设计要求,以及安排的用户操作是否合理等,必要时还要做适当修正。实时多任务操作系统的调试方法与上述方法相似,只是实时多任务操作系统的应用程序是有若干个任务程序组成的们一般是逐个任务进行调试。在调试某一个任务时,同时也调试相关的子程序,中断服务程序和一些操作系统的程序。各个任务调试好以后,再使各个任务同时运行。如果操作系统中没有错误,一般情况下系统就能正常运转。4.3
54、 系统联调系统联调是指让用户系统的软件在其硬件上实际运行,进行软、硬件联合调试,从中发现硬件故障或软,硬件设计错误。这是对用户系统检验的重要一关。系统联调方法:采用单步,断电,连续运行方式调试与硬件相关的各程序段既可以检验这些用户程序段的正确性,又可以在各功能独立的情况下,检验软、硬件的配合情况。将软、硬件按系统工作要求进行综合运行,采用全速断点、连续运行方式进行总调试,以解决在系统总体运行的情况下软、硬件的协调与提高系统动态性能。在具体操作中用户系统在开发系统环境的下,先借用仿真器的 CPU,存储器等资源进行工作。若发现问题,按上述软、硬件调试方法准确定位错误,分析错误原因,找出解决办法。用
55、户系统调试完后,将用户程序固化带用户系统的程序存储器中,再借用仿真器CPU 是用户系统运行。若无问题,则用户系统插上单片机即可以正确工作注意,不要忘记用户系统时钟、复位电路的调试)。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 26 页,共 34 页个人资料整理仅限学习使用精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 27 页,共 34 页个人资料整理仅限学习使用第六章总结本文介绍了一种基于单片机的抢答器的设计方法,论文从方案比较与论证开始,并从实际出发选出了一种最佳的设计方案,并清晰地掌握了这个设
56、计方案详细的电路设计和程序设计的原理和过程,最终完成了硬件的制作与调试,实现了设计要求。本文提出的设计方法电路简单易懂、操作方便、成本低廉,易于开发使用,当然,本设计还有一些不足之处,功能上还需要改进与提高,比如未加入报警装置、未能实现答题时间可调等功能。通过这次毕业设计,对我自身来说得到了很大的锻炼,我在设计过程中熟练掌握51 单片机的原理,了解抢答器组成原理,掌握了抢答器的调整与测试方法,提高了动手能力与排除故障的能力。同时通过本次设计与装配、调试,巩固所学的理论知识,建立单片机理论和实际的结合,掌握更多抢答器各单元电路之间的关系与相互影响,从而能够正确设计、计算定时计数的各个单元电路。巩
57、固了所学知识的同时也提高了自己的能力,对于日后的学习和工作都有很大的帮助。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 28 页,共 34 页个人资料整理仅限学习使用致谢在我的论文基于单片机的抢答电路设计完成的时候,就意味着四年的学习生活在这个季节即将划上一个句号。在此首先感谢我的指导老师程钦老师在我大学的最后学习阶段- 毕业设计阶段给自己的指导,从最初的定题,到资料收集,到写作、修改,到论文定稿,您给了我耐心的指导和无私的帮助,使我对整个毕业设计的思路有了总体的把握,并耐心的帮我解决了许多实际问题,使我有了很大的收获。在这段时间里,我从您身上不
58、仅学到了许多的专业知识,更感受到您工作中的兢兢业业,生活中的平易近人。此外,您严谨的治学态度和忘我的工作精神值得我去学习。在此我向您表示我诚挚的谢意。另外,感谢在毕业设计过程中帮助我的同学,感谢多年来传授我知识的老师们,更要感谢那些对我学习上支持和鼓励的人。同时感谢所有关心帮助过我的同学、老师和学校。在以后的学习生活中我将不忘老师的严谨的治学态度和工作精神,以老师为榜样,认真踏实地工作,不辜负老师的期望。再见了,我学习生活四年的江苏技术师范,愿母校代有才人出。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 29 页,共 34 页个人资料整理仅限学习
59、使用参考文献1张友德,赵志英,涂时亮. 单片微型机原理、应用与实验M. 复旦大学出版社 ,2004. 2臧殿红 .基于 89S51的八路抢答器的设计 .机械与电子, 2018年 25期.3龚江涛 .基于 CPLD 的 4路抢答器的设计 .苏州市职业大学学报 .2018年 4 期. 4徐轶林,丁斌杰 .基于 VHDL 语言的数字智能抢答器设计.信息与电脑 .2018年 5月刊. 5汤德荣 .基于八路无线抢答器的设计.赤峰学院学报 自然科学版) .2009年 25 卷 12期. 6杜毅.无限趣味抢答器的设计与实现.企业技术开发 .2018年 30 卷 11期.7 薛顶柱,张洪阳.一种新型无线智能抢
60、答器的研究与设计.长春师范学院学报 because of the internal pull-ups. Port 1 also receives the low-order address bytes during Flash programming and verification.Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 p
61、ins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL because of the internal pull-ups.Port 2 emits the high-order address byte during fetches from external program memory and during accesses
62、 to external data memory that use 16-bit addresses (MOVX DPTR. In this application, Port 2 uses strong internal pull-ups when emitting 1s. During accesses to external data memory that use 8-bit addresses (MOVX RI, Port 2 emits the contents of the P2 Special Function Register. Port 2 also receives th
63、e high-order address bits and some Port Pin Alternate Functions P1.5 MOSI (used for In-System Programming P1.6 MOSO (used for In-System Programming P1.7 SCK(used for In-System Programming 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 32 页,共 34 页个人资料整理仅限学习使用control signals during Flash programming a
64、nd verification.Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 3 output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 3 pins that are externally being
65、pulled low will source current (IIL because of the pull-ups. Port 3 receives some control signals for Flash programming and verification. Port 3 also serves the functions of various special features of the AT89S51, as shown in the following table.3.Memory Organization MCS-51 devices have a separate
66、address space for Program and Data Memory. Up to 64K bytes each of external Program and Data Memory can be addressed.3.1 Program Memory If the EA pin is connected to GND, all program fetches are directed to external memory. On the AT89S51, if EA is connected to VCC, program fetches to addresses 0000
67、H through FFFH are directed to internal memory and fetches to addresses 1000H through FFFFH are directed to external memory.3.2 Data Memory The AT89S51 implements 128 bytes of on-chip RAM. The 128 bytes are accessible via direct and indirect addressing modes. Stack operations are examples of indirec
68、t addressing, so the 128 bytes of data RAM are available as stack space.4.Interrupts The AT89S51 has a total of five interrupt vectors: two external interrupts (INT0 and INT1, two timer interrupts (Timers 0 and 1, and the serial port interrupt. These interrupts are all shown in Figure 6-1. Each of t
69、hese interrupt sources can be individually enabled or disabled by setting or clearing a bit in Special Function Register IE. IE also contains a global disable bit, EA, which disables all interrupts at once.Port Pin Alternate Functions P3.0 RXD(serial input port P3.1 TXD(serial output port P3.2 INT0(
70、external interrupt 0 P3.3 INT1(external interrupt 1 P3.4 T0(timer 0 external input P3.5 T1(timer 1 external input P3.6 WR(external data memory write strobe P3.7 RD(external data memory read strobe 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 33 页,共 34 页个人资料整理仅限学习使用精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 34 页,共 34 页