单片机课程设计八位抢答器的设计.doc

上传人:laozhun 文档编号:4147578 上传时间:2023-04-07 格式:DOC 页数:38 大小:662KB
返回 下载 相关 举报
单片机课程设计八位抢答器的设计.doc_第1页
第1页 / 共38页
单片机课程设计八位抢答器的设计.doc_第2页
第2页 / 共38页
单片机课程设计八位抢答器的设计.doc_第3页
第3页 / 共38页
单片机课程设计八位抢答器的设计.doc_第4页
第4页 / 共38页
单片机课程设计八位抢答器的设计.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《单片机课程设计八位抢答器的设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计八位抢答器的设计.doc(38页珍藏版)》请在三一办公上搜索。

1、摘单片机课程设计设计题目 八位抢答器的设计 姓 名 学 号 学 院 电气工程学院 专业班级 2007级通信工程2班 目录摘 要2绪论31.1选题背景、目的、意义31.2八路抢答器的概述41.3系统主要功能42.统硬件设计52.1芯片的选择52.2工作原理52.3系统的硬件构成及功能62.3.1抢答器的硬件框图62.3.2抢答器电路设计82.3.3时序控制电路设计82.3.4复位电路的设计92.3.5外部震荡电路设计102.3.6报警电路设计102.3.7显示电路的设计112.3.8抢答电路的设计123.系统软件设计124.系统软件仿真154.1 Keil uVision2软件154.2Prot

2、eus仿真165.技术指标及使用说明205.1主要技术参数205.2抢答器使用说明206.心得体会21参考文献22附录22八位抢答器的设计专业班级:通信工程2班 姓名: 指导老师:万国峰摘 要 随着电子技术的飞速发展,基于单片机的控制系统已广泛应用于工业、农业、电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。同时楼宇智能化的发展与成熟,也为基于单片机的照明控制系统的普及与应用奠定了坚实的基础。本设计是以八路抢答为基本理念。考虑到需设定限时回答的功能,利用80C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理

3、,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。关键词 80C51,抢答器, 计时, 报警ABSTRACTWith the rapid development of electronic technology, the control system based on SCM has been widely used in industry, agriculture, electricity, electronics, intelligent buildings, industry; micro-computers emb

4、edded control system as the main and core, instead of the traditional control System of conventional electronic circuits. At the same time the development of intelligent buildings and maturity, but also based on the lighting control system MCU and popularity of application laid a solid foundation. T

5、he eight-way responder is the basic concept in thin design. By taking into account the need for setting time and limiting to answer the function, which uses 80C51 microcontroller and external interface of respond system, and uses SCM timer / counter timing and the number of mind Principle, the softw

6、are and hardware organically combined, which could allow the right to conduct time, while the digital display to the correct time.Key words: 80C51, Alphanumeric display, Time, Alarm绪论 1.1选题背景、目的、意义当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那么也就必然离不开抢答器。而现在的抢答器有着向数字化,智能化的方向发展,这就必然提高了抢答器的成本。鉴于现在小规模的知识竞赛越来越多,

7、操作简单,经济实用的小型抢答器必将大有市场。本抢答器通过十分巧妙的设计仅用两块数字芯片便实现了数显抢答的功能,与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点,并且还有防作弊功能。因此,我们制作了这款简易八路抢答器摒弃了成本高,体积大,而且操作复杂。我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,因而本抢答器具有显示直观,不需要人干预的特点。而且在显示时抢答器会发出叮咚声使效果更为生动。工厂、学校和电视台等单位常举办各种智力竞赛, 抢答记分器是必要设备。1.2八路抢答器的概述本组设计的八路数显抢答器具有电路简单、操作方便、灵敏可靠等优点。它由8个发射

8、器和1个接收器组成,可用于8组或8组以下的智力竞赛中。比赛前,将参赛组从0至7编号,每组发给对应的一个发射器。将接收器放于各组中央或前方。主持人按一下启动键后,抢答开始。此后,哪一组最先按下发射器上的抢答键,接收器就立即显示该组的组号并锁定,同时发出一声提示音,以后按下任何一路抢答键均不起反映。只有主持人再次按动启动键后,才能进行下一次抢答,该电路由直流稳压电源、抢答器、倒计时报警与显示组分组成。1.3系统主要功能(1)系统运行初始状态显示的是FFF。(2)按主持人按键,响铃提示进入显示抢答题30秒倒计时,在倒计时的最后5S时,提示灯会不断的闪烁,并发出提示音。在0S响铃结束,显示初始状态的F

9、FF。a、30秒期间选手选题,显示选手号和进入60s答题倒计时,在倒计时的最后5S时,提示灯会不断的闪烁,并发出提示音。在0S响铃结束,显示初始状态的FFF。b、 30秒期间选手不选题,则0s响铃结束,显示开始状态的FFF。2.统硬件设计2.1芯片的选择本设计使用的元器件包括:80C51芯片、七段码 7SEG-MPX4-CC 显示器、LED数码管的译码。其中单片机80C51 是系统工作的核心,它主要负责控制各个部分协调工作。在其外围接上复位电路、上拉电阻、数码管、按钮及扬声器。P3.0 和P3.1分别是抢答停止和开始键。P1.0-P1.7是8 组抢答的输入口, P2.0-P2.3 口为数码管的

10、段选口, 位选口用的是P0.0-P0.6 口输出,外部中断0.1和P3.3,P3.4 为抢答记时调整口,实现的对个队进行计时,并且加减调整,外部中断0,1 实现了答题时间调整.P3.4 P3.5分别实现了时间的加一和减一 ,P3.6 为蜂鸣器的控制口。2.2工作原理本设计有抢答电路、译码显示电路、主持人控制电路、定时电路、报警电路,各个电路都有其自己的功能。通过复位按键,电路进入就绪状态,等待抢答。然后再由主持人发布抢答“开始”按钮,同时发光二极管随即变亮,当看到二极管亮,进入倒计时状态和抢答状态。在电路中“1-8”为8路抢答器的8个按键,如果有人按下按键,程序就会判断是谁先按下的,然后将抢答

11、者号码送到七段码管上显示,并封锁键盘,保持刚才按键按下时刻的时间,禁止其他人按键的输入,从而实现了抢答的功能。如果在设定的时间中没有一个人按下按键,在最后5S会发出提示音,当0S结束后,不可以抢答。当要进行下一次的抢答时,由主持人先按一下复位按键,电路复位,进入下一次抢答的就绪状态。80C51的管脚图如下80C51的管脚图2.3系统的硬件构成及功能2.3.1抢答器的硬件框图2.1 主 控 制 器LED显示声生器键盘显示时钟频率复位电路硬件设计框图如上图所示的硬件设计框图,其工作原理为:接通电源后,主持人将“停止”按钮按下,抢答器处于禁止状态,当主持人将“开始”按钮按下时,宣布开始抢答工作。定时

12、器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作开始、停止状态按钮。抢答器的接口电路如下图2.2 抢答器的接口电路图 2.3.2抢答器电路设计参考电路如图2.2所示,该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。如有再次抢答需由主持人将复位按钮按下,然后再进行下一抢答。2.3.3时序控制电路设计时序控制电路是抢答器设计的关键,它要完成以下功能:a.主持人将开始按钮

13、按下时,扬声器发声,抢答电路和定时电路进行正常抢答工作状态。 b.当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路停止工作。2.3.4复位电路的设计外部中断和内部中断并存,单片机硬件复位端,只要持续4个机器周期的高电平即可实现复位,硬件复位后的各状态可知寄存器以及存储器的值都恢复到了初始值,因为本设计中功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位,只能用软件复位,软件复位实际上就是当程序执行完之后,将程序通过一条跳转指令让它完成复位。复位电路如下图示:复位电路2.3.5外部震荡电路设计外部震荡电路单片机必须在80C51的驱动下才能工作,在单片机内部有一个时钟震荡电路,只需要

14、外接一个振荡器就能产生一定的时钟信号送到单片机内部的各个单元,外部震荡电路如下图。外部振荡电路2.3.6报警电路设计报警电路用于报警,当遇到报警信号时,发出警报。抢答开始、抢答时间到时、选手正常抢答、选手非法抢答、答题时间到时都会发出警报。由于缺少蜂鸣器的驱动器,发生器不响,所以,用绿灯替换用来发出报警音,其图形如下:蜂鸣器选手在设定的时间内抢答时,实现优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次按下停止和开始状态开关。2.3.7显示电路的设计采用七段码 7SEG-MPX4-CC 显示,在未开始进行抢答时,

15、其上显示的是FFF;当主持人按下抢答“开始”按键时,其上显示的抢答的倒计时间;当某选手抢答成功时,其上显示的是答题的倒计时间。它是共阴极的由高电平点亮。图形如下:七段码 7SEG-MPX4-CC 显示2.3.8抢答电路的设计采用八个 BUTTON 按钮作为抢答的选择按键,参赛选手可以在主持人按下“开始”抢答按键时,通过按下自己的抢答按键进行抢答。八抢答个BUTTON3.系统软件设计智力竞赛抢答器要求有计时记忆功能,一次时间设置完, 复位后不需重新进行时间设定,通过键盘扫描输出按键信息,当在扫描到有人按下了答题键,马上关调用显示程序、封锁键盘。再通过单片机将它转换成能在七段数码管上显示字型码.图

16、3.1软件设计当抢答完毕时,会在数码管上显示抢答者数字号码提示以表示抢答成功.在显示时使用的是七段数码管显示,在本设计中根据实际情况采用的是动态显示方法. 并通过查表法 将其在数码管上显示出来,其中P1口为字型码输入端,P2口低6位为字选段输入端.通过查表将字型码送给7段数码管显示的数字。软件去抖动,如果开始键按下就向下执行,否者跳到开始。采用倒计时程序,使其具有倒计时功能。回答倒计时30 秒。抢答时间5 秒。采用发声警报(由于没有驱动器,因此就用绿灯换了),起到报警作用。其程序的流程图如下:显示FFF 开始键按下?加一键按下?减一键按下?回答时间 调整抢答时间去抖动非法抢答处理显示犯规正常抢

17、答 显示抢答号并倒计时Y YY 初始化图3.2 程序流程图1、如果想调节抢答时间或答题时间,按抢答时间调节键或答题时间调节键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下加1s键,如果想减一秒按一下-1s键,时间LED 上会显示改变后的时间,调整范围为0s99s, 0s 时再减1s 会跳到99,99s 时再加1s 会变到0s。2、主持人按抢答“开始键,会有提示音,并立刻进入抢答倒计时(预设30s 抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设60s 抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。倒数时间到小于5s 会每秒响

18、一下提示音。3、如倒计时期间,主持人想停止倒计时可以随时按停止按键,系统会自动进入准备状态,等待主持人按抢答开始进入下次抢答计时。4、如果主持人未按抢答“开始”键,而有人按了抢答按键,犯规抢答,LED上不断闪烁FFF和犯规号数并响个不停,直到按下停止 键为止。5、P3.0 为开始抢答,P3.1 为停止,p1.0-p1.7 为八路抢答输入 数码管段选P0口,位选P2口低3 位,蜂鸣器输出为P3.6口。P3.2 抢答时间调整结,P3.3回答时间调整,P3.4 为时间加1 调整,P3.5 为时间减1 调整。4.系统软件仿真4.1 Keil uVision2软件用到了伟福软件,集成调试环境,集成了编辑

19、器、编译器、调试器,支持软件模拟,支持项目管理功能强大的观察窗口,支持所有的数据类型。树状结构显示,一目了然,支持ASM(汇编)、C 语言,多语言多模块源程序混合调试,在线直接修改、编译、调试源程序,错误指令定位。功能很强大。用于对程序的调试和编辑。其界面如下:图4.1 Keil uVision2软件界面4.2Proteus仿真系统仿真还用到了Proteus软件,可通过仿真可以完全显示出所设计系统的功能,对于程序的调试等有很大的帮助。系统仿真时首先要在使用伟福编译器,把所写的程序进行编译,同时在仿真器里设置生成HEX 文件,编译无错误时进行Proteus 仿真,其仿真图如下:(1)仿真图(2)

20、五号抢答成功时的显示图:(3)二号违规抢答时的显示图:提示灯会不断的闪烁,并发出提示音。(4)使用加法调整时间的图:(5)使用减法调整图:(6)倒计时还有1秒时的报警显示图:提示灯会不断地闪烁,并发出提示音。5.技术指标及使用说明5.1主要技术参数电源电压:交流220V10% 工作功耗:交流5W5.2抢答器使用说明(1)开机(2)设定“抢答”倒计时时间(3)设定答题倒计时时间(4) 测试各组抢答按键试按一下各组的抢答按钮,应立即显示该组的组别数字,同时发出提示音出,按停止键,返回“FFF”闪烁状态。(5) 启动抢答倒计时,开始抢答FFF状态下,当主持人宣布抢答开始时,马上按一下开始键,屏幕显示

21、所设定的抢答倒计时时间并开始倒计时,提示倒计时时间为5S时提示灯会不断地闪烁,并发出提示音,直到0S,0秒以后显示屏返回FFF待命状态。在抢答倒计时中,如果有参赛组抢答,仪器屏幕立即显示该组的组别号,同时发出抢答成功提示音。需要返回FFF待命状态,按停止键即可。(6) 提前取消倒计时无论是抢答还是答题的倒计时时间,需要提前退出,只要按一下停止键,即可返回到FFF待命状态。(7) 违规抢答当主持人读题过程中,而未宣布抢答开始时按下抢答按钮。主显示屏将显示该违规组号,及发出提示音。6.心得体会通过这一周的课程设计,我学到了不少的知识。把以前没有学好的模拟电路的知识进行了补充和加强。这使我受益很大。

22、加深了我对于单片机和数字电路的认识,相信在以后的学习和工作中碰到这些基础的元器件我会更加得心应手。通过查阅大量的资料,我获得了以前在课堂上学不到的东西,我想这对于以后的毕业设计,或者工作也好,都是很有帮助的。我很认真地对待这个过程中的每一个细节,希望自己能做得更好。希望今后还有这样的机会,能够让我学到更多的知识。在此次的数字钟设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法。在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,因此在实际的电路连接中往往容易遗漏。在设计电路的连接图中出错的主要原因都是接线和芯片的接触不良以及接线的错误所

23、引起的。在以后的设计过程中进行了修改、改正。参考文献151单片机原理与实践/高卫东,辛友顺,韩彦征编著.北京航空航天大学出版社,2008.12刘红玲、邵晓根,微机原理与接口技术,中国电力出版社,2006年第一版3冯博琴,微型计算机原理及接口技术,清华大学出版社4艾德才,微型计算机原理与接口技术,高等教育出版社5沈美明,IBM-PC汇编语言程序设计,清华大学出版社6 任致程,经典集成电路400例机械工业出版社,20027 薛栋梁,单片机原理及应用,中国水利水电出版社,20018 谢筑森,张辉等,单片机开发与典型应用设计,中国科学技术大学出版社,附录源代码程序;-;-07通信工程2班-;- OK

24、EQU 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,#30;初设抢答时间为30s MOV R2,#60;初设答题时间为60s MOV TMOD,#11H;设置未定时器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH;越高发声频率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H;50ms为一

25、次溢出中断 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1;允许四个中断,T0/T1/INT0/INT1 CLR OK CLR RING SETB TR1 SETB TR0;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了;=查询程序=START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY;未开始抢答时候显示FFF JB P3.0,NEXT;ddddddd ACALL DELAY JB P3.0,NEXT;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询 AC

26、ALL BARK;按键发声 MOV A,R1 MOV R6,A;送R1-R6,因为R1中保存了抢答时间 SETB OK;抢答标志位,用于COUNT只程序中判断是否查询抢答 MOV R7,#01H ;读抢答键数据信号标志,这里表示只读一次有用信号 MOV R3,#0AH;抢答只显示计时,灭号数 AJMP COUNT;进入倒计时程序,查询有效抢答的程序在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

27、 JNB P1.7,FALSE8 AJMP START;=非法抢答处理程序=FALSE1: MOV R3,#01H AJMP ERRORFALSE2: MOV R3,#02H AJMP ERRORFALSE3: MOV R3,#03H AJMP ERRORFALSE4: MOV R3,#04H AJMP ERRORFALSE5: MOV R3,#05H AJMP ERRORFALSE6: MOV R3,#06H AJMP ERRORFALSE7: MOV R3,#07H AJMP ERRORFALSE8: MOV R3,#08H AJMP ERROR;=INT0(抢答时间R1调整程序)=INT

28、0SUB: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.1,BACK0;P3.1为确定键,如按下跳到BACKO AJMP INT0SUBINC0: MOV A,R1CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。 MOV R1,#00H ACALL DELAY1AJMP INT

29、0SUBADD0: INC R1 ACALL DELAY1 AJMP INT0SUBDEC0: MOV A,R1 JZ SETR1;如果R1为0, R1就置99, DEC R1 ACALL DELAY1 AJMP INT0SUBSETR1: MOV R1,#63H ACALL DELAY1 AJMP INT0SUBBACK0: RETI ;=INT1(回答时间R2调整程序)=INT1SUB:MOV A,R2 MOV B,#0AH DIV ABMOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.4,INC1 JNB P3.5,DEC1 JNB P

30、3.1,BACK1 AJMP INT1SUBINC1: MOV A,R2 CJNE A,#63H,ADD1 MOV R2,#00H ACALL DELAY1AJMP 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 ;=倒计时程序(抢答倒计时和回答倒计时都跳到改程序)=REPEAT:MOV A,R2 ;使用锦囊时重新计时 MOV R6

31、,A CLR RING 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

32、中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 P3.1,QUIT;如按下停止键退出 JNB OK,CHECKK ;只在回答倒计时才有效 AJMP NEXTTCHECKK

33、:JNB P3.0,REPEAT ;判断是否使用锦囊NEXTT: ACALL DISPLAY JB OK,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用) AJMP RECOUNTACCOUT: MOV A,36H JNB ACC.0,TRUE1 JNB ACC.1,TRUE2 JNB ACC.2,TRUE3 JNB ACC.3,TRUE4 JNB ACC.4,TRUE5 JNB ACC.5,TRUE6 JNB ACC.6,TZ1 JNB ACC.7,TZ2 AJMP RECOUNT TZ1:JMP TRUE7 TZ2:JMP TRUE8 QUIT:

34、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 COUNTTRUE3:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#03H CLR OK AJMP COUNTTRUE4:ACALL BARK MOV A,R

35、2 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 R3,#07H CLR OK AJMP COUNTTRUE8:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#08H CLR OK AJMP COUNT;=犯

36、规抢答程序=ERROR: MOV R0,#00H MOV TH1,#3CH MOV TL1,#0B0H MOV 34H,R3;犯规号数暂存与(34H)HERE: MOV A,R0 CJNE A,#06H,FLASH;0.3s向下运行-灭并停响 CLR RING MOV R3,#0AH MOV R4,#0AH MOV R5,#0AH;三灯全灭 AJMP CHECK1FLASH: CJNE A,#0CH,CHECK1;下面是0.8s的情况,响并显示号数并清R0,重新计 SETB RING MOV R0,#00H MOV R3,34H;取回号数 MOV R5,#0BH MOV R4,#0BH;显示F

37、F和号数 AJMP CHECK1CHECK1: JNB P3.1,QUIT1 ACALL DISPLAY AJMP HEREQUIT1: CLR RING CLR OK AJMP START;=显示程序=DISPLAY:MOV DPTR,#DAT1;查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出, MOV A,R3 MOVC A,A+DPTR MOV P2,#0feH MOV P0,A ACALL DELAY2 MOV DPTR,#DAT2 MOV A,R5 MOVC A,A+DPTR MOV P2,#0fdH MOV P0,A ACALL DELAY2 MOV A,R4 MO

38、VC A,A+DPTR MOV P2,#0fbH MOV P0,A ACALL DELAY2 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,07h,7fh,6fh,00H,71H;第一个为零,其他与上相同,因为十位如果为零显示熄灭;=加减时间延时(起到不会按下就加N个数)=DELAY1: MOV 35H,#08HLOOP0: ACALL DISPLAY DJNZ 35H,LOOP0 RET;=延时4236个机器周期(去抖动用到)=DELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1 DJNZ 32H,LOOP RET;=延时4236个机器周期(显示用到)=DELAY2: MOV 32H,#43HLOOP3: MOV 33H,#1EH MOV A,R7 ;每隔6070个机器周期读一次P1口,全为1时为无效数据,继续读,有一个不为1时,转到正常抢答处理 JNZ AAAA1 ;没读到有效数据时继续转到AAAA1 LOOP2: DJNZ 33H,LOOP2 DJNZ 32H,LOOP3

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号