毕业设计(论文)-基于单片机的智能竞赛抢答器设计.doc_第1页
毕业设计(论文)-基于单片机的智能竞赛抢答器设计.doc_第2页
毕业设计(论文)-基于单片机的智能竞赛抢答器设计.doc_第3页
毕业设计(论文)-基于单片机的智能竞赛抢答器设计.doc_第4页
毕业设计(论文)-基于单片机的智能竞赛抢答器设计.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的智能竞赛抢答器设计2010年6月摘 要抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。但抢答器的使用频率较低,且有的制作复杂,有的可靠性低。作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。本设计是以八路抢答为基本理念,考虑到依需设定限时回答的功能,利用AT89C52单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时驱动数码管正确显示时间。系统能够实现:主持人按下开始按钮后抢答方有效;抢答限定时间和回答问题时间可在1-99s内任意设定;显示抢答选手号;抢答时间和回答问题时间倒记时显示,满时后主控强制复位。关键词:AT89C52; LED数码管;抢答器;计时AbstractAs a tool, the Quiz Buzzer Device has been widely used in all kinds of intelligence and knowledge contests occasions. However, it is not used so frequently due to its production complexity, lacking of reliability and reducing interest. Although a unit can afford it, it is rarely used yearly. Meanwhile, because of the long-term storage, its electronic devices are easy to be damaged. Some activities are likely to be affected because it is quiet trouble to repurchase these spare parts and time-wasting. This Quiz Buzzer Device is designed to solve these problems.And this design is based on the principle of eight-way first answer. Considering the requirement and the limited time to answer, while using AT89C52 single-chip and external interface of the Answer System, the use of single-chip timer / counter timing and number of the principles in mind, the software and hardware combination, makes the system time correctly, while the digital control to display time correctly. Switch the keyboard to do with output, speaker prompted occurred. The system can be realized: In the competitive answering game, only after the answer that will be valid, if at the beginning of pre-answer that will be invalid; Competitive answer to the question and the end of the question can be set in 1-99s; it can show whos effective and whose answers invalid, the correct button will prompt after the music; count down to the competitive and finished time, when its full time the master will be forced reset.Key words: AT89C52; LED digital tubes; the Quiz Buzzer Device; Time目 录1 绪论12系统概述22.1课题背景22.2抢答器的发展概况及市场竞争分析22.3课题及任务要求33 硬件介绍43.1 单片机概述43.1.1 AT89C52系列单片机53.1.2 AT89C52芯片的引脚及特点53.1.3 AT89C52的主要性能参数93.1.4 AT89C52的新功能93.1.5 单片机的发展103.1.6 单片机的应用103.1.7 AT89C52系列单片机113.1.8 存储器配置123.2显示电路设计124 系统设计154.1 设计思路164.2 硬件设计174.2.1 时钟频率电路的设计174.2.2 复位电路的设计184.2.3 显示电路的设计194.2.4 键盘电路的设计194.2.5 报警电路设计214.3 软件设计215调试运行245.1 系统的调试245.2 软件调试问题及解决245.3 焊接的问题及解决266 结论27参 考 文 献29致 谢30附录 元件清单31附录 硬件电路图32附录 程序清单33371 绪论二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。电脑通常是指个人计算机;还有一类计算机是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为体积小,通常都藏在被控机械的“肚子”里。在整个装置中,起着有如人类头脑的作用,如果出了毛病,整个装置就瘫痪了。现在,单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。在知识竞赛抢答过程中,为了更确切的知道哪一组或哪一位选手先抢答到问题,必须要有一个系统来完成这个任务。若在抢答中,只靠人的视觉(或者是听觉)是很难判断出哪一组(或哪一个选手)先抢答到问题的。利用单片机编程来设计抢答器,可以使以上问题得到解决,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组(或哪个选手)先抢答到问题的。本文主要介绍了抢答器的工作原理及设计,以及实际用途。2系统概述本系统采用单片机作为整个控制核心。控制系统的四个模块为:显示模块、存储模块、声音报警模块、按键模块。该系统通过八个按键输入抢答信号,同时使用四个按键实现主持人的控制功能;利用一组数码管来完成显示功能;通过判断按键是否按下确认哪一组先回答问题,并在数码管上显示,从而实现整个抢答过程。2.1课题背景随着社会经济和文化的发展,在很多公开竞争场合要求有公平的竞争裁决,因此出现了抢答器。原始抢答器一般是由逻辑电路组成的,线路复杂,可靠性不高,功能也比较简单,特别是当抢答器路数很多时,实现起来就更加困难。单片机的出现为解决此问题提供了良好的途径,选择单片机作为抢答器核心控制模块,不但保留了原始抢答器的基本功能,而且简化了设计,提高了可靠性,同时使比赛更加公平、公正。2.2抢答器的发展概况及市场竞争分析抢答器广泛应用于企事业单位和商业部门,是一种为各种知识竞赛、文娱活动提供公正客观快速裁决的常用电子设备,也是一种成型的电子产品,无论是在学校、工厂、军队还是电视节目中,都会举办各种各样的智力竞赛,都会用到抢答器。十几年前,市场上就已经有了各种各样的智力竞赛抢答器,但多数是模拟电路、数字电路或者模拟电路与数字电路相结合的产品。这部分抢答器已相当成熟,但功能越多的电路相对来说就越复杂,且成本偏高,故障高,显示方式简单(有的甚至没有显示电路),无法判断提前抢按按钮的行为,不便于电路升级换代。目前使用的抢答器基本上采用小规模数字集成电路设计。其功能比较单一,使用起来也不够理想,但在各种知识智力竞赛中,电子抢答器又是必不可少的设备之一。自20世纪90年代以来,随着集成技术和计算机技术的发展,单片机作为其中一个分支亦于20世纪80年代以来获得了飞速发展,各种新品不断涌现,使单片机的应用更加深入,灵活性也大大增强,单片机已进入到了一个高速发展的阶段。世界著名的半导体厂商都重视新型单片机的研制、生产和推广。单片机的应用已经深入到国民经济的各个领域。 由单片机支持的微电脑产品比比皆是,对单片机应用的技术员来说,选择单片机的自由度太大了。单片机正朝着面向多用户、多品种、多规格的方向发展,哪一个应用领域前景广阔,就有这个领域的特殊单片机出现。以微处理器作为抢答器的核心控制器件已经成为抢答器的主流配置。2.3课题及任务要求本次毕业设计要求完成基于单片机的智能竞赛抢答器的电路设计。其主控制器采用AT89C52单片机来设计八路抢答器,其功能强大制作简单,并且外围的元件也很少,实现各种功能比较方便。利用单片机按键控制LED数码管等元件来显示抢答对象、计时与报警功能并且对其进行一定范围内的大小调控。1为8位参赛选手各提供一个抢答按钮,分别编号1、2、3、4、5、6、7、8。2主持人可以控制系统的清零与抢答开始。3数码管显示,以数字形式只有在设定时间内抢答方为有效抢答。若抢答有效,则定时器停止工作,并且显示抢答开始时间直到系统被清零。4抢答器要有自动定时功能,并且一次抢答时间由主持人任意设定。当主持人启动“开始”键后,定时器自动减计时。5参赛选手答题剩余5秒时开始报警,减计数为零时,显示,同时禁止选手超时抢答。6若设定时间内无选手进行抢答(按对应按钮),则报警。3 硬件介绍3.1 单片机概述单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统。单片机是将中央处理器,随机存储器,只读存储器,定时器芯片和I/O接口电路集成于一个芯片上的微控制器。单片机是依据程序指令运行,并且可以通过辅助工具对程序进行修改。通过不同的程序实现不同的功能。早期的单片机都是4位或8位的。其中最成功的是INTEL的8031,因为简单可靠且性能不错获得了广大的好评。此后在8031上发展出了MCS-51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。在单片机的发展和应用历史中,MCS-51单片机已经得到科技界和工业界广大用户最广泛的认可。目前,许多生产出的单片机产品采用了多种创新技术,产品的性能和可靠性都有了极大地改进和提高,但这些单片机产品大都采用了8051的核心技术作为其内核,例如美国ATMEL公司研发的AT89系列、ADI公司的ADuC系列、Philips公司研发的80C51系列、Motorola公司推出的M68HC05系列等。本次设计采用的是ATMEL公司推出的AT89系列的单片机。3.1.1 AT89C52系列单片机AT89C52美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及AT89C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元。单片机AT89C52强大的功能可为许多嵌入式控制应用系统提供高性价比的解决方案。 3.1.2 AT89C52芯片的引脚及特点AT89C52芯片的引脚结构如图3.1所示: 图3.1 AT89C52引脚(1)功能特性概括:AT89C52提供以下标准功能:40个引脚、4K Bytes Flash片内程序存储器、128 Bytes的随机存取数据存储器(RAM)、32个外部双向输入/输出(I/O)口、5个中断优先级2层中断嵌套中断、2个数据指针、2个16位可编程定时/计数器、2个全双工串行通信口、看门狗(WDT)电路、片内振荡器及时钟电路。此外,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲模式下,CPU暂停工作,而RAM、定时/计数器、串行通信口、外中断系统可继续工作。掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。(2)管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,也即地址/数据总线复用口。作为输出口用时,能驱动8个TTL逻辑门电路。对端口写“1”时,被定义为高阻输入。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(I)。在Flash编程和程序校验期间,P1接收低8位地址。部分端口还有第二功能,如表3.1所示:表3.1 P1口部分引脚第二功能端口引脚第二功能P1.5MOSI(用于ISP编程)P1.6MISO(用于ISP编程)P1.7SCK (用于ISP编程)P2口:P2口是一个带有内部上拉电阻的8位双向I/O口, P2口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对应端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(I)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据寄存器(例如执行MOVXRi指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。在Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3口:P3口是一个带有内部上拉电阻的双向8位I/O口,P3口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写“1”时,它们被内部的上拉电阻拉高并可作为输入端口。作输入口使用时,被外部信号拉低的P3口将用上拉电阻输出电流(I)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表3.2所示;P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。表3.2 P3口引脚第二功能端口引脚第二功能P3.0RXD (串行输入口)P3.1TXD (串行输出口)P3.2 (外中断0)P3.3 (外中断1)P3.4T0 (定时/计数器0)P3.5T1 (定时/计数器1)P3.6 (外部数据存储器写选通)P3.7 (外部数据存储器读选通)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上的高电平时间将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFR AUXR的DISRTO位(地址8EH)可打开或关闭该功能。 DISRTO位缺省为RESET输出高电平打开状态。 ALE/:当访问外部存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部寄存器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。值得注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲()。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只要一条MOVX和MOVC指令才会激活ALE。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。:程序存储允许()输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。当访问外部数据存储器时,没有两次有效的信号。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端保持高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程期间,该引脚用于施加+12V编程电压(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入端。XTAL2:反向振荡放大器器的输出端。(3)晶体振荡器特性: AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为该反向放大器的输入端和输出端。这个反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。 外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性。如果使用石英晶体,电容应该使用30pF10pF。 还可以使用外部时钟。这种情况下,外部时钟脉冲接XTAL1端,即内部时钟发生器的输入端,XTAL2应悬空。 由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大低电平持续时间应符合产品技术条件的要求。3.1.3 AT89C52的主要性能参数(1)与MCS-51产品指令系统完全兼容。(2)4K字节在系统可编程(ISP)Flash闪速存储器。(3)1000次擦写周期。(4)4.05.5V的工作电压范围。(5)全静态工作模式:0Hz-33Hz。(6)三级程序加密。(7)128x8字节的内部RAM。(8)32个双向可编程I/O口线。(9)2个16位可编程定时/计数器。(10)6个中断源。(11)全双工UART串行通道。(12)低功耗空闲和掉电模式。(13)中断可从空闲模式唤醒系统。(14)看门狗(WDT)及双数据指针。(15)掉电标识和快速编程特性。(16)灵活的在系统编程。3.1.4 AT89C52的新功能AT89C52兼容标准MCS-51指令系统及AT89C51引脚结构,它相对于AT89C51增加的新功能包括:u ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。u 最高工作频率为33MHz,AT89C52的极限工作频率是24M,所以AT89C52具有更高工作频率,从而具有了更快的计算速度。u 具有双工UART串行通道。u 内部集成看门狗计时器,不再需要像AT89C52那样外接看门狗计时器单元电路。u 双数据指示器。u 电源关闭标识。u 全新的加密算法,这使得对于AT89C52的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。u 兼容性方面:向下完全兼容51全部字系列产品。比如8051、AT89C51等早期MCS-51产品。3.1.5 单片机的发展早期的单片机都是4位或8位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。3.1.6 单片机的应用目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3.在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5.单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。3.1.7 AT89C52系列单片机 ATMEL公司的AT89C52单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。AT89C52单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力。AT89C52单片机工作电压为2.76.0V,可以实现耗电最优化。AT89C52的单片机广泛应用于计算机外部设备,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等各个领域。由于单片机的种类很多,在选择单片机时要依据实际设计要求选择合适的单片机。例如当设计仅仅需要一个单片机定时器那么选择89C1051或89C2051即可,而不选择AT89C52,因为后者的价格较高一些。当然若程序和数据区的要求较高那么选择的单片机还要满足程序空间的要求。3.1.8 存储器配置片内外统一编址的8KB程序存储器,及256B的片内数据存储器,包括低128B的内部RAM地址00H7FH和高128B的特殊功能寄存器地址空间,64KB的外部数据存储器或扩展I/O接口地址空间0000HFFFFH。RAM共有256个单元,按功能分为两部分低128单元(单元地址00H7FH)和高128单元(单元地址80HFFH)。其中高128单元是供给专用寄存器使用,因这些寄存器的功能已作为专门规定故此称之为特殊功能寄存器SFR11个SFR有位寻址作用,而且要说明低128单元是单片机的真正RAM存储器。128单元是单片机的真正RAM存储器,按其用途划分为三个区域:n 通用寄存器区 通用寄存器为CPU提供了就近数据存储的便利,有利于提高单片机的运算速度。此外,使用通用存储器还能提高程序编制的灵活性,因此在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。n 位寻址区内部RAM的20H2FH单元,即可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。n 工作寄存区用以存储用户数据。3.2显示电路设计1.LED结构与原理常用的LED显示器共有7段、8段和“米”字段三种显示形式,8段比7段多了一个小数点dp段,如图3.2(a)所示。这种显示器有共阳极和共阴极两种结构,如图3.2 (b)和3.2(c)所示。共阴极LED显示器所有发光二极管的阴极连在一起,通常此共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段显示。同样,共阳极LED显示器的发光二极管所有阳极连接在一起,通常此共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段显示。由此可以看出,二者原理不同但功能相同。图3.2 LED显示原理图其中图3.2(b)为共阴极结构。即把8个发光二极管阴极连在一起。这时如果需要点亮a g中的任何一盏灯,则只需要在相应端输入高电平即可;输入低电平则截止。比如我们现在要显示数字“3”,则只要在对应的a、b、c、d、g段送入高电平,在其他端送入低电平即可,点亮为“3”。图3.2(c)为共阳极结构。其显示端输入低电平有效,高电平截止。本设计采用共阴极数码显示管做显示电路,由于采用的是共阴的数码显示管,所以只要数码管的a、b、c、d、e、f、g、h引脚为高电平,那么其对应的二极管就会发光,使数码显示管显示09的编码见表3.3。表3.3 共阴极数码显示管字型代码共阴极代码字型共阴极代码03FH56DH106H67DH25BH707H34FH87FH466H96FH2.LED显示器显示方式 点亮LED显示器有两种方式:一是静态显示;二是动态显示。所谓静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。如图3.3所示为4位静态LED显示器电路。 图3.3 位静态LED显示器电路 所谓动态显示就是一位一位地轮流点亮各位显示器(扫描),对于显示器每一位而言,每隔一段时间点亮一次。在同一时刻只有一位先后四起在工作(点亮),利用人眼的视觉暂留效应和发光二极管熄灭时的余辉效应,看到的却是多个字符 “同时”显示。显示器亮度既与点亮时的导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。动态显示器的优点是节省硬件资源,成本较低。但在控制系统运行过程中,要保证先后四起正常显示,CPU必需每隔一段时间执行一次显示子程序,占用CPU的大量时间,降低了CPU的工作效率,同时显示亮度较静态显示器低。4 系统设计本系统是用单片机采用模块化设计的八路抢答器,包括8路抢答按钮、计时显示、提示功能等、开始与结束控制按钮、时限设定、各种相关显示调控功能等。本系统除抢答功能外,还有人性化的提示功能和时间提示功能,并设定了主持人控制按钮;主控系统的控制按钮做开始与结束的控制,根据活动参赛者的抢答次序,把提前抢答者的抢答行为设定为非法抢答,对抢答时限及回答问题时限设为倒计时的功能,并有LED数码管的数字显示作为提示。系统的主要功能模块方框图如图4.1所示。 AT89C52单片机4位数码管显示声音电路复位电路开始、结束按键输入加一、减一按键输入8路抢答按键输入图4.1 系统功能模块图在抢答比赛中广泛应用,各组分别有一个抢答按钮。一共有8个按键输入,分别对应8路选手的抢答按键。主持人有开始和结束键。在后台主持人可以修改抢答时间和选手回答问题的时间设置,初始状态下抢答时间为20s,回答问题时间为30s。通过加键和减键修改上述时间,改完后结束键确定。新时间开始有效,主持人按键开始后,选手开始抢答为有效,数码显示屏显示抢答时间倒计时和选手号,在最后五秒扬声器发生提示。如果主持人没有按下开始键而选手就抢答视为犯规,数码显示屏显示犯规者的代号,扬声器持续发生。主持人可按键结束,新一轮抢答开始。系统需求分析l 在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效。l 抢答限定时间和回答问题的时间可以在199s设定。l 可以显示是哪位选手有效抢答和无效抢答,正确按键后有报警提示。l 抢答时间和回答问题时间倒记时显示,时间完后系统自动复位。抢答器的基本工作原理:在抢答竞赛或呼叫时,有多个信号同时或不同时送入主电路中,抢答器内部的寄存器工作,并识别、记录第一个号码,同时内部的定时器开始工作,记录有关时间并产生超时信号。在整个抢答器工作过程中,显示电路、声音电路等还要根据现场的实际情况向外电路输出相应信号。抢答器的工作流程分为:系统复位、正常流程、违例流程等几部分。4.1 设计思路本设计分为硬件设计和软件设计;从时间上看,硬件设计的绝大部分工作量是在最初阶段,到后期往往还要做一些修改。只要技术准备充分,硬件设计的大返工是比较少的;软件设计的任务贯彻始终,到中后期基本上都是软件设计任务,随着集成电路技术的飞速发展,各种功能很强的芯片不断出现,使硬件电路的集成度越来越高,硬件设计的工作量在整个项目中的所占的比重逐渐下降。本设计根据以下思路设计: (1) 尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普通芯片,随着生产工艺的提高,新型芯片的的价格不断下降,并不一定比若干普通芯片价格的总和高。(2) 留有设计余地。在设计硬件电路时,要考虑到将来修改扩展的方便。因为很少有一锤定音的电路设计,如果现在不留余地,将来可能要为一点小小的修改或扩展而被迫进行全面返工。(3) 程序空间,选用片内程序空间足够大的单片机,本设计采用AT89C52单片机。(4) RAM空间,AT89C52内部RAM不多,当要增强软件数据处理功能时,往往觉得不足。如果系统配置了外部RAM,则建议多留一些空间。如选用8155作I/O接口,就可以增强256字节RAM。如果有大批数据需要处理,则应配置足够的RAM,如6264,62256等。随着软件设计水平的提高,往往只要改变或增加软件中的数据处理算法,就可以使系统功能提高很多,而系统的硬件不必做任何更换就使系统升级换代。只要在硬件电路设计初期考虑到这一点,就应该为系统将来升级留足够的RAM空间,哪怕多设计一个RAM的插座,暂不插芯片也好。(5) I/O端口:在样机研制出来后进行现场试用时,往往会发现一些被忽视的问题,而这些问题不是靠单纯的软件措施来解决的。如有些新的信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。如果在硬件电路设计就预留出一些I/O端口,虽然当时空着没用,那么用的时候就派上用场了。4.2 硬件设计电路主要应用单片机AT89C52。8路抢答按键分别接到单片机的P1.0P1.7中。开始按键与结束按键分别接到单片机的P3.7-6脚。抢答时间调整按键和回答时间调整按键分别接到单片机的P3.5-4管脚, 4位数码管段选P0口。4位数码管的位选接P2口低3位,蜂鸣器输出为P3.0口。系统原理图如4.2所示。图4.2 系统原理图4.2.1 时钟频率电路的设计单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。时钟电路如图4.3所示。图4.3 外部振荡源电路一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容 C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1,C2的典型值为33PF。4.2.2 复位电路的设计单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图4.4所示。图4.4 复位电路按键以及电解电容C3、电阻R2构成按键及上电复位电路。由于单片机是高电平复位,所以当按键RESET1按下时候,单片机的9脚RESET管脚处于高电平,此时单片机处于复位状态。当上电后,由于电容的缓慢充电,单片机的9脚电压逐步由高向低转化,经过一段时间后,单片机的9脚处于稳定的低电平状态,此时单片机上电复位完毕,系统程序从0000H开始执行。值得注意的是,在设计当中使用到了硬件复位和软件复位两种功能,由上面的硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,而前面的功能介绍中提到了倒计时的时间的记忆功能,该功能的实现的前提条件就是不能对单片机进行硬件复位,所以设定了软复位功能。软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地址。4.2.3 显示电路的设计显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。在这里我们使用的是七段数码管显示,通常在显示上我们采用的方法一般包括两种:一种是静态显示,一种是动态显示。其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多;动态显示的特点是显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。在本设计中根据实际情况采用的是动态显示方法。通过查表法,将其在数码管上显示出来,其中P0口为字型码输入端,P2口低3位为字选段输入端。在这里我们通过查表将字型码送给7段数码管显示的数字,数码管显示原理图4.5所示。图4.5共阴极数码管数码管采用的是4位七段共阴数码管,其中AH段分别接到单片机的P0口,由单片机输出的P0口数据来决定段码值,位选码COM1-COM4分别接到单片机的P2.0-P2.3,由单片机来决定当前该显示的是哪一位。在图中还有八个1K的电阻,连接在P0口上,用作P0口的上拉电阻,保证P0口没有数据输出时候处于高电平状态。4.2.4 键盘电路的设计键盘是人与单片机打交道的主要设备。关于键盘硬件电路的设计方法也可以在文献和书籍中找到,配合各种不同的硬件电路,这些书籍中一般也提供了相应的键盘扫描程序。站在系统监控软件设计的立场上来看,仅仅完成键盘扫描,读取当前时刻的键盘状态是不够的,还有不少问题需要妥善解决,否则,人们在操作键盘就容易引起误操作和操作失控现象。在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘。它们各有自己的特点,其中独立键盘硬件电路简单,而且在程序设计上也不复杂,一般用在对硬件电路要求不高的简单电路中;矩阵键盘与独立键盘有很大区别,首先在硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要烦琐,但它在节省端口资源上有优势得多,因此它更适合于多按键电路。其次就是消除在按键过程中产生的“毛刺” 现象。这里采用最常用的方法,即延时重复扫描法,延时法的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间(这里我们取10ms)后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。在本文设计中采用了独立键盘的方式,本设计中有8个抢答按键输入,一个开始按键、一个结束按键,此外还有抢答时间调整键、回答时间调整键,加一按键、减一按键各一个如图4.6所示。图4.6 抢答按键及调整按键按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如不妥善处理,将会引起按键命令的错误执行或重复执行。现在一般均用软件延时的方法来避开抖动阶段,这一延时过程一般大于5ms,例如取10-20ms。如果监控程序中的读键操作安排在主程序(后台程序)或键盘中断(外部中断)子程序中,则该延时子程序便可直接插入读键过程中。如果读键过程安排在定时中断子程序中,就可省去专门的延时子程序,利用两次定时中断的时间间隔来完成抖动处理。4.2.5 报警电路设计我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高” “低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。本文设计如图4.7所示。单片机通过内部定时器的操作实现交替变换的波形输出驱动扬声器发声。图4.7 报警电路设计4.3 软件设计软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。软件任务分析环节是为软件设计做一个总体规划。从软件的功能来看可分为两大类:一类是执行软件,它能完成各种实质性的功能,如测量,计算,显示,打印,输出控制和通信等,另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度角色的软件。这两类软件的设计方法各有特色,执行软件的设计偏重算法效率,与硬件关系密切,千变万化。软件任务分析时,应将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义(输入输出定义)。在各执行模块进行定义时,将要牵扯到的数据结构和数据类型问题也一并规划好。各执行模块规划好后,就可以监控程序了。首先根据系统功能和键盘设置选择一种最适合的监控程序结构。相对来讲,执行模块任务明确单纯,比较容易编程,而监控程序较易出问题。软件任务分析的另一个内容是如何安排监控软件和各执行模块。整个系统软件可分为后台程序(背景程序)和前台程序。后台程序指主程序及其调用的子程序,这类程序对实时性要求不是太高,延误几十ms甚至几百ms也没关系,故通常将监控程序(键盘解释程序),显示程序和打印程序等与操作者打交道的程序放在后台程序中执行;而前台程序安排一些实时性要求较高的内容,如定时系统和外部中断(如掉电中断)。也可以将全部程序均安排在前台,后台程序为“使系统进入睡眠状态”,以利于系统节电和抗干扰。 基于以上思想,设计本课题的软件模块结构见图4.8所示。系统初始化模块按键模块非法抢答模块正确抢答模块调整抢答时间调整回答时间数码显示模块图4.8软件模块结构图1.非法抢答模块:在抢答过程中对选手的提前抢答和超时抢答的非法抢答作出提示与分辨,计时器不工作。2.正确抢答模块:在抢答过程中,若抢答有效,则定时器停止工作,并且显示抢答开始时间直到系统被清零。,3.调整抢答时间:抢答器有自动定时功能,并且一次抢答时间由主持人任意设定。当主持人启动“开始”键后,定时器自动减计时,并在显示器上显示。4.调整回答时间:主持人可以在199秒任意设定答题时间,答题选手在答题剩余5秒时,抢答器开始报警。程序见附录。5调试运行5.1 系统的调试系统调试包括硬件调试和软件调试,而且两者是密不可分的。我们设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正确性;软硬件的配人情况以及是否达到设计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。硬件调试分单元电路调试和联机调试,单元电路试验在硬件电路设计时已经进行,这里的调试只是将其制成印刷电路板后试验电路是否正确,并排除一些加工工艺性错误(如错线、开路、短路等)。这种调试可单独模拟进行,也可通过开发装置由软件配合进行。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论