毕业设计(论文)基于AT89C51单片机的八位智力抢答器设计.doc

上传人:文库蛋蛋多 文档编号:3978687 上传时间:2023-03-30 格式:DOC 页数:33 大小:1.93MB
返回 下载 相关 举报
毕业设计(论文)基于AT89C51单片机的八位智力抢答器设计.doc_第1页
第1页 / 共33页
毕业设计(论文)基于AT89C51单片机的八位智力抢答器设计.doc_第2页
第2页 / 共33页
毕业设计(论文)基于AT89C51单片机的八位智力抢答器设计.doc_第3页
第3页 / 共33页
毕业设计(论文)基于AT89C51单片机的八位智力抢答器设计.doc_第4页
第4页 / 共33页
毕业设计(论文)基于AT89C51单片机的八位智力抢答器设计.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《毕业设计(论文)基于AT89C51单片机的八位智力抢答器设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89C51单片机的八位智力抢答器设计.doc(33页珍藏版)》请在三一办公上搜索。

1、江 西 理 工 大 学 南 昌 校 区毕 业 设 计(论文)题 目:八位智力抢答器系 :信息工程系专 业:应用电子技术班 级:学 生:学 号:指导教师: 职称:讲 师摘 要能够实现抢答器功能的方式有多种,可以采用前期的模拟电路、 数字电路或模拟与数字电路相结合的方式。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测日新月异更新。本文介绍一种用AT89C51作为核心部件进行逻辑控制及信号产生的单片机技术和汇编语言编程设计的8路数字抢答器。文章对抢答器的背景与现状、硬件设计、软件设计及其仿真都做了详细的介绍,使我们不仅答器的原理及设计有了深入的了解,也对单片机的设计研发过程

2、有了更加深刻的体会本设计主要采用单片机控制,采用手动抢答的方式,有人抢答后,系统自动封锁其他人的抢答按钮,使其不能再抢答,从而实现抢答功能。该系统还增加了抢答倒计时和答题倒计时功能,另外抢答倒计时和答题倒计时的时间都可以调整。若有人在主持人按下开始按钮之前按下抢答按钮,系统自动视其为犯规,抢答器自动报警,显示器同时显示犯规选手的号码,使抢答达到公平、公开的效果。关键字:单片机;抢答器;倒计时 作者: 指导老师:ABSTRACT Responder function can be achieved in different ways, can be used early in the analo

3、g circuits, digital circuits or analog and digital circuit combination. With the rapid development of science and technology in recent years, SCM applications are deepening, while the traditional control test drive rapid updated. This paper introduces a core component with AT89C51 as logical control

4、 signals and single-chip microcomputer and assembly language programming design of 8 digital vies to answer first. Article on the Responders background and present, hardware design, software design and simulation have made a detailed introduction, so we not only answer the principle and design of de

5、vices with in-depth understanding of microcontroller design and development and also have a more profound experience. This design mainly uses the MCU control, with manual answer in the way, some people answer in, the system automatically block other peoples answer in the button, so that it can not a

6、nswer in order to achieve Responder feature. The system also increased the answer in the countdown countdown and answer features, and answer another answer in the countdown to the countdown time can be adjusted. If one host press the start button before pressing the answer in the button, the system

7、automatically view them as foul, Responder automatic alarm, the display also shows the number of fouls players to answer in a fair, open effect.Keywords : single chip ;viing to answer first ;count downAuthor: GuidingTeacher: 目 录第1章 绪 论11.1课题研究的背景及意义11.2抢答器的分类11.3设计的主要目标任务3第2章 总体方案的设计42.1 功能要求42.2 系统

8、功能框图4第3章 硬件电路的设计53.1 硬件主要组成电路53.2 电路工作的基本原理53.3主控电路的设计53.3.1 关于AT89C51单片机53.3.2振荡器电路的设计63.3.3复位电路的设计73.4 按键电路的设计83.5 显示电路的设计83.5.1 LED显示器件简介83.5.2 显示部分的设计93.6报警电路的设计93.6.1蜂鸣器的介绍93.6.2 报警电路103.7 总电路图11第4章 软件的设计124.1 语言选择124.2 软件总体设计124.3系统程序13第5章 仿真及调试235.1 仿真软件介绍235.1.1 Proteus软件介绍235.1.2 keil软件介绍23

9、5.2 仿真过程235.2.1仿真过程操作如下:235.2.2 仿真结果:24第六章 总 结26参考文献27附 录28附录1 电路原理图28第1章 绪 论1.1课题研究的背景及意义 无论是学校、工厂、军队还是益智性电视节目,都会举办各种各样的智力竞赛,都会用到抢答器。目前市场上已有各种各样的智力竞赛抢答器,但绝大多数是早期设计的,以模拟电路、 数字电路或者模拟电路与数字电路相结合的产品。这部分抢答器已相当成熟,但功能越多的电路相对来说就越复杂,且成本偏高,故障高,显示方式简单(有的甚至没有显示电路) ,无法判断提前抢按按钮的行为,不便于电路升级换代。近年来随着科技的飞速发展,单片机的应用正在不

10、断地走向深入,同时带动传统控制检测日新月异。本设计就是利用微电脑芯片(单片机)作为核心部件进行逻辑控制及信号的产生,用单片机本身的优势使竞赛真正达到公正、 公平、 公开。1.2抢答器的分类电子抢答器电子抢答器的中心构造一般都是由抢答器由单片机以及外围电路组成,其搭配的配件不同又分为,非语音非记分抢答器和语音记分抢答器。 图1-1 按钮多适用于学校和企事业单位举行的简单的抢答活动。 图1-2 电子显示牌 图1-3 抢答器图1-4 非语音记分抢答器构造很简单,就是一个抢答器的主机和一个抢答按钮组成,在抢答过程中选手是没有记分的显示屏。 语音记分抢答器是有一个抢答器的主机和主机的显示屏和选手的记分显

11、示屏。 电脑抢答器 电脑抢答器又分为无线电脑抢答器和有线电脑抢答器。 无线电脑抢答器的构成是由:主机和抢答器专用的软件和无线按钮。无线电脑抢答器利用电脑和投影仪,可以把抢答气氛活跃起来,一般多使用于电台等大型的活动。有线电脑抢答器也是由主机和电脑配合起来,电脑在和投影仪配合起来,利用专门研发的配套的抢答器软件,可以十分完美的表现抢答的气氛。 图1-5 有线电脑抢答器 图1-61.3设计的主要目标任务 通过此次设计,理解抢答器的基本原理,掌握单片机在该系统中的应用,掌握LED显示的工作原理,掌握89C51的接口分配,并能设计出合理的电原理图,并仿真成功。第2章 总体方案的设计2.1 功能要求本次

12、设计要求在熟练使用51系列单片机的基础上,设计出相关的外围电路,并利用所选用的常用芯片设计出抢答器,要求可通过软件实现调整抢答器的答题或抢答时间,LED显示器可显示抢答或答题时间的倒计时,在时间快要用尽或者有人犯规的情况下,蜂鸣器可发出声音报警。2.2 系统功能框图单片机八段数码管显示蜂鸣器报警电路选手抢答按钮主持人控制的开始及结束按钮时间调整按钮图2-1 系统功能框图开始键按下后,抢答倒计时开始,同时系统扫描选手抢答按钮,选手按下按钮,显示器显示选手号,同时进入答题计时,答题计时结束后,系统自动复位,显示器显示“FFF”。第3章 硬件电路的设计3.1 硬件主要组成电路硬件电路主要由AT89C

13、51单片机及其外围电路(包括复位电路、外部晶振)、按键电路、显示电路、蜂鸣器报警电路。3.2 电路工作的基本原理整个电路由按键控制,当按下相应的按键时,单片机开始工作,抢答倒计时开始,同时系统扫描选手抢答按钮,选手按下按钮,显示器显示选手号,同时进入答题计时,答题计时结束后,系统自动复位,显示器显示“FFF”。3.3主控电路的设计3.3.1 关于AT89C51单片机AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。该器件采用A

14、TMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其主要特性是与MCS-51 兼容、4K字节可编程闪烁存储器、 寿命是1000写/擦循环、数据保留时间10年、全静态工作0Hz-24MHz、三级程序存储器锁定、1288位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路,其中由于其具有32个I/O口,可以满足此次

15、设计的需要,不用在其外部扩展I/O口。管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校

16、验时,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

17、门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口 管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。/EA/VPP:当/EA保持低电平时,则此期间访问外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间访问内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)

18、。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.3.2振荡器电路的设计晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率

19、也不会有很大的变化。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。一般的晶振的负载电容为15p或30p,如果再考虑元件引脚的等效输入电容,则两个22p的电容构成晶振的振荡电路就是比较好的选择。图 3-1 振荡电路3.3.3复位电路的设计复位即是在复位端加不小于指定宽度的低电平(低电平复位)或高电平(高电平复位)

20、信号使单片机的硬件处于初始状态。以MCS-51系列单片机为例,复位端为RST/Vpd,高电平复位。在振荡电路运行时,使RST引脚至少保持两个机器周期(24个振荡周期)高电平,实现一次复位动作。CPU响应内部复位,将ALE和PSEN引脚置为输入方式,并在RST端变低以前重复执行内部复位。图 3-2 复位电路3.4 按键电路的设计键盘有两类:一个是独立键盘,另一个是矩阵键盘。独立键盘的特点是每个按键单独占用一个I/O口,每个按键工作不会影响其他的I/O口线的状态,多用于按键不多的场合。可采用JNB或JB来查询是哪一个按键按下,并转向相应的功能处理程序。当按键较多时,就用到了矩阵键盘。矩阵键盘又称行

21、列键盘,它是用四条I/O线作为行线,四条I/O线作为列线组成的键盘,在行线和列线的每个交叉点上设置一个按键,这样键盘上按键的个数就是4*4个。这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。但由于本设计的按键不多,所以我们采用独立键盘,编写程序也比较简单,运行速度较快。图3-3 选手抢答按键3.5 显示电路的设计3.5.1 LED显示器件简介数码管是一种半导体发光器件,其基本单元是发光二极管。数码管的分类:数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连

22、接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。数码管的驱动方式:数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱

23、动方式的不同,可以分为静态式和动态式两类。本设计由于只用两个数码管,所以采用静态显示驱动,这里只介绍静态显示驱动。静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,一个89C51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件3.5.2 显示部分的设计显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全

24、靠软件来解决。图3-4 显示电路(采用共阴极LED数码管)3.6报警电路的设计3.6.1蜂鸣器的介绍蜂鸣器的作用: 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器的分类:1压电式蜂鸣器 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515V直流工作电压),多谐振荡器起振,输出1.52.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁

25、酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。2电磁式蜂鸣器 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。3.6.2 报警电路图3-53.7 总电路图图3-6第4章 软件的设计4.1 语言选择在目前单片机的发展中,其编程语言主要有C语言和汇编语言。C语言是高级语言,编写起来比较程序比较简便且易维护,汇编语言介于机器语言和高级语言之间,更接近于硬件,但编写起来比较冗长。但介于本次程序不是太复杂,所以本次设

26、计的程序采用汇编语言来编写。4.2 软件总体设计本程序采用子程序设计,在主程序中调用子程序来完成特定的功能,这样程序会通俗易懂,同时也有利于程序的调试和修改。本程序的程序流程图如下:图4-14.3系统程序P1.0为开始抢答,P1.7为停止,p1.1-p1.6为六路抢答输入 数码管段选P0口,位选P2口,蜂鸣器输出为P3.6口。OK EQU 20H;抢答开始标志位 RING EQU 22H;响铃标志位 ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT ORG 0013H AJMP INT1SUB ORG 001BH A

27、JMP 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; 一开始就运行定时器,以开始显示FF

28、F.如果想重新计数,重置TH1/TL1就可以了查询程序:START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY; 未开始抢答时候显示FFF JB P3.1,NEXT ACALL DELAY JB P3.1,NEXT;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询 ACALL BARK;按键发声 MOV A,R1 MOV R6,A; 送R1-R6,因为R1中保存了抢答时间 SETB OK; 抢答标志位,用于COUNT只程序中判断是否查询抢答 MOV R3,0AH; 抢答只显示计时,灭号数 AJMP COUNT;进入倒计时程序,查询

29、有效抢答的程序在COUNT里面NEXT: JNB P1.0,FALSE1 JNB P1.1,FALSE2 JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5 JNB P1.5,FALSE6 JNB P1.6,FALSE7 JNB P1.7,FALSE8 AJMP START非法抢答处理程序:FALSE1: ACALL BARK; 按键发声 MOV R3,#01H AJMP ERRORFALSE2: ACALL BARK MOV R3,#02H AJMP ERRORFALSE3: ACALL BARK MOV R3,#03H AJMP ERRORFAL

30、SE4: ACALL BARK MOV R3,#04H AJMP ERRORFALSE5: ACALL BARK MOV R3,#05H AJMP ERRORFALSE6: ACALL BARK MOV R3,#06H AJMP ERRORFALSE7:ACALL BARK MOV R3,#07H AJMP ERRORFALSE8:ACALL BARK MOV R3,#08H AJMP ERROR INT0(抢答时间R1调整程序): INT0SUB:MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY;先在

31、两个时间LED上显示R1 JNB P3.2,INC0; P3.2为+1s键,如按下跳到INCO JNB P3.3,DEC0; P3.3为-1s键,如按下跳到DECO JNB P3.0,BACK0; P3.0为确定键,如按下跳到BACKO AJMP INT0SUBINC0: MOV A,R1 CJNE A,#63H,ADD0; 如果不是99,R2加1,如果加到99了,R1就置0,重新加起 MOV R1,#00H ACALL DELAY1 AJMP INT0SUBADD0: INC R1 ACALL DELAY1 AJMP INT0SUBDEC0: MOV A,R1 JZ SETR1;如果R1为0

32、, R1就置99, DEC R1 ACALL DELAY1 AJMP INT0SUBSETR1: MOV R1,#63H ACALL DELAY1 AJMP INT0SUBBACK0: RETIINT1(回答时间R2调整程序):INT1SUB:MOV A,R2 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.2,INC1 JNB P3.3,DEC1 JNB P3.0,BACK1 AJMP INT1SUBINC1: MOV A,R2 CJNE A,#63H,ADD1 MOV R2,#00H ACALL DE

33、LAY1 AJMP INT1SUBADD1: INC R2 ACALL DELAY1 AJMP INT1SUBDEC1: MOV A,R2 JZ SETR2 DEC R2 ACALL DELAY1 AJMP INT1SUBSETR2: MOV R2,#63H ACALL DELAY1 AJMP INT1SUBBACK1: RETI倒计时程序(抢答倒计时和回答倒计时都跳到该程序): COUNT: MOV R0,#00H; 重置定时器中断次数 MOV TH1,#3CH MOV TL1,#0B0H; 重置定时器RECOUNT: MOV A,R6; R6保存了倒计时的时间,之前先将抢答时间或回答时间给

34、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; 计时完毕

35、 MOV R0,#00H DEC R6; 一秒标志减1 AJMP CHECKLARGER: MOV A,R0 CJNE A,#14H,CHECK; 如果1s向下运行,否者跳到查停/显示 DEC R6; 计时一秒R6自动减1 MOV R0,#00HCHECK: JNB P3.0,QUIT; 如按下停止键退出 ACALL DISPLAY JB OK,ACCOUT; 如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用) AJMP RECOUNTACCOUT: JNB P1.0,TRUE1 JNB P1.1,TRUE2 JNB P1.2,TRUE3 JNB P1.3,TRUE4

36、 JNB P1.4,TRUE5 JNB P1.5,TRUE6 JNB P1.6,TRUE7 JNB P1.7,TRUE8 AJMP RECOUNTQUIT: CLR OK; 如果按下了停止键执行的程序 CLR RING AJMP START正常抢答处理程序:TRUE1: ACALL BARK; 按键发声 MOV A,R2 MOV R6,A; 抢答时间R2送R6 MOV R3,#01H CLR OK; 因为答题的计时不再查询抢答,所以就锁了抢答 AJMP COUNTTRUE2:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#02H CLR OK AJMP COUNTT

37、RUE3:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#03H CLR OK AJMP COUNTTRUE4:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#04H CLR OK AJMP COUNTTRUE5: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#05H CLR OK AJMP COUNTTRUE6: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#06H CLR OK AJMP COUNTTRUE7: ACALL BARK MOV A,R2 MOV R6,A MOV

38、 R3,#07H CLR OK AJMP COUNTTRUE8: ACALL BARK MOV A,R2 MOV R6,A MOV R3,#08H CLR OK AJMP COUNT;犯规抢答程序;ERROR: MOV R0,#00H MOV TH1,#3CH MOV TL1,#0B0H MOV 34H,R3; 犯规号数暂存与(34H)HERE: MOV A,R0 CJNE A,#0AH,FLASH; 0.5s向下运行-灭并停响 CLR RING MOV R3,#0AH MOV R4,#0AH MOV R5,#0AH; 三灯全灭 AJMP CHECK1FLASH: CJNE A,#14H,CH

39、ECK1; 下面系1s的情况,响并显示号数并清R0,重新计 SETB RING MOV R0,#00H MOV R3,34H; 取回号数 MOV R5,#0BH MOV R4,#0BH; 显示FF和号数 AJMP CHECK1CHECK1: JNB P3.0,QUIT1 ACALL DISPLAY AJMP HEREQUIT1: CLR RING CLR OK AJMP START显示程序:DISPLAY:MOV DPTR,#DAT1; 查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出 MOV A,R5 MOVC A,A+DPTR MOV P2,#01H MOV P0,A ACALL DELAY MOV DPTR,#DAT2 MOV A,R4 MOVC A,A+DPTR MOV P2,#02H MOV P0,A ACALL DELAY MOV A,R3 MOVC A,A+DPTR MOV P2,#04H MOV P0,A ACALL DELAY RETDAT1:DB 00H,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H;灭,1,2,3,4,5,6,7,8,9,灭,FDAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号