




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、绪 论1.1 课题的提出随着经济的发展,现在智力竞赛越来越被多数人喜爱和娱乐,像中央卫视的三星智力快车、金苹果、幸运52等多档智力竞赛节目都拥有大批的忠实观众。而且国内外各地电视台、工厂、学校等单位也会常常举办类似的智力竞赛活动,然而智力竞赛抢答器是必要的设备。但是,在有些地方举行的各种智力竞赛游戏中我们经常看到有抢答的环节,举办方大多数采用让选手通过举答题板的方法或者是举手的方式判断选手的答题权,这在某种程度上会因为主持人的主观误断造成比赛的不公平性。因此为了解决各方面的问题我采用了一种MCS-51复位标志位的应用以及各种芯片制作了一个电路简单,成本较低,操作方便,灵敏可靠,并且具有工作稳定,响应速度快,实时性强但又满足各方面需要的用单片机控制的八路数字抢答器。1.2 设计任务及要求1. 抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S1 S8表示。2. 设置一个系统清除和抢答控制开关S14,该开关由主持人控制。3. 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时蜂鸣器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清零为止。4. 抢答器具有定时抢答功能,且每一次抢答的时间由主持人设定(如30秒)。当主持人启动开始键后,定时器进行减计时,同时蜂鸣器发出短暂的声响,声响持续的时间0.5秒左右。5. 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清零为止。6. 如果定时时间已到,无人抢答,则本次抢答无效,系统报警并禁止抢答,定时显示器上显示FF。2、单片机概述2.1 单片机的定义单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。由于单片机特别适用于控制领域,故又被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大量发展,单片机技术得到了巨大的提高。随着INTEL I960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代了16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不只是在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作。单片机的数量不仅远超过PC机和其他计算机的综合,甚至比人类的数量还要多。2.2 单片机的发展历史 单片机诞生于20世纪70年代末,经历了SCM、MCU、SOC三大阶段。1SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。2MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。 3单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SOC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。 将8位单片机的推出作为起点,单片机的发展历史大致可分为以下几个阶段1. 第一阶段(1976-1978):单片机的控索阶段。以Intel公司的MCS 48为代表。MCS 48的推出是在工控领域的控索,参与这一控索的公司还有Motorola 、Zilog等,都取得了满意的效果。这就是SCM的诞生年代,“单机片”一词即由此而来。2. 第二阶段(1978-1982)单片机的完善阶段。Intel公司在MCS 48 基础上推出了完善的、典型的单片机系列MCS 51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。CPU外围功能单元的集中管理模式。体现工控特性的位地址空间及位操作方式。指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。3. 第三阶段(1982-1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS 96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着MCS 51系列的广泛应用,许多电气厂商竞相使用80C51为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路的功能,强化了智能控制的特征。4. 第四阶段(1990):微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。2.3 单片机的应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。2在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。6在各种大型电器中的模块化应用某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。7单片机在汽车设备领域中的应用单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,ABS防抱死系统,制动系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。2.4 AT89C51芯片简介2.4.1 AT89C51单片机内部结构AT89C51单片机是美国Atmel公司生产低功耗/低电压,高性能CMOS 8位单片机,片内含4K bytes的可反复擦写的只读程序存储器(EPROM)和128 bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存取技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash 存储单元,功能强大。AT89C51单片机是一种功能强、灵活性高、且价格合理,可方便地应用在各种控制领域。AT89C51单片机的主要组成部分,其中包括CPU、存储器、可编程I/O口、定时器/计数器、串行口等,这几个部分通过总线相连,下面介绍几个重要的部分。1. 中央处理器(CPU)中央处理器是单片机最核心的部分,是单片机的大脑和心脏,主要完成运算和控制功能。AT89C51的CPU是一个字长为8位的中央处理单元,即它对数据的处理是按字节为单位进行的。2. 内部数据存储器(内部RAM) AT89C51 中共有256个RAM单元,但其中能作为寄存器供用户使用的仅有前面128个,后128个被专用寄存器占用。3. 内部程序存储器(内部ROM) AT89C51 共有4 KB掩膜ROM,用于存放程序、原始数据等。4. 定时器/计数器 AT89C51 共有2 个16 位的定时器/计数器,可以实现定时和计数功能。5. 并行I/O 口 AT89C51 共有4 个8 位的I/O口(P0、P1、P2、P3口),可以实现数据的并行输入、输出。6. 串行口 AT89C51有1 个全双工的可编程串行口,以实现单片机和其他设备之间的串行数据传送。7. 时钟电路 AT89C51 单片机内部有时钟电路,但晶振和微调电容需要外接。时钟电路为单片机产生时钟脉冲序列。8. 终端系统AT89C51 的中断系统功能较强,可以满足一般控制应用的需要。它共有5 个中断源:2 个外部中断源/INTO和/INT1 ;3 个内部中断源,即2个定时/计数中断,1个串行口中断。AT89C51 较详细的内部结构如图2-1所示;图2-1 AT89C51单片机的内部结构精细图2.4.2 AT89C51芯片的引脚说明AT89C51单片机均采用40Pin封装的双列直接DIP结构,如图2.2是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明如图2-2:图2-2 AT89C51的引脚图VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0口能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口同时为闪烁编程和编程校验接收一些控制信号。也可作为AT89C51的一些特殊功能口,如表2-1所示:表2-1 P3口管脚功能表P3口管脚备选功能P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 /INT0外部中断0P3.3 /INT1外部中断1P3.4 T0记时器0外部输入P3.5 T1记时器1外部输入P3.6 /WR外部数据存储器写选通P3.7 /RD外部数据存储器读选通PIN9:RESET/Vpd复位信号复用脚,当AT89C51通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,AT89C51的初始态。AT89C51的复位方式可以是自动复位,也可以是手动复位,见下图2-3所示。此外,RESET/Vpd还是一复用脚,Vcc掉电期间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。图2-3 AT89C51单片机的两种复位方式PIN30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器时,ALE会跳过一个脉冲。如果单片机是EPROM,在编程期间,将用于输入编程脉冲。PIN29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。PIN31:EA/Vpp程序存储器的内外部选通线,当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.4.3 AT89C51芯片的主要特性1. 与MCS-51 兼容2. 4K字节可编程闪烁存储器3. 寿命:1000写/擦循环4. 数据保留时间:10年5. 全静态工作:0Hz-24Hz6. 三级程序存储器锁定7. 128*8位内部RAM8. 32可编程I/O线9. 两个16位定时器/计数器10. 5个中断源11. 可编程串行通道12. 低功耗的闲置和掉电模式13. 片内振荡器和时钟电路2.4.4 振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.4.5 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3、数字抢答器总体设计3.1 硬件设计3.1.1 开关设计开关是单片机的主要输入电路,主要分为两大类,分别是按钮开关和单刀开关,电子电路和微型计算机主要使用的按钮开关多为TACK SITCH若A为接点,则按下按钮,其接点接通,放开时,接点回复为不通;所使用的单刀开关,大多采用指拨开关。在复位电路中,本例使用TACK开关。输入电路采用开关一边接VCC(电源),另一边接一电阻然后接地,或者一边接电阻和电源,另一边接地等都可以,通常按钮开关产生边缘触发,单刀开关产生电平触发。前面介绍的电路,开关是理想操作,但实际上,开关关闭和分开前存在非周期的状态,称其为抖动,它忽高忽低,可以说是不折不扣的噪声,如果要避免这种现象,可以利用硬件的方法,也可以采用软件的方法。在本例子中,完全采用软件的方法,采用一个延迟16ms的子程序来防抖动的影响。因为一般的抖动大约为10到20毫秒,所以只要在读入第一个转态的输入信号,即执行10到20毫秒的延迟子程序即可避免抖动的影响。3.1.2 数码显示管的选择数码显示管用来作为时间的显示输出,一般用7段数码显示管。在本次设计中采用7段共阴极数码显示管,应用简单、可靠性高、成本低,作为显示输出。连接时段选信号接在P0口的P0.0P0.6七个I/0口上,P1口是准双向I/0接口在输出驱动部分具有驱动4个TTL负载的能力,即输出电流不大于400uA,所以在接电阻时选择接510R限流电阻,而在位选方面采用单片机P2口的P2.0P2.2三个I/0口作为位选信号的输出口。3.1.3 发音设计音的产生是一种音频振动的效果,振动的频率高则为高音,频率低则为低音,所以如果要用AT89C51产生声音,可以利用程序产生频率,送入到输出口,本作品送入到P3.0口,再从该点连接到喇叭,即可驱动喇叭。发音电路如下图3-1所示,在最左边还应该接上一电阻(大概1K5K),如果接上电阻后可以接P1,P2,P3,如果接的是P0,还需要连接一个上拉电阻,因为P0口没有上拉电阻。图3-1 发音电路为了让晶体管工作与饱和截至状态,其中的晶体管最好使用高增益的晶体管,如达林顿晶体管。3.2 软件设计3.2.1 延时控制器的软件设计每秒钟的设定延时方法可以有两种一种是利用AT89C51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软件延时的方法。3.2.2 计数器延时设计计数器初值计算定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式:TC=M-C式中,M为计数器摸值,该值和计数器工作方式有关。在方式0时M为213 ;在方式1时M的值为216;在方式2和3时为28计算公式:T=(MTC)T计数或TCM-TT计数T计数是单片机时钟周期TCLK的2倍;TC为定时初值如单片机的主脉冲频率为TCLK 12MHz,经过12分频方式0 TMAX2131微秒8.192毫秒方式1 TMAX2161微秒65.536毫秒显然秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题秒的方法我们采用在主程序中设定一个初值为20H的软件计数器和使T0定时50毫秒。这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。相应程序代码如下:1. 主程序主程序流程图如图3-2所示。图3-2 主程序流程图定时器需定时50毫秒,故T0工作于方式。初值:TCM-T/T计数21650ms/1us=15536=3CBOHORG 0000HSTART: MOV TMOD,#01H ;令0为定时器方式 MOV TH0,#3CH ;装入定时器初值 MOV TL0,#0B0H ; MOV 1E,#82H ; 开T0中断 SEBT TR0 ;启动T0计数器 MOV R0,#14H ;软件计数器赋初值LOOP: SJMP $ ;等待中断2.中断服务子程序中断程序流程图如附录A所示。ORG 000BHAJMP BRT0ORG 00BHBRTO:DJNZ R0,NEXTAJMP TIME;跳转到时间及信号灯显示子程序 DJNZ:MOV R0,#14H ;恢复R0值 MOV TH0,#3CH ; 重装入定时器初值 MOV TL0,#BOH ; MOV 1E,#82H RET1END3.2.3 软件延时MCS-51的工作频率为2-12MHZ,我们选用的AT89C51单片机的工作频率为6MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6M)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。具体的延时程序分析:DELAY:MOV R4,#08H;延时1秒子程序DE2 :LCALL DELAY1 DJNZ R4,DE2 RETDELAY1:MOV R6,#00H;延时125ms 子程序 MOV R5,#00HDE1 :DJNZ R5,$ DJNZ R6,DE1 RET因为 MOV RN,#DATA ,字节数为2 ,机器周期数为1,所以此指令的执行时间为2ms。DELAY1 为一个双重循环, 循环次数为256*256=65536 ,所以延时时间=65536*2=131072us 约为125us 。DELAY R4设置的初值为8 , 主延时程序循环8次,所以125us*8= 1秒由于单片机的运行速度很快其他的指令执行时间可以忽略不计。3.3 抢答器的工作原理抢答器的工作原理是利用单片机的定时器T0、T1中断完成,其余状态循环调用是显示子程序,用4个共阴极LED数码管来显示,用P0口作为数码管的八个段选,用P2口中的P2.0、P2.1、P2.2作为4个数码管其中3个位选,P1口接8个按键,提供选手抢答,P3.0P3.5四个口接4个按键,提供开始、停止、结束、答题时间调整、抢答时间调整、加1、减1调整之用。电路原理图如图3-3所示。图3-3 电路原理图3.4 抢答器实现功能抢答功能:通过八路按键配合程序来实现抢答功能。当主持人按下抢答键开始抢答后,此时任一路按下按钮均闭锁其它各路,由程序对键盘译码并显示最先按下抢答键的路数及其当前时间。抢答限时:主持人按下抢答键后,设置5秒为抢答时间(此时间可在199秒之间修改)。若5秒内无人抢答,倒计时为0时发出报警,说明该抢答题目无效。此时闭锁所有抢答按键,只有当主持人再次按下抢答键开始下一次抢答时可以抢答。答题限时:当选手按下按钮时,启动倒计时(此倒计时时间可在199秒之间修改),倒计时为0时发出报警,说明抢答时间到。3.5 抢答器扩展功能1. 如果想调节抢答时间或答题时间,按“抢答时间调节”键或“答题时间调节”键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如果想加1秒按一下“加1S键”,如果想减1秒按一下“减1S”键,此时LED上会显示改变后的时间,调整范围为0S99S,0S时再减1S会跳到99,99S时再加1S会变到0S。2. 主持人按“抢答开始”键,会有提示音,并立即进入抢答倒计时(预设30S抢答时间),如有选手抢答,会有提示音,并会显示其号数立刻进入答题倒计时(预设60S抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。倒数时间到小于5S会每秒响一下提示音。3. 如果倒计时期间,主持人想停止倒计时可以随时按“停止”按键,系统会自动进入准备状态,等待主持人按“抢答开始”进入下次抢答计时。4. 如果主持人未按“抢答开始”键,而有人按了抢答键,这是犯规抢答,LED上会不断闪烁FF和犯规号数并响个不停,直到按下“停止”键为止。5. P3.0为开始抢答,P3.1为停止,P1.0P1.7为八路抢答输入,数码管段选P0口,位选P2口低3位,蜂鸣器输出为P3.6口。P3.2为抢答时间调整键,P3.3为答题时间调整,P3.4为时间加1调整,P3.5为时间减1调整。4、实验结果4.1 程序编译实验的程序通过伟福6000软件编译,产生HEX文件如图4-1所示。图4-1 程序编译结果4.2 通过Proteus仿真软件进行仿真通过Proteus进行仿真,按下开始按钮后,数码管开始倒计时,如图4-2所示。图4-2 按下开始按钮后的仿真结果当有选手按钮按下时,数码管显示选手号码并开始倒计时,如图4-3所示。图4-3 按下选手按钮时的仿真结果当按下停止按钮时,数码管显示FF,如图4-4所示。图4-4 按下停止按钮时的仿真结果通过仿真结果证实,该方案可行,该设计方案通过AT89C51单片机的P0口作为段选输出,用P2口作为位选输出,动态扫描LED显示管,显示时间,并通过接在P3.0P3.6口的按键开关控制开始、结束、喇叭提示等功能。P1口接选手按键,控制抢答。本设计实现功能简单,成本较低,很适合我们大学生动手实践。结论这篇论文主要讲述了如何用单片机设计一个数字抢答器,利用单片机比单纯用数字电路更简洁,成本更低,也更稳定。深感单片机在控制方面的作用之大,有待进一步学习加强。通过这次基于单片机控制的数字抢答器的设计,使我们摆脱了单纯的理论学习,让我感受到了理论与实践相结合的重要性。在本次设计中遇到了很多的问题,但是通过查阅相关的文献资料及在网上搜集了许多资料,这样更丰富了我们的知识,通过李秀英老师的细心指导,使得许多问题得到了解决,也使本次设计达到了预期的目的。总的来说,本次设计的基于单片机控制的数字抢答器设计具有电路简单,成本较低,操作方便,灵敏可靠,并且具有工作稳定,响应速度快,实时性强等特点,该抢答器除具有基本的抢答功能外,还具有定时、计时和报警功能。但是由于自己的能力有限,有许多设计仍然需要做出改进,以此使其功能更加齐全。在本次设计的过程中,得到了李秀英老师,覃智广老师,还有同学们的很多帮助,经过自己的摸索,学会了很多的设计方法,也加深了我对数字电子技术,单片机原理及应用等方面的知识,并学会了如何去主动解决遇到的难题,为以后做事情积累了信心和经验。致谢在整个毕业设计中,我得到了指导老师李秀英老师,还有覃智广老师,王信老师的热心指导和帮助,通过这几位老师的耐心的指导,对我有很大帮助,经过几个月的努力,使得毕业设计顺利完成。在毕业设计的实践中,学到很多有用的知识,也积累了不少宝贵的项目开发经验。首先我要特别感谢我的各位专业老师,是他们给我了很大的鼓励和支持,是他们为我指引了论文的方向、架构,并对本论文逐字批阅,指出其中误谬之处,使我有了思考的方向。其次,要感谢我的舍友和同学们,是你们在学习、生活中给了我热心的支持,帮我收集了一些资料,我才能克服一个个的困难和疑惑,直至本次设计的顺利完成。还要感谢我的父母,感谢你们的养育、培养,是你们给了我学习的动力。还要感谢我的母校,宜宾职业技术学院,是母校给我提供了良好的学习环境,给了我最好培育,在此都表示忠心的感谢,谢谢大家!此外,由于时间紧,本人的水平有限,存在很多不足,欢迎各位老师、同学指正,将不胜感激!最后,感谢答辩组的各位老师们给予我指导与鼓励,祝你们身体健康!工作顺利!参考文献1黄颉.徐晓秋.单片机原理及应用技术M.国防工业出版社,2008年2张义.陈敌北.例说8051M.人民邮电出版社,2006年3许兴存.曾琪琳. 微型计算机接口技术M.电子工业出版社,2003年4胡汉才.单片机原理及接口技术(第二版)M.清华大学出版社5王福瑞.单片微机测控系统大全M.北京航空航天大学出版社 ,1998年6王晓君.安国臣.MCS51及兼容单片机原理与选型M.电子工业出版社,2003年7焦素敏.数字电子技术基础M.人民邮电出版社,2005年8李炎清.毕业设计论文写作与范例M.厦门大学出版社,2006年附录附录A中断程序流程图附录B八路数字抢答器程序清单OK EQU 20H; 抢答开始标志位RING EQU 22H; 响铃标志位ORG 0000HAJMP MAINORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 0013HAJMP INT1SUBORG 001BHAJMP T1INTORG 0040HMAIN:MOV R1, #30; 初设抢答时间为30sMOV R2, #60; 初设答题时间为60s MOV TMOD, #11H; 设置未定时器/模式1 MOV TH0, #0F0HMOV TL0, #0FFH; 越高发声频率越高,越尖MOV TH1, #3CHMOV TL1, #0B0H; 50ms为一次溢出中断SETB EASETB ET0SETB ETSETB EX0 SETB EX1; 允许四个中断,T0/T1/INT0/INT1CLR OK CLR RING SETB TR1SETB TR0;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了;查询程序:START: MOV R5, #0BHMOV R4, #0BHMOV R3, #0BH ACALL DISPLAY;未开始抢答时候显示FFFJB P3.0, NEXT;ACALL DELAYJB P3.0,NEXT;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询ACALL BARK;按键发声MOV A,R1 MOV R6,A;送R1-R6,因为R1中保存了抢答时间 SETB OK;抢答标志位,用于COUNT只程序中判断是否查询抢答MOV R7,#01H ;读抢答键数据信号标志,这里表示只读一次有用信号MOV R3,#0AH;抢答只显示计时,灭号数AJMP COUNT;进入倒计时程序,查询有效抢答的程序在COUNTNEXT: JNB P1.0, FALSE1JNB P1.1, FALSE2JNB P1.2, FALSE3JNB P1.3, FALSE4JNB P1.4, FALSE5 JNB P1.5, FALSE6JNB P1.6, FALSE7JNB P1.7, FALSE8AJMP START;非法抢答处理程序:FALSE1: MOV R3, #01HAJMP ERRORFALSE2: MOV R3, #02HAJMP ERRORFALSE3: MOV R3, #03HAJMP ERRORFALSE4:MOV R3, #04HAJMP ERRORFALSE5:MOV R3, #05HAJMP ERRORFALSE6: MOV R3, #06HAJMP ERRORFALSE7: MOV R3, #07HAJMP ERRORFALSE8: MOV R3,#08HAJMP ERROR; INT0(抢答时间R1调整程序):INT0SUB:MOV A,R1MOV B, #0AHDIV ABMOV R5, AMOV R4, BMOV R3, #0AHACALL DISPLAY;先在两个时间LED上显示R1JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCOJNB P3.5,DEC0;P3.5为-1s键,如按下跳到DECOJNB P3.1,BACK0;P3.1为确定键,如按下跳到BACKOAJMP INT0SUBINC0: MOV A,R1CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。MOV R1,#00HACALL DELAY1AJMP INT0SUBADD0:NC R1ACALL DELAY1AJMP INT0SUBDEC0:MOV A,R1JZ SETR1;如果R1为0, R1就置99,DEC R1ACALL DELAY1AJMP INT0SUBSETR1:MOV R1, #63HACALL DELAY1AJMP INT0SUBBACK0:RETI; INT1(回答时间R2调整程序): INT1SUB:MOV A,R2MOV B, #0AHDIV ABMOV R5, AMOV R4, BMOV R3, #0AHACALL DISPLAYJNB P3.4, NC1JNB P3.5, DEC1JNB P3.1, BACK1AJMP INT1SUBINC1: MOV A, R2CJNE A,#63H,ADD1MOV R2,#00HACALL DELAY1 AJMP INT1SUBADD1:INC R2ACALL DELAY1AJMP INT1SUBDEC1:MOV A,R2 JZ SETR2DEC R2ACALL DELAY1AJMP INT1SUBSETR2: MOV R2,#63HACALL DELAY1AJMP INT1SUBBACK1:RETI;倒计时程序(抢答倒计时和回答倒计时都跳到改程序):REPEAT:MOV A,R2 ;使用锦囊时重新计时MOV R6,ACLR RING COUNT: MOV R0,#00H;重置定时器中断次数MOV TH1,#3CHMOV TL1,#0B0H;重置定时器RECOUNT:MOV A,R6;R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6MOV B,#0AHDIV AB;除十分出个位/十位MOV 30H,A;十位存于(30H)MOV 31H,B;个位存于(31H)MOV R5,30H;取十位MOV R4,31H;取个位MOV A, R6SUBB A, #07HJNC LARGER;大于5s跳到LARGER,小于等于5s会提醒MOV A,R0CJNE A,#0AH,FULL;1s中0.5s向下运行CLR RINGAJMP CHECKFULL: CJNE A,#14H,CHECK;下面是1s的情况,响并显示号数并清R0,重新计SETB RINGMOV A,R6 JZ QUIT;计时完毕MOV R0,#00HDEC R6;一秒标志减1AJMP CHECKLARGER: MOV A, R0 CJNE A,#14H,CHECK;如果1s向下运行,否者跳到查停/显示DEC R6;计时一秒R6自动减1MOV R0,#00HCHECK: JNB P3.1,QUIT;如按下停止键退出JNB OK,CHECKK ;只在回答倒计时才有效AJMP NEXTTCHECKK:JNB P3.0,REPEAT ;判断是否使用锦囊NEXTT:ACALL DISPLAYJB OK,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用)AJMP RECOUNTACCOUT:MOV A,36HJNB ACC.0,TRUE1JNB ACC.1,TRUE2JNB ACC.2,TRUE3JNB ACC.3,TRUE4JNB ACC.4,TRUE5JNB ACC.5,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木炭行业发展趋势与市场潜力解析
- 偿债合同标准文本
- 驾校项目商业计划书助力智能驾驶新时代
- 7《健康看电视》 第一课时 教学设计-2023-2024学年道德与法治四年级上册统编版
- Unit6 Lesson1 Li Ming's family(教学设计)-2024-2025学年冀教版(三起)(2024)英语三年级上册
- 会议活动合同样本
- 光伏发电合同样本合集
- 书 供货合同样本
- 中标装修合同标准文本
- 表面麻醉剂行业发展趋势与市场前景展望
- 2025年深入贯彻中央八项规定精神学习教育应知应会知识试题及答案
- 2025年3月22日山东事业单位统考《行测》真题(含答案)
- 影视剧组聘请工作人员合同二零二五年
- 中国轮毂电机市场发展状况与投资方向预测报告2024-2030年
- 2025年长袜子皮皮考试题及答案
- 2025年陕西金融资产管理股份有限公司招聘笔试参考题库含答案解析
- 2025年广西机场管理集团有限责任公司招聘笔试参考题库含答案解析
- 2025年九年级中考语文第一次模拟考试卷附答案解析
- 部队食品安全知识课件
- 中建商务管理手册
- 海洋中国知到智慧树章节测试课后答案2024年秋哈尔滨工程大学
评论
0/150
提交评论