已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学号 147308226 苏州市职业大学 毕业设计题目 基于AT89C51单片机的八路抢答 器的设计与实现 学生姓名: 专业班级: 14通信技术2班 学院 (部): 电子信息工程学院 校内指导教师: 周燕(副教授) 校外指导教师: 孙红荣(工程师) 完成日期: 2017年5月 摘要抢答器作为一种很常见的电子类产品,实现方式有很多种,采取模拟电路和数字电路等方法,制作过程复杂繁琐,不易实现,并且稳定性不是很高。本抢答器设计采用51系列单片机为主要零件,与蜂鸣器和数码管等部件组成八路抢答器,利用单片机时钟电路、复位电路、按键电路等,设计出能显现抢答选手号码和抢答时间等特点,同时对单片机进行可在线编程实现其所设计的基本功能。在51系列单片机中采用比较常用的AT59C51作为本设计的单片机,性能稳定,制作简易。 在显示电路上我们采用四位七段共阴极数码管,来显示抢答者、抢答时间和答题时间。 关键字:抢答器、AT89C51、数码管、扬声器AbstractNow the rapid development of electronic technology, electronic products such as responder, often appear in various competitions, entertainment and other places. Responder as various competitions, entertainment and other activities to answer the answer players is a kind of electronic product, and is widely used. There are many kinds of methods to achieve Responder function, the analog circuit and digital circuit etc. the production process is complicated, and not easy to realize, and the stability is not very high. This design uses 51 microcontroller as the core component, and the buzzer and the digital tube and other components eight responder, the use of single-chip clock circuit, reset circuit, key circuit design, can show the player answer number and answer time features. Here we use AT59C51 as the microcontroller design, stable performance, simple manufacture.Key words: responder, AT89C51, digital tubeIII目录摘要IAbstractII目录11 绪论11.1设计背景及意义11.2本设计的主要内容12 系统总体概述22.1系统主要功能22.2 方案论证32.3 方案比较与选择43硬件设计43.1抢答器的工作原理43.2主控芯片的介绍AT89C515 3.2.1单片机内部结构53.2.2单片机的引脚定义63.3功能电路的介绍73.3.1时钟频率电路的设计73.3.2复位电路的设计73.3.3显示电路的设计83.3.4键盘扫描电路的设计83.3.5报警电路的设计94 软件设计104.1主程序流程图104.2抢答流程图114.3子程序设计124.3.1定时中断子程序124.3.2 外部中断子程序134.3.3 报警子程序144.3.4 控制子程序155调试165.1硬件调试165.2软件调试175.3调试结果及分析17总结19致谢20参考文献21附录:221 绪论1.1设计背景及意义如今抢答器是作为一种很普遍的电子产品,在很多比赛类场合中,它能比较快速且客观公正地辨别出最先获得发言的参赛者和选手。在抢答过程中中,如果我们仅仅以视觉是不容易判断出孰先孰后。因此我们利用51系列单片机来制作一个抢答器,可以轻松的克服这个问题,即便这两组或者这两个人抢答的时间相差很短也可以辨别出哪一组选手应该最先答题。现在大多数单片机和数字集成电路组成的抢答器,功能和性能上都优于以前的抢答器。抢答者的号码、抢答时间和答题时间的计时等功能都能体现出来。此次设计选用AT89C51单片机,并设计一些功能电路连接在单片机上以此来实现抢答功能,利用单片机特有的定时与计数功能,将硬件和软件巧妙的结合起来,实现答题计时和抢答计时的功能,并且利用数码管准确地显示选手和时间。在设计中利用开关作为按键,喇叭作提示。在这个系统中,只有在主持人启动开始按键之后选手才可以抢答。抢答时间和答题时间可以由主持人进行设置,设置范围在1秒之99秒之间。抢答成功后,有响声提示。然后进行答题倒计时。计时方式均使用倒计时方式。时间计时结束之后,主持人会按下复位按钮,系统会自动复位,并开始下一回合。通过这次的课题设计,可以熟悉掌握以AT89C51为典型的单片机的工作原理,并且可以了解八路抢答器的控制和工作的原理,掌握抢答器电路的测试和调试方法,提高我们的动手能力和排障能力。以具体的实际操作来巩固我们从书本上学来的理论知识,了解构成抢答器的各个电路之间的联系和影响。作为单片机的最小系统,我们应该学习它的基本设计方法,来学会应用单片机来设计其他系统。简单总结如下:(1)学习单片机的原理,从而可以学会单片机的开发功能和它的使用功能。(2)学习编写单片机的程序和调试,从而使其能控制系统。(3)学会以单片机为核心的抢答器的硬件电路的设计和绘制。(4)学习单片机定时器功能的使用,并学会定时器中断程序的编写。(5)掌握使用单片机定时/计数器功能的基本方法,并学会编写定时/计数器的中断程序。1.2本设计的主要内容以单片机为核心,设计一个8路抢答器。1)抢答器用八个按键K1至K2,可供八位选手或者八只队伍抢答2)设置一个由主持人掌控的系统还原和抢答开始按键3)抢答器应该具有显示和锁存功能,当选手或者参赛者抢答成功后,锁定相应参赛者的号码。并且持续保存到主持人复位系统。4)抢答器应该具有定时功能,主持人可以对抢答时间和答题时间进行自由修改(默认30秒)。主持人按下开始键后,系统开始抢答时间倒计时,扬声器伴随发出提示音。5)参赛者在设置的时间内抢答有效,抢答成功后,选手号码在数码管上显示出来。主持人按下复位键后才会清除。6)如果抢答时间内没有选手抢答,扬声器报警,本次抢答无效,并禁止再次抢答,数码管显示“00”。7)选手在答题时间内答题,还剩十秒时开始持续报警提示。8)编写出程序代码并调试成功。9)用PROTEUS软件对电路进行仿真;2 系统总体概述2.1系统主要功能本系统是采用单片机设计的八路抢答器,其中包括8个抢答按键、数码显示、系统开始和结束按键、时间设定。参赛者,除有抢答权利以外,系统还有提醒功能;本设计采用单片机模块化设计抢,各组或者每个人分别有一个能够抢答的按键。主持人掌握开始键和结束结束键、复位键。并且主持人可以自由设置选手的答题时间和抢答时间,默认状态下选手抢答的时间设置为三十秒,答题的时间设置为六十秒。主持人可通过时间加键与时间减键来重新设置答题和抢答时间。主持人按键开始后,抢答倒计时开始,在倒计时时间结束内选手抢答,数码管显示选手号码,如果在事先规定设置的时间内没有选手按下抢答键,在计时结束时扬声器发出提示。选手抢答成功后,主持人按开始键答题倒计时开始,主持人按复位键新一轮抢答开始。采用单片机的抢答器和如今常见的抢答器相比较。单片机的电路连接比较简单易懂,因为仅仅需要在单片机内编写程序,就能实现大部分功能。第二,单片机的可靠性高,抗干扰能力强。所以采用单片机设计抢答器,简单易操作,易实现,具有创新。整个抢答器设计以单片机作为核心部件,通过在内部进行程序编写。以达到各种参数的设置,并完成号码显示、时间倒计时等功能。本设计中,用四个数码管组成的一个共阴极的数码管组。分别用来显示抢答者号码、空挡和时间计时。主持人可以通过复位键进行重新一轮,按下开始键后进行抢答。当计时时间结束的时候,数码管显示“00”。如果有选手在抢答时间内成功抢答,在主持人按下答题计时键,开始答题计时,并且显示答题者号码。2.2 方案论证 根据抢答器设计的要求,有两种实现方案:方案一:抢答器设计的各个外围电路,全部采用小规模的集成数字电路,然后以机械开关按键等电子元器件为硬件,完成抢答信号的输入。用这种方案的一个优势是现在对中小型规模的集成电路的应用非常成熟,这种集成电路的性能也比较稳定而且可靠,对抢答器所需的功能能够很好的实现,并且不需要设计软件和编写特定程序。但是缺点是对电路的结构设计很复杂,不容易调试成功。因为要用到很多元器件组成硬件电路,所以制造的成本非常昂贵,制作的工艺流程也非常复杂。在实际的制作过程中会有很多的困难和阻碍。如图2.1所示。图2.1 数字电路抢答器的控制结构框图 方案二:选用AT89C51的单片机为此抢答器设计主要元器件。结合四位七段数码管、扬声器等硬件组成一个八路抢答器,利用单片机的时钟电路、按键电路、复位电路、发声电路、显示电路,设计出抢答者的号码、抢答时间和答题时间的计时等功能都能体现出来的一个抢答器。通设计的复位电路可以进行新一轮的抢答,通过对单片机的内部编程,实现其他的基本功能。设计方案如图2-2所示。图2-2 单片机抢答器设计方案2.3 方案比较与选择综合两个方案,方案一硬件电路的组成结构比较复杂,稳定性低,电路功能也不丰富,尤其是当设计一个多路抢答路的时候很,方案的实现就比较困难。并且成功率不高,实现的外围电路所需的元器件很多,因此成本比较高,并且工艺流程比较复杂,不便于组装与功能调试。方案二因为使用可编程的单片机,并且现在单片机使用技术非常完善,应用起来简单方便。并且相对于方案一的外围电路而言方案二明显所需的电路要少的很多。整个单片机系统可以进行编程,这样系统功能的扩展会有很大的空间。并且单片机结构简单、稳定高、功能广、成本较低。综上所述,本次设计选用第二个方案。以单片机为核心设计抢答器。3硬件设计3.1抢答器的工作原理抢答器的工作原理是基于单片机的最小系统原理上,通过编写的程序动态的显示选手号码。当主持人按动开始按钮(P3.0)后,定时中断程序启动,进行抢答时间三十秒倒计时,在此时间内如果有人按下抢答键(P1.0-P1.7),扬声器发出提示声响,并且数码管显示抢答者号码。主持人再按下开始键(P3.0),答题倒计时开始,共计六十秒,最后十秒钟扬声器持续报警提示。按下复位键(P3.1)重新进入下一轮。硬件电路原理图如图3-1所示图3-1硬件电路原理图3.2主控芯片的介绍AT89C51 3.2.1单片机内部结构 AT89C51单片机主要有以下部件组成:一个8位CPU;128B内部数据存储器RAM,包括21个特殊功能寄存器;4KB(4096个单元)的在线可编程Flash片内程序存储器FlashROM;4个8位并行输入/输出口(即I/O口)P0、P1、P2、P3口;1个可编程全双工的异步串行口;2个16位定时器/计数器;5个中断源、2个中断优先级;时钟电路,振荡频率在0-33MHz。AT89C51单片机和MCS-51指令完全兼容,工作的电压范围在4V到5.5V,寿命:1000次写/擦循环1。图3-2为单片机内部结构。图3-2 AT89C51内部结构图3.2.2单片机的引脚定义图3-3 AT89C51单片机引脚图P0端口(P0.0-P0.7):P0接口是一个八位开路双向输入输出端口。因为单片机内部没有接入上拉电阻,所以使用P0口时需要在外部接入上拉电阻。当端口处于高电平“1”的时候,外部数据信号才能输入进单片机。当然P0口也具有第二功能可以作为地址总线和数据总线使用,作此功能是不需要接上拉电阻。在此设计中P0口作为接入四位七段共阴极数码管的显示电路。P1端口(P1.0-P1.7):P1口也是一个双向的八位输入输出口,因为内部已经接入上拉电阻,所以在应用的时不必接上拉电阻。P1口可以带动四个lsttl负载。作为输入口使用时候,与P0口一样需要使接口处于高电平“1”,才能读取外部数据。做第二功能时,其中P1.5可作为MOSI用,P1.6当做MISO,P1.7当做SCK用。P1口在本次设计中接入按键电路,P1.0-P1.7分别接入八个按键。P2端口(P2.0-P2.7):P2口也是一个不需要外接上拉电阻的八位端口。端口置“1”时才可以输入信号。基本用法和P1口类似。作为第二功能时P2可以作为出地址总线的高八位。P3端口(P3.0-P3.7):P3端口在此设计中P3.0端口接入开始按键,P3.1端口接入复位按键,P3.2端口作为抢答时间加键,P3.3端口作为抢答时间减键,P3.4和P3.5端口分别作为答题时间加键和答题时间减键。扬声器接在P3.6端口。3.3功能电路的介绍3.3.1时钟频率电路的设计单片机的工作过程要对各种指令在时间上有明确的次序,这种时间次序也叫做时序,所以单片机需要产生一个时钟信号。时钟电路如图3-4所示。图3-4 时钟电路产生时钟信号的方式是:在XTAL1(18脚)和XTAL2(19脚)引脚接入一个振荡电路。用两个30PF电容的作用是开启振荡器和调节振荡频率。接入的晶振fosc来确定时钟周期,此时产生的信号为单片机最基本的时间单位,即时钟周期,用振荡频率的的倒数代表它的大小(1/fosc)。3.3.2复位电路的设计复位电路在单片机设计中是一个必不可少的部分。单片机在刚开始运行的时候需要进行一次复位,以确保整个系统电路在要开始运行时保持一种最初状态,保证一开始的运行正常。AT89C51单片机的第九引脚RESET,当这个引脚接收到两个机器周期(24个振荡脉冲周期)的高电平时,就会发生复位。复位电路的实现方式有很多种方式。常见的方式有上电、手动和自动复位三种。电路连接图如图3-5所示: 图3-5复位电路3.3.3显示电路的设计我在本设计中采用的是动态显示方法。数码管选用四位七段共阴极数码管,接在P2端口,查询显示程序利用P0口做段选码口输出P2低3位做位选码输出,当为低电平则能驱动数码管使其显示数字。在+5V电压下接10k的电阻,保证正常压降。4位数码管动态显示原理与实现:P0.0-P0.6端口接动态数码管的字形码笔段,P2.0-P2.3端口接动态数码管的数位选择端。4位数码管的8个显示a,b,c,d,e,f,g,dp 的同名端连在一起,另外为每个数码管的公共极COM增加位选端控制电路,位选端由独立的I/O线控制,当动态显示能够节约大量的I/O口,而且功耗较低。通过查表法,将其在数码管上显示出来,其中P0口为字型码输入端,P2口低3位为字选段输入端。在这里我们通过查表将字型码送给7段数码管显示,4位七段数码管显示电路如图3-6所示。图3-6 数码管显示电路图3-6中数码管采用的是4位七段共阴极数码管,其中A-G段分别接到单片机的P0口,由单片机输出的P0口数据来决定段码值,位选码COM1、COM3、COM4分别接到单片机的P2.0、P2.1、P2.2,由单片机来决定当前该显示的是哪一位。因为P0口在内部没有接上拉电阻,所以我们在外部电路中接8个1K的电阻用作P0口的上拉电阻,以此来在P0口无数据输出时,处于高电平状态。3.3.4键盘扫描电路的设计单片机中有两种键盘形式:独立键盘和矩阵键盘。独立键盘的硬件电路制作设计不是很难,并且不需要编写复杂的程序控制。因此在对硬件电路要求不是挺高的情况下,可以采取独立键盘的方式。然而矩阵键盘在制作时不仅在电路设计上要求比较高,并且需要设计编写复杂的程序,但是它不会占用太多的端口资源,基于这点矩阵键盘更适合按键较多的电路。所以在本次键盘选用形式中我们选用独立键盘,此次设计总共有14个按钮,分别是8个抢答键、一个开始键、一个复位键、一个抢答时间加键、一个抢答时间减键、一个答题时间加键、一个答题时间减键。如图3-7所示。 图3-7抢答按键及调整按键在图3-7中8个抢答按键接入单片机的P0口的P1.0到P1.7端口,每位参赛者有一个抢答按键,当有人按下按键时候,单片机会在这八个引脚读取相应的数值来识别是哪一个按键输入的。P3端口在此设计中P3.0端口接入开始按键,P3.1端口接入复位按键,P3.2端口作为抢答时间加键,P3.3端口作为抢答时间减键,P3.4和P3.5端口分别作为答题时间加键和答题时间减键。扬声器接在P3.6端口开始及结束按键接到单片机的P3.0和P3.1。3.3.5报警电路的设计在单片机中,我们通过在单片机内部设计程序来调节某个引脚电平的高低,那么在这个接口就会产生矩形波,如果在这个接口上接上一个扬声器就会发出声响。扬声器接在单片机的P3.6引脚。报警电路设计图如图3-8所示。图3-8报警电路4 软件设计4.1主程序流程图 抢答器的主流程是:抢答开始后,会有很多抢答者按下按钮,此时单片机接收到多个输入信号,单片机进行筛选识别出最先到达的信号,并且进行保存记录。在整个系统中,显示电路和和报警电路会根据实际情况接收的相应信号做出反应。抢答器的主流程图如图4-1所示。图4-1主程序流程图4.2抢答流程图 一次成功的抢答的流程是,在开始以后,三十秒的抢答时间内,有人按下抢答按键,并开始六十秒答题倒计时,在答题时间结束内答题完毕。次过程启动两次定时器中断。抢答流程图如图4-2所示。 图4-2抢答流程图4.3子程序设计4.3.1定时中断子程序在抢答过程中,我们需要运用单片机的定时功能,来对选手的抢答时间和答题时间进行计时。这样以便让选手知道自己所剩的抢答和答题时间,以便在规定时间内完成抢答和答题。所以我们需要设计一个定时中断子程序,当在抢答时间结束时或者答题时间小于十秒的时候,抢答器的报警系统开始工作。当时间结束以后,选手按下按键后抢答器不作出反应。流程图如图4-3所示。图4-3 抢答器的定时中断流程图4.3.2 外部中断子程序抢答器的大部分中断都是来自于外部电路,抢答是主要来源。当有选手按下抢答键的时候,抢答器通过内部筛选确认,把判断好的抢答选手号码在数码管上显示出来,然后进行倒计时。此时中断停止,次轮抢答结束,所有人无法再次抢答,除非复位进行下一轮。流程图如图4-4所示。 图4-4 系统外部中断流程图4.3.3 报警子程序报警子程序的作用是对系统功能实现的过程中进行提示,具体有以下两个:一是当抢答时间结束的时候发出声响,提示选手抢答时间结束,停止抢答。二是在答题时间还有十秒钟的时候,持续报警,提示选手抓紧答题。报警流程图如图4-5所示。 图4-5 报警流程图4.3.4 控制子程序抢答器的控制功能由主持人掌控,可以对抢答的开始和复位,以及时间的调整。只有在主持人按下开始键后,抢答器系统才会开始运行。当进行的抢答结束时,抢答器停止工作。这是只有主持人进行复位操作,是抢答器系统恢复到原始状态,这样才可以进行新的一轮抢答。控制程序流程图如图4-6所示。图4-6 控制程序流程图5调试5.1硬件调试在设计工程中,我们对实际电路进行制作焊接之后,要对电路的焊接进行检验,确认各个元器件是按照事先设计好的线路连接的的,并且检查焊接点无虚焊,不会发生短路和短路。接通电源后数码管亮,说明系统的线路没有问题。图5-1为接通电源的实物图。图5-1电路实物图5.2软件调试我们用Keil C51软件对设计的程序进行编译,汇编源程序,连接和重定位目标文件和库文件,创建HEX文件调试目标程序。其软件程序如图5-2所示,图5-2软件程序调试图5.3调试结果及分析我们对设计好的抢答器进行功能测试,按下开始键后数码管显示三十秒倒计时。如图5-3所示。图5-3实物图然后有人抢答后进行六十秒倒计时。图5-4中表示五号选手抢答成功,倒计时到49秒。总结此次毕业设计是基于AT89C51单片机的八路抢答器的设计与实现。通过采用51单片机,结合蜂鸣器和四位七段共阴极数码管等硬件,实现了一可供八位或者八组进行的竞赛抢答的电子抢答器。虽然实现抢答器的方法有很多种,但是用单片机实现的抢答器,功能易实现,可靠性上也比其他方式稳定。通过对单片机进行编程,结合时钟电路、复位电路、显示电路、和抢答电路等外围电路,实现了可以显示抢答者号码,并对抢答时间和答题时间进行倒计时的八路抢答器。在此过程中学会了单片机的基本功能,并掌握了抢答器的实现方法。在完成本次的设计中遇到了很多困难,在对自己所学习的理论知识进行实践的时候,很多理论实现也并不是想象的那么容易。比如对一开始的基本电路板焊接与最后的硬件调试,虽然电路和结构已经设计好,但是实际操作的时候还会出现好多问题,焊接不良,线路不通等。对于软件的开发还有很多功能没有开发出来。致谢伴随着毕业设计顺利的完成,也就意味着在大学里的三年学习时光也即将接近序幕。一路走来很感谢同学、导师师和朋友对我的的一路陪伴和帮助。在久的依依不舍也有告别的时候。在完成本次毕业设计中,首先非常感谢我的指导老师对我的认真指导,从开始的选题和之后的设计完场,xx老师对我设计完场的每一个方面都付出了很多的心思。从一开始的给我们搜集一些学习资料,到后来的亲自召集我们当面讲解指导,尽到作为导师的对我们学习上的指导责任。在这里也很感谢在我大学学习生涯里培养我的每一位老师,他们在很多不同领域都给我很多启蒙认识,提升了我的专业知识和技能。与我朝夕相处的同学和朋友,也在学习和生活上给了我很多帮助。在本次设计中,我们一起对专业知识探讨和疑难问题的解决,这个过程不仅对我完成这次毕业设计给出了很大的帮助,也给了我很多的感动。我们互相帮助和互相鼓励,对我完成学业和对未知领域的探索提供了很大的动力。参考文献1王冬梅、张建秋.基于单片机的八路抢答器设计与实现J.佳木斯大学学报(自然科学版)2009.27(3):350-3522张翠云.基于AT89C51的八路抢答器的设计J.机电工程技术2014.43(8:):25-283张筱云、李淑萍.单片机原理及接口技术项目教程M.苏州.苏州大学出版社.20124杨志忠.数字电子技术M.南京.高等教育出版社.20085 胡学海.单片机原理及应用系统设计M.北京:京电子工业出版社,2005年6 林凌,李刚,丁茹,李小霞.新型单片机接口器件与技术M.西安:西安电子科技大学出版社,2005年7 李朝青主编,单片机原理与接口技术.北京航天航空大学出版社,1994年8 何立民主编,单片机应用与设计.北京航天航空大学出版社,1990年9 邹逢兴编著,计算机硬件技术基础实验教程高等教育出版社,1994年10 裴亚男,付智辉主编,数字逻辑,西南交通大学出版社,2005年附录:程序清单: KEQU 20H; 抢答开始标志位; RING EQU 22H; 响铃标志位 ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040HMAIN:MOV R1,#0FH; 初设抢答时间为15s MOV R2,#0AH; 初设答题时间为10s MOV TMOD,#11H; 设置未定时器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH; 越高发声频率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H; 50ms为一次溢出中断 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1; 允许四个中断,T0/T1/INT0/INT1 CLR OK CLR RING SETB TR1 SETB TR0; 一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TH2 ;*查询程序*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 R3,0AH; 抢答只显示计时,灭号数 AJMP COUNT; 进入倒计时程序,查询有效抢答的程序在COUNT里面NEXT:JNB P1.0,FALSE0 JNB P1.1,FALSE1 JNB P1.2,FALSE2 JNB P1.3,FALSE3 NB P1.4,FALSE4 JNB P1.5,FALSE5 JNB P1.6,FALSE6 JNB P1.7,FALSE7 AJMP START;;*INT0(抢答时间R1调整程序) *INT0SUB: MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY; 先在两个时间LED上显示R1 JNB P3.4,INC0;P3.4 为+1s键,如按下跳到INCO JNB P3.5,DEC0;P3.5 为-1s键,如按下跳到DECO JNB P3.7,BACK0;P3.7 为确定键,如按下跳到BACKO AJMP INT0SUB INC0: MOV A,R1 CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。 MOV R1,#00H ACALL DELAY1 AJMP INT0SUB ADD0: INC R1 ACALL DELAY1 AJMP INT0SUB DEC0: MOV A,R1 JZ SETR1; 如果R1为0, R1就置99, DEC R1 ACALL DELAY1 AJMP INT0SUB SETR1: MOV R1,#63H ACALL DELAY1 AJMP INT0SUB BACK0: RETI ;*INT1(回答时间R2调整程序)* INT1SUB: MOV A,R2 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.4,INC1 JNB P3.5,DEC1 JNB P1.7,BACK1 AJMP INT1SUB INC1: MOV A,R2 CJNE A,#63H,ADD1 MOV R2,#00H ACALL DELAY1 AJMP INT1SUB ADD1: INC R2 ACALL DELAY1 AJMP INT1SUB DEC1: MOV A,R2 JZ SETR2 DEC R2 ACALL DELAY1 AJMP INT1SUB SETR2: MOV R2,#63H ACALL DELAY1 AJMP INT1SUB BACK1: RETI ;*倒计时程序(抢答倒计时和回答倒计时都跳到改程序)* COUNT: MOV R0,#00H; 重置定时器中断次数 MOV TH1,#3CH MOV TL1,#0B0H; 重置定时器RECOUNT: MOV A,R6; R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6 MOV B,#0AH DIV AB; 除十分出个位/十位 MOV 30H,A; 十位存于(30H) MOV 31H,B; 个位存于(31H) MOV R5,30H; 取十位 MOV R4,31H; 取个位 MOV A,R6 SUBB A,#07H JNC LARGER; 大于5s跳到LARGER,小于等于5s会提醒 MOV A,R0 CJNE A,#0AH,FULL; 1s中0.5s向下运行 CLR RING AJMP CHECKFULL: CJNE A,#14H,CHECK; 下面系1s的情况,响并显示号数并清R0,重新计 SETB RING MOV A,R6 JZ QUIT; 计时完毕 MOV R0,#00H DEC R6; 一秒标志减1 AJMP CHECKLARGER: MOV A,R0 CJNE A,#14H,CHECK; 如果1s向下运行,否者跳到查停/显示 DEC R6; 计时一秒R6自动减1 MOV R0,#00HCHECK: JNB P1.7,QUIT; 如按下停止键退出 ACALL DISPLAY JB OK,ACCOUT; 如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数 (这里起到锁抢答作用) AJMP RECOUNTACCOUT: JNB P1.0,TRUE0 JNB P1.1,TRUE1 JNB P1.2,TRUE2 JNB P1.3,TRUE3 JNB P1.4,TRUE4 JNB P1.5,TRUE5 JNB P1.6,TRUE6 JNB P1.7,TRUE7 AJMP RECOUNTQUIT: CLR OK; 如果按下了停止键执行的程序 CLR RING AJMP START;*正常抢答处理程序*TRUE0: ACALL BARK; 按键发声 MOV A,R2; 抢答时间R2送R6 MOV R6,A MOV R3,#00H CLR OK; 因为答题的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 园林工程转包合同范本(3篇)
- 预付工程款合同补充协议(3篇)
- 2025年新型城市交通体系项目可行性研究报告及总结分析
- 2025年民宿调味品供应合同协议
- 2025年互动式在线学习平台建设项目可行性研究报告及总结分析
- 2025年cpa注册会计师审计题库试题附答案完整版
- 2025年烟草公司营销技能提升竞赛题库1
- 2025年粮食供应链优化项目可行性研究报告及总结分析
- 2025年创业服务平台建设项目可行性研究报告及总结分析
- 2025年江西省国营泰和综合垦殖场面向社会公开招聘工作人员笔试历年常考点试题专练附带答案详解2套试题 含答案
- CJT 434-2013 超声波水表 标准
- 信息化运维服务信息化运维方案
- GJB9001C-2017质量管理体系要求
- 《慢性肾脏病早期筛查 诊断及防治指南》解读
- 混凝土泵车维护与保养课件
- 电气工程师生涯人物访谈报告
- 学历(学位)更改呈报审批表
- 智能鞋行业研究分析报告
- 美国常青藤大学介绍
- 高中英语词汇表(3500词)
- 讴霭咨询-零售行业创新的洞察:策展式零售、叙事零售
评论
0/150
提交评论