单片机抢答器课程设计_第1页
单片机抢答器课程设计_第2页
单片机抢答器课程设计_第3页
单片机抢答器课程设计_第4页
单片机抢答器课程设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、 单片机技术单片机技术课程设计说明书课程设计说明书 抢 答 器 院 、 部: 电气与信息工程学院 学生姓名: 梁泳柏 指导教师: 王 韧 职称 副教授 专 业: 自动化 班 级: 自本 1004 完成时间: 2013-1-4 摘 要抢答器是一种应用非常广泛的设备,在各种竞猜、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。现在大多数抢答器均使用单片机和数字集成电路,并增加了如选手号码显示、抢按器或抢按后的计时、选手得分显示功能。本设计是以五路抢答为基本理念。考虑到依需设定限时回答的功能,利用 AT89S52 单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时的原理,将软、硬

2、件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在 1-99s 设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后由主控强制复位。关键词关键词:抢答器 ;单片机;报警;显示;违规IABSTRACT Responder is a very wide range of equipment, in various quiz, answer occasions, it can

3、rapidly, objectively distinguish first to obtain the right to speak to the player. Now most responder using single-chip microcomputer and digital integrated circuit, and an increase in such as player number display, rob pressing device or robbery by the time after by, a score display function. This

4、design is five way contest as the basic concept. Considering the time-limited answer according to need to set the function, using AT89S52 MCU and peripheral interface of the answering system, the use of single-chip timer / counter timing principle, software and hardware combination, so that the syst

5、em can correctly time, while making the nixie tube able to correctly display the time. By switching the keyboard output, speakers in tips. At the same time the system can realize: the answer, only began after the responder is effective, if begin to answer answer answer before the time limit is inval

6、id; question and answer time in 1-99s set; can display which is effective and ineffective players answer answer keys, right after the music cue; answer time and answer questions of time down timing display, full by the main control forced reset.Keywords: Responder; single chip microcomputer; alarm;

7、display; illegal目 录1 设计课题任务、功能及工作原理 .11.1 设计课题任务.11.2 功能要求说明.11.3 设计课题总体方案介绍.11.4 工作原理说明.22抢答器硬件硬件系统的设计.32.1 硬件系统各模块功能.32.1.1 单片机的最小系统模块 .32.1.2 抢答器电路简介 .32.1.3 外部震荡电路 .32.1.4 复位电路 .32.1.5 数码管显示电路 .32.1.6 独立式键盘电路 .42.1.7 电源电路 .42.1.8 报警电路 .42.1.9 下载口电路 .42.2 电路原理图、PCB 图、元件布局图和实物图 .42.3 元器件清单.43 抢答器软

8、件系统的设计 .53.1 使用的单片机资源的情况.53.2 各模块功能简要介绍.53.3 程序的流程框图.53.4 程序清单.144 抢答器的设计结论、仿真结果和教学建议 .154.1 设计结论和使用说明.154.2 仿真结果.15 4.3 设计体会 .17 4.4 教学建议 .17结束语 .18致谢 .19参考文献 .20附录 .2101 设计课题任务、功能及工作原理1.1 设计课题任务按要求设计一个具有特定功能的抢答器,学生经过理论学习后,在实际中学会设计硬件电路和解决相应的实际问题,学会硬件和软件相结合,把理论与实际相结合,巩固单片机技术这门课程,提高设计能力和动手能力。为日后从事电子行

9、业打下良好的基础。本次课程设计本人设计了一个五路抢答器。1.2 功能要求说明设计一个具有特定功能的抢答器。该抢答器上电或按键复位后能自动显示系统提示符“P.” , 进入准备工作状态。主持人按下开始按钮后,抢答开始并限定时间30S;10S 内无人抢答,蜂鸣器发出音响;主持人按下开始按钮之前有人按下抢答器,抢答违规,显示器显示违规台号,违规指示灯亮,其它按钮不起作用;正常抢答,显示器显示台号,蜂鸣器发出音响,其它抢答按钮无效;正常抢答下,从按下抢答按钮开始 30S 内,答完按钮没按下,则作超时处理,超时处理时,违规指示灯亮,数码管显示违规台号。蜂鸣器发出音响;各台数字显示的消除,蜂鸣器音响及违规指

10、示灯的关断,都要通过主持人按复位按钮。1.3 设计课题总体方案介绍能够实现抢答器功能的方式有多种,可以采用前期的模拟电路、数字电路或模拟与数字电路相结合的方式。近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。另外,单片机的功能也相对较大,所以本设计采用的是单片机技术。设计中采用了 AT89S52 芯片、LED 显示器、蜂鸣器、LED 灯、电阻、三极管、开关和独立式按键构成一个简易五路抢答器。本设计中是采用单片机的内部定时器进行。整个抢答器由九个部分组成,通过这些模块相互协调工作,相成了一个具有特定功能的抢答器。该抢答器总体框图如图 1。1AT89S5

11、2复位电路独立式键盘电路外部震荡电路数码管显示电路LED灯显示电路报警电路电源电路下载口电路图 1 抢答器总体框图1.4 工作原理说明整个抢答器的工作原理是:在正常的供电状态下,开始抢答时利用单片机倒计时,并由单片机将所需要显示的数据送到 LED 显示器的输入口,当有键按下时则执行相应的键功能程序,并在数码管上显示相应数字和相应的 LED 灯亮。本电路中的52 单片机是控制的主体,起到识别按键,对数据做出相应的处理(复位,清零,锁存,报警等) 。而数码管主要显示倒计时与选手按键号码。报警时间的长短也可以通过编程调节。在整个实验中调节按键然后观察显示同步。22 抢答器硬件硬件系统的设计2.1 硬

12、件系统各模块功能2.1.1 单片机的最小系统模块包括低功耗,高性能 CMOS8 位微控制器 AT89S52,复位电路,晶振电路。本模块由 AT89S52 为控制核心,单片机系统复位有复位电路完成,复位电路采用上电复位和按键复位结合的方式对电路进行复位,主要通过 RST 引脚送入单片机。单片机最小系统为整个电路的核心。2.1.2 抢答器电路简介该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。如有再次抢答需由主持人将复位开关重新置,“清除”然后再进行下一次抢答。总电路图见附录 1。2.1.3 外部震荡电路 外部震荡电路单

13、片机必须在 AT89S52 的驱动下才能工作,在单片机内部有一个时钟震荡电路,只需要外接一个振荡器就能产生一定的时钟信号送到单片机内部的各个单元。2.1.4 复位电路外部中断和内部中断并存,单片机硬件复位端,只要持续 4 个机器周期的高电平即可实现复位,硬件复位后的各状态可知寄存器以及存储器的值都恢复到了初始值,因为本设计中功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位,只能用软件复位,软件复位实际上就是当程序执行完之后,将程序通过一条跳转指令让它完成复位。2.1.5 数码管显示电路数码管采用四位一体共阳型数码管显示器进行显示。由于位控线的驱动电流较大,因此在 P2 口线上接了 4

14、 个 PNP 型三极管提高驱动能力;在单片机的 P0 口线和P2 口线上接了 16 个 470 的电阻,起限流的作用。将段控口 a-dp 接在 P0.0-P0.7 上,3位控口接在 P2.0-P2.3 口线上,实现对现实的控制。LED 显示电路模块主要用来指示第一抢答者,显示倒计时和违规的台号,这就需要求助于对单片机 MCS-52 的程序控制。2.1.6 独立式键盘电路采用独立式键盘接法,共有 7 个按键来对电路进行控制。分别通过上拉电阻接在单片机的 P1 口线上。其中有五个按键为抢答按键(接在 P1.0-P1.4 口线上),开始键接在 P1.7 口线上,复位键接在 P1.6 口线上。2.1.

15、7 电源电路给单片机供电,为其各部分提供正常工作电压。2.1.8 报警电路驱动喇叭的信号为各种频率的脉冲。因此,最简单的喇叭驱动方式就是利用达林顿晶体管,或者以两个常用的小晶体管连接成达林顿架势。在图中电阻 R 为限流电阻,在此利用晶体管的高电流增益,以达到电路快速饱和的目的。不过,如果要由 P3.1 输出到此电路,还需要连接一个 10K 的上拉电阻。 选手在设定的时间内抢答时,实现:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止工作并禁止二次抢答。如果要再次抢答必须由主持人按清除和开始状态开关。其中 555 构成多谐振荡器,振荡频率fo143(RI2R2)C,其输出信号

16、经三极管推动扬声器。PR 为控制信号,当 PR 为高电平时,多谐振荡器工作,反之,电路停振。2.1.9 下载口电路往单片机导入程序的通道,也可以为单片机供电。2.2 电路原理图、PCB 图和元件布局图Proteus 原理图、PCB 图、元件布局图和实物图分别见附录 1、附录 2、附录 3附录 4 和附录 5。2.3 元器件清单元器件清单见附录 643 抢答器软件系统的设计3.1 使用的单片机资源的情况该抢答器用到了单片机的定时器的功能,定时器 0 和定时器 1 都采用工作方式1 并以查询方式工作;在数据的显示时采用的是查表的方法,因此需要将表格、数据存到单片机的程序存储器中去。本设计采用独立式

17、键盘,键盘直接接在 P1 口上且按键的结果存贮在单片机的内部数据存储器里面。用到的 LED 显示器接到了单片机的 P0 口线上和 P2 口线上。LED 指示灯和蜂鸣器接在 P3 口线上。 3.2 各模块功能简要介绍 该抢答器所用的软件模块有定时器模块、按键模块、LED 显示模块。(1)定时器模块选择定时器 0,设置定时器定时方式为方式 1 以查询方式工作,设置定时时间为 2mS。选择定时器 1,设置定时器定时方式为方式 1 以查询方式工作,设置定时时间为 1S。(2)按键模块采用独立式键盘,共用七个按键对电路进行控制和操作,分别为K1、K2、K3、K4、K5、K6、K7 来控制抢答器。K1、K

18、2、K3、K4、K5 代表选手;K7为开始键、K6 为复位键。(3)LED 显示模块 抢答器上电后显示 P.,按开始键开始抢答,显示器显示倒计时,若正常抢答则显示倒计时和台号,若为无效抢答则显示器显示违规台号。3.3 程序的流程框图(1)主干程序流程框图主干程序流程图如图 2 所示。5开始显示P.,并判断是否有人违规抢答开始抢答,并判断是否有人抢答违规抢答处理程序正常抢答处理程序数码管动态显示程序定时时间程序键盘扫描程序按键处理程序结束图 2 主程序流程框图6(2)P.显示程序流程框图 P.显示程序流程框图如图 3 所示。把0C送P0口开始把FE送P2口调键盘扫描程序判断是否有人违规抢答返回循

19、环结束初始化P1口和P3口图 3 P.显示程序流程框图7(3)开始抢答后程序流程框图开始键程序流程框图如图 4 所示。开始向R7送1设定倒计时时间设定循环次数调用数码管动态显示子程序调用键盘扫描子程序判断是否有人抢答倒数1S结束蜂鸣器发出声响判断30S倒计时是否结束判断是否倒数了10S判断是否循环结束NYYNYN图 4 开始键程序流程框图8(4)违规抢答处理程序流程框图违规抢答处理程序流程框图如图 5 所示。开始蜂鸣器发出声响违规指示灯亮显示违规台号调用延时程序延时返回循环结束图 5 违规抢答处理程序流程框图9(5)正常抢答处理程序流程框图正常抢答处理程序流程框图如图 6 所示。开始蜂鸣器发出

20、声响号台指示灯亮显示台号调用延时子程序延时蜂鸣器停止发声设定倒计时时间设定循环次数调用数码管动态显示子程序答完转向答完处理程序倒数1S答完后蜂鸣器发出声响答完指示灯亮显示器台号调用延时程序延时返回循环结束判断30S倒计时是否结束是否循环结束YNYN图 6 正常抢答处理程序流程框图10(6)数码管动态显示程序流程框图数码管动态显示程序流程框图如图 7 所示。开始结束停止显示台号调用延时程序延时显示数值送给A把10送给BA的内容除以B的内容保存商的值保存余数指针指向表格地止查表显示十位数值调用延时程序延时取消显示十位数值查表显示个位数值调用延时程序延时取消显示个位数值显示台号调用延时程序延时子程序

21、返回图 7 数码管动态显示程序流程框图11(7)键盘扫描程序流程框图键盘扫描程序流程框图如图 8 所示。开始调P1口数据处理子程序没有键按下,转返回调延迟子程序去抖动调P1口数据处理子程序没有键按下,转返回保存取反后的键值调P1口数据处理子程序判断键是否释放,释放则转恢复键值调延迟子程序去抖动返回等待键释放保存键值子程序返回结束图 8 键盘扫描程序流程框图12(8)按键处理程序流程框图按键处理程序流程框图如图 9 所示。开始向P1口写1读P1口数据结束P1口数据取反屏闭P1.5和P1.6位保存取反后的键值子程序返回图 9 按键处理程序流程框图13(9)定时程序流程框图定时程序流程框图如图 10

22、 所示。开始选择定时器工作方式给定时器设置初值关定时器中断开启定时器查询定时器溢出清定时器溢出标志关闭定时器子程序返回结束图 10 定时程序流程框图3.4程序清单见附录 7。144 抢答器的设计结论、仿真结果和教学建议4.1设计结论和使用说明(1)设计结论 通过对单片机进行外接键盘和 LED 数码管的操作以及加上硬件电路和软件的结合,实现了抢答器 P.显示以及抢答倒计时的显示,正常抢答时显示台号,抢答违规时显示违规台号、违规指示灯亮、蜂鸣器报警。通过测试和仿真以及修改,该抢答器完成了设计任务,符合设计要求。(2)使用说明该抢答器采用 1 个四位一体八段数码管显示。当抢答器一上电即可显示“P.”

23、,进入准备工作状态。按下 K7(开始键)键后,抢答开始并倒计时 30S;若 10S 内无人抢答,蜂鸣器发出警示音,若倒计时时间到仍无人抢答则返回显示 P.准备状态。若在 K7 键按下之前有人抢答,则显示器显示违规台号,违规指示灯亮,蜂鸣器发出警示音,只有按下复位键才能重新开始抢答。正常抢答下,显示器显示台号,蜂鸣器发出音响,其它抢答键无效;正常抢答下,从抢答键按下开始 30S 内,答完键没按下,则数码管显示器显示违规台号,违规指示灯亮,蜂鸣器发出音响。各台数字显示的消除、蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位键实现。4.2仿真结果在仿真时用到了两个软件,第一个是 Keil,第二个是

24、 Proteus,本次仿真是将两个软件结合起来进行的。运用 Keil 软件用来编译和调试程序,运用 Ptoteus 软件来仿真。Ptoteus 仿真电路原理图参见附录。抢答器上电时,仿真的数码管显示器显示如图 11 所示,当按下开始键时,显示器显示倒计时,此时数码管显示器的显示如图 12 所示,若在开始键按下之前有人抢答,数码管显示违规台号,违规指示灯亮,仿真图如图 13 所示。正常抢答时,数码管显示台号仿真图如图 14 所示。抢答超时时,数码管显示违规台号,违规指示灯亮,蜂鸣器发出音响,显示和违规抢答显示一样。15图 11 抢答器上电显示 P.图图 12 抢答器显示倒计时图图 13 抢答器正

25、常抢答图图 14 抢答器抢答违规图164.3设计体会本次课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。通过这次课程设计,我对单片机的知识有了进一步的学习。通过这次设计,本人在多方面都有所提高。通过这次设计,综合运用本专业所学课程的理论,设计工作的实际训练从而培养和提高学生独立工作能力,巩固所学的内容,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。在设计过程中遇到了很多问题,我都没有放弃,不明白的地方就及时查资料,问同学或是找老师帮忙。经过查阅有关方面的书籍,获取了很多专业方面的知识,拓展了视野,增

26、加了我实际动手能力。我所用的实物板子是自己设计的,由于以前已经做过几块板子了,因此在用Ptrtel 软件绘制电路原理图、画 PCB 图以及制版的过程中并没有遇到太大的困难。在进行程序编写时,虽然遇到了一点小小的问题,但是我通过 Keil 软件调试,最终将编写有误的程序修正过来。在进行编程时我用汇编语言和 C 语言各编写了一套。通过编写程序,我进一步熟悉了指令的运用。这次课程设计让我认识到,调试程序时必须具有良好的耐性,不能急躁,否则会事倍功半。在此感谢王教授,王教授严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次设计的每个实验细节和每

27、个结果,都离不开教授您的细心指导。4.4教学建议王教授学高为师,身正为范,不仅传授给了我们知识还教会了我们如何去做事做人。教学方面,王教授讲课深入浅出,讲解生动形象,有大师风范,尤其是王教授的课件课件重难点突出,讲解非常详细,而且还补充了一些很实用的书本上没有的知识。王老师将理论教学与实际操作相结合,让我们更深刻的掌握了知识,锻炼了动手能力。王教授对我们要求严格,亦师亦友,在此我只想提一个自己的拙见,希望王教授更多地启发我们的创造性思维。17结束语这次课程设计安排在临近期末,大家都忙着复习考试,而且还有课程布置有作业,另外还有几个实验,可以说这段时间是最忙的了。但是,既然选择了就要做好,而且我

28、们抽到的课题也是比较简单,所以我决定一定要把这次课程设计做好,而且接下来我们还有更多的课程设计,所以我觉得我应该把课程设计所涉及的知识要好好的学一遍,为今后的课程设计奠定基础。这次课程设计是完全要自己查阅资料、自学有关知识和相关软件,所以,通过本次课程设计,我懂得了单片机的基本原理,了解了单片机的各个部分电路的工作原理和相关作用,也学会了单片机的基本编程方法,经过这次课程设计,我学会了如何用单片机去控制抢答器,另外也懂得了如何设计一个用单片机控制的硬件电路。同时,本次设计用到了 protell 软件和 keil 软件,所以我们也学会了如何使用这两个软件,拓展了自己的知识面。这次课程设计完全是自

29、己查阅资料学习,自己动手操作,所以在本次设计结束后,觉得自己的动手能力和分析问题能力有了很大的提高。当遇到问题是积极向别人请教,同时也提高了自己的交流能力。18致谢本设计定位于本学科发展方向对单片机的编程及数字电路的应用进行研究,整个设计过程从开学至今日,进行了近几个月,岁过程艰辛但却得到一些有意义的结论。抢答器的出现已经很多年,并且种类很多。目前抢答器的功能是较为完善的,即智能化,可靠性高,速度快,工作稳定。本设计采用了部分智能化,在抢答时间方面还须改进,而且在准确性方面也有待于改进。本设计的进一步设计应该是无限时的答题时间控制且用单片机来完成。一个学期的单片机学习把理论知识和实验设计结合起

30、来,但这些理论知识远不能满足对单片机的应用的要求,这次设计给我们提供了一次很好的理论联系实际的机会,使得我们对单片机的功能以及应用有了更深刻的了解和认识。另外,程序设计是本次设计的一个难点,由于对指令的运用不够熟练使得在编程时屡屡碰壁。特别对于一些中断程序,因涉及到一些标志位而使得编程难度更高,虽然通过查资料以及同学老师的指导解决了这些问题,但编程方面的欠缺还是很大的,这为我以后的学习业敲响了警钟,在以后我应加强这方面的练习以提高自己。由于时间以及自己的能力有限,这次的设计中难免会有一些遗漏和不足,希望教授批评指正。为期一个学期的毕业设计也接近了尾声。此次课程设计的完成,凝聚着许多人的关怀和帮

31、助。首先要感谢我敬爱的指导教师王教授,他对我的学习严格要求,并耐心地教导激励我们积极进取,特别是平时做实验时的严格要求和耐心辅导,培养我们形成良好的科研作风,并培养了我们亲自动手的能力。我也曾听王教授讲中国古代文学。所有这些,让我受益匪浅。同时也要感谢在课程设计过程当中给我帮助和建议的同学,你们让我感受到了团队协作的力量,是你们给予我了激情和勇气让我坚持到底。再次真诚地感谢所有帮助过我的老师、同学和朋友!19参考文献1马忠梅,籍顺心,张凯,马岩.单片机的 C 语言应用程序设计M.北京:北京航空航天大学出版社,2006Ma Zhongmei,J, Zhang Kai, MaYan. MCU C

32、language program design M .beijing: Beijing aerospace university press, 20062李广弟,朱月秀,冷祖祁.单片机基础M.北京:北京航空航天大学出版社,2007 Li Guangdi, ZhuYuexiu, Leng Zuqi. Microcontroller M .beijing: Beijing university of aeronautics and press, 2007 3李光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版社,2004.9 Li Guangfei. This course design

33、example guide M .beijing: Beijing university of aeronautics and press, 2004.9 4邢增平.Protel 99 SE 设计专家指导M.北京:中国铁道出版社,2004 Xing Zengping. Protel 99 SE design expert guidance M .beijing: China railway publishing house, 200420附 录 121附 录 222附 录 323附 录 424附 录 525 附附 录录 6 6元器件及材料名称规格数目AT89S5240P1AT89S52 芯片插

34、座40P1四位一体共阳数码管2数码管单排插座(母)40P1晶振12MHz1发光二极管9单排插针(公)40P1三极管90129蜂鸣器1小按键9下载口座子十芯1六脚按键开关1Usb 电源线1Usb 电源线插座1电阻2001电阻1K3电阻47024电解电容22uf1瓷片电容33pf2排阻10k2短路冒2PCB 板子126附 录 7 汇编/*:项目名称: 抢答器设计者: 梁泳柏设计日期:2012 年 1 月 4 日*;功能要求:抢答器上电或按键复位后能自动显示系统提示符“P.” , 进入准备工作状态。主持人按下开始按钮后,抢答开始并 限定时间 30S;10S 内无人抢答,蜂鸣器发出音响;主持人 按下开

35、始按钮之前有人按下抢答器,抢答违规,显示器显 示违规台号,违规指示灯亮,其它按钮不起作用;正常抢 答,显示器显示台号,蜂鸣器发出音响,其它抢答按钮无 效;正常抢答下,从按下抢答按钮开始 30S 内,答完按钮 没按下,则作超时处理,超时处理时,违规指示灯亮,数 码管显示违规台号,蜂鸣器发出音响;各台数字显示的消 除,蜂鸣器音响及违规指示灯的关断,都要通过支持人按 复位按钮。违规指示灯使用接在 P3.0 上的 LED 灯答完指示灯使用接在 P3.2 上的 LED 灯*;LED 数码管显示器设定;P0.7-P0.0 段控线,接 LED 的显示段 dp,g,f,e,d,c,b,aP2.3-P2.0 位

36、控线,从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)*;独立式键盘设定;7 个按键 S2 至 S8 分别依次接在 P1.0 至 P1.7 口线*;键功能程序;K1 (S2 键键功能程序) 1 号选手K2 (S3 键键功能程序) 2 号选手K3 (S4 键键功能程序)3 号选手K4 (S5 键键功能程序) 4 号选手K5 (S6 键键功能程序) 5 号选手K6 (S7 键键功能程序) 复位键K7 (S8 键键功能程序)开始键* 27 ORG 0000H AJMP MAIN ORG 0100H /*P.显示*/ MAIN: MOV P0, #0CH MO

37、V P2, #0FEH /*显示 P.*/ MOV P1, #0FFH /*向 P1 口写 1*/ MOV P3, #0FFH /*向 P3 口写 1*/ LCALL KEY /*调用键盘扫描子程序*/ JB 20H.0, LOOP1 /*判断是否 1 号台违规抢答*/ JB 20H.1, LOOP2 /*判断是否 2 号台违规抢答*/ JB 20H.2, LOOP3 /*判断是否 3 号台违规抢答*/ JB 20H.3, LOOP4 /*判断是否 4 号台违规抢答*/ JB 20H.4, LOOP5 /*判断是否 5 号台违规抢答*/ JB 20H.7, LOOP0 /*判断是否开始抢答*/

38、 LJMP MAIN /*1 号台违规抢答*/ LOOP1: CLR P3.1 /*蜂鸣器发出声响*/ CLR P3.0 /*违规指示灯亮*/ MOV P0, #0F9H CLR P2.0 /*显示台号 1*/ LCALL TIME /*调用延时程序延时 2ms*/ LJMP LOOP1 /*返回循环*/ /*2 号台违规抢答*/ LOOP2: CLR P3.1 /*蜂鸣器发出声响*/ CLR P3.0 /*违规指示灯亮*/ MOV P0, #0A4H CLR P2.0 /*显示台号 2*/ LCALL TIME /*调用延时程序延时 2ms*/ LJMP LOOP2 /*返回循环*/ /*3

39、 号台违规抢答*/ LOOP3: CLR P3.1 /*蜂鸣器发出声响*/ CLR P3.0 /*违规指示灯亮*/ MOV P0, #0B0H CLR P2.0 /*显示台号 3*/ LCALL TIME /*调用延时程序延时 2ms*/ LJMP LOOP3 /*返回循环*/28 /*4 号台违规抢答*/ LOOP4: CLR P3.1 /*蜂鸣器发出声响*/ CLR P3.0 /*违规指示灯亮*/ MOV P0, #99H CLR P2.0 /*显示台号 4*/ LCALL TIME /*调用延时程序延时 2ms*/ LJMP LOOP4 /*返回循环*/ /*5 号台违规抢答*/ LOO

40、P5: CLR P3.1 /*蜂鸣器发出声响*/ CLR P3.0 /*违规指示灯亮*/ MOV P0, #92H CLR P2.0 /*显示台号 5*/ LCALL TIME /*调用延时程序延时 2ms*/ LJMP LOOP5 /*返回循环*/ /*开始抢答*/ LOOP0: MOV R7, #0FFH /*向 R7 送 1*/ MOV R2, #1EH /*设定倒计时为 30S*/ LOOP00: MOV R4, #7DH /*设定循环次数*/ LOOP01: LCALL DISP /*调用数码管动态显示子程序*/ LCALL KEY /*调用键盘扫描子程序*/ JB 20H.0, L

41、OOP05 /*判断是否 1 号台抢答*/ JB 20H.1, LOOP06 /*判断是否 2 号台抢答*/ JB 20H.2, LOOP07 /*判断是否 3 号台抢答*/ JB 20H.3, LOOP08 /*判断是否 4 号台抢答*/ JB 20H.4, LOOP09 /*判断是否 5 号台抢答*/ DJNZ R4, LOOP01 /*判断是否循环结束*/ DEC R2 /*倒数 1S*/ CJNE R2, #14H, LOOP03 /*判断是否倒数了 10S*/ CLR P3.1 /*倒数 10S 后蜂鸣器发出声响*/ LOOP03: CJNE R2, #00H, LOOP04 /*判

42、断 30S 倒计时是否结束*/ LJMP MAIN /*返回准备抢答状态*/ LOOP04: LJMP LOOP00 /*辅助跳转*/ LOOP05: LJMP LOOP11 /*辅助跳转*/ LOOP06: LJMP LOOP21 /*辅助跳转*/ LOOP07: LJMP LOOP31 /*辅助跳转*/ LOOP08: LJMP LOOP41 /*辅助跳转*/ LOOP09: LJMP LOOP51 /*辅助跳转*/ /*1 号台正常抢答*/ LOOP11: CLR P3.1 /*蜂鸣器发出声响*/29 CLR P3.7 /*1 号台指示灯亮*/ MOV R7, #0F9H MOV P0,

43、 R7 CLR P2.0 /*显示台号 1*/ LCALL TIME1 /*调用延时子程序延时 1S*/ SETB P3.1 /*蜂鸣器停止发声*/ MOV R2, #1EH /*设定倒计时为 30S*/ LOOP12: MOV R5, #7DH /*设定循环次数*/ LOOP13: LCALL DISP /*调用数码管动态显示子程序*/ JNB P1.0, LOOP10 /*判断是否答完*/ DJNZ R5, LOOP13 /*判断是否循环结束*/ DEC R2 /*倒数 1S*/ CJNE R2, #00H, LOOP14 /*判断 30S 倒计时是否结束*/ LJMP LOOP1 /*跳

44、回违规程序*/ LOOP14: LJMP LOOP12 /*跳回循环*/ LOOP10: CLR P3.1 /*答完后蜂鸣器发出声响*/ CLR P3.2 /*答完指示灯亮*/ MOV P0, #0F9H CLR P2.0 /*显示器台号 1*/ LCALL TIME /*调用延时程序延时 2ms*/ LJMP LOOP10 /*返回循环*/ /*2 号台正常抢答*/ LOOP21: CLR P3.1 /*蜂鸣器发出声响*/ CLR P3.6 /*2 号台指示灯亮*/ MOV R7, #0A4H MOV P0, R7 CLR P2.0 /*显示台号 2*/ LCALL TIME1 /*调用延时

45、子程序延时 1S*/ SETB P3.1 /*蜂鸣器停止发声*/ MOV R2, #1EH /*设定倒计时为 30S*/ LOOP22: MOV R5, #07DH /*设定循环次数*/ LOOP23: LCALL DISP /*调用数码管动态显示子程序*/ JNB P1.1, LOOP20 /*判断是否答完*/ DJNZ R5, LOOP23 /*判断是否循环结束*/ DEC R2 /*倒数 1S*/ CJNE R2, #00H, LOOP24 /*判断 30S 倒计时是否结束*/ LJMP LOOP2 /*跳回违规程序*/ LOOP24: LJMP LOOP22 /*跳回循环*/ LOOP

46、20: CLR P3.1 /*答完后蜂鸣器发出声响*/ CLR P3.2 /*答完指示灯亮*/ MOV P0, #0A4H CLR P2.0 /*显示器台号 2*/ LCALL TIME /*调用延时程序延时 2ms*/30 LJMP LOOP20 /*返回循环*/ /*3 号台正常抢答*/ LOOP31: CLR P3.1 /*蜂鸣器发出声响*/ CLR P3.5 /*3 号台指示灯亮*/ MOV R7, #0B0H MOV P0, R7 CLR P2.0 /*显示台号 3*/ LCALL TIME1 /*调用延时子程序延时 1S*/ SETB P3.1 /*蜂鸣器停止发声*/ MOV R2

47、, #1EH /*设定倒计时为 30S*/ LOOP32: MOV R5, #07DH /*设定循环次数*/ LOOP33: LCALL DISP /*调用数码管动态显示子程序*/ JNB P1.2, LOOP30 /*判断是否答完*/ DJNZ R5, LOOP33 /*判断是否循环结束*/ DEC R2 /*倒数 1S*/ CJNE R2, #00H, LOOP34 /*判断 30S 倒计时是否结束*/ LJMP LOOP3 /*跳回违规程序*/ LOOP34: LJMP LOOP32 /*跳回循环*/ LOOP30: CLR P3.1 /*答完后蜂鸣器发出声响*/ CLR P3.2 /*

48、答完指示灯亮*/ MOV P0, #0B0H CLR P2.0 /*显示器台号 3*/ LCALL TIME /*调用延时程序延时 2ms*/ LJMP LOOP30 /*返回循环*/ /*4 号台正常抢答*/ LOOP41: CLR P3.1 /*蜂鸣器发出声响*/ CLR P3.4 /*4 号台指示灯亮*/ MOV R7, #99H MOV P0, R7 CLR P2.0 /*显示台号 4*/ LCALL TIME1 /*调用延时子程序延时 1S*/ SETB P3.1 /*蜂鸣器停止发声*/ MOV R2, #1EH /*设定倒计时为 30S*/ LOOP42: MOV R5, #7DH

49、 /*设定循环次数*/ LOOP43: LCALL DISP /*调用数码管动态显示子程序*/ JNB P1.3, LOOP40 /*判断是否答完*/ DJNZ R5, LOOP43 /*判断是否循环结束*/ DEC R2 /*倒数 1S*/ CJNE R2, #00H, LOOP44 /*判断 30S 倒计时是否结束*/ LJMP LOOP4 /*跳回违规程序*/ LOOP44: LJMP LOOP42 /*跳回循环*/ LOOP40: CLR P3.1 /*答完后蜂鸣器发出声响*/31 CLR P3.2 /*答完指示灯亮*/ MOV P0, #99H CLR P2.0 /*显示器台号 4*

50、/ LCALL TIME /*调用延时程序延时 2ms*/ LJMP LOOP40 /*返回循环*/ /*5 号台正常抢答*/ LOOP51: CLR P3.1 /*蜂鸣器发出声响*/ CLR P3.3 /*5 号台指示灯亮*/ MOV R7, #92H MOV P0, R7 CLR P2.0 /*显示台号 4*/ LCALL TIME1 /*调用延时子程序延时 1S*/ SETB P3.1 /*蜂鸣器停止发声*/ MOV R2, #1EH /*设定倒计时为 30S*/ LOOP52: MOV R5, #7DH /*设定循环次数*/ LOOP53: LCALL DISP /*调用数码管动态显示子程序*/ JNB P1.4, LOOP50 /*判断是否答完*/ DJNZ R5, LOOP53 /*判断是否循环结束*/ DEC R2 /*倒数 1S*/ CJNE R2, #00H, LOOP54 /*判断 30S 倒计时是否结束*/ LJMP LOOP5 /*跳回违规程序*/ LOOP54: LJMP LOOP52 /*跳回循环*/ LOOP50: CLR P3.1 /*答完后蜂鸣器发出声响*/ CLR P3.2 /*答完指示

温馨提示

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

评论

0/150

提交评论