八路数字抢答器
八路抢答器(CD4511实现)

显示锁存要求:
显示0时,LE为低电平, 不锁存 显示1~8时,LE为高电平, 锁存 通过abcdefg输出反馈
R8
100k
VD13
VD14
VT1
K9
GND
GND
a
1 0 1 1 0 1 0 1
b
1 1 1 1 1 0 0 1
c
1 1 0 1 1 1 1 1
d
1 0 1 1 0 1 1 0
e
1 0 1 0 0 0 1 0
R8
100k
VD13
VD14
VT1
K8
K9
GND
R1~R6/10K
出现何种状况?
GND
• 1、4、7按下后,裁判键按下不能复位。
• 1、4、7的复位需要关断电源开关后约20秒 少于20秒重新开电源时,仍显示147
• 2、3、5、6、8、0正常
• Key2按下,显示2;按下reset未松开的瞬间 • 1为VD13正极对地的电压,2为VD14正极对地的电压
g
选手按键输入
VD1~VD12
K1
R6
C1 100u GND IC 7 1 2 6 3 4 5
VCC
K2
K3 K4 K5 K6 K7
A B C D
LT BI LE
a b c d e f g
13 12 11 10 9 15 14
VCC
R7 2K2
R9~R15/300 7 6 4 2 1 9 10
LED a a b c f gb d e e c f d g
R8
100k
VD13
VD14
VT1
K8K9Biblioteka GNDR1~R6/10K
八路抢答器的工作原理

八路抢答器的工作原理
八路抢答器是一种电子竞赛或考试中常用的设备,它可以实现抢答功能。
其工作原理通常如下:
1. 光电转换:首先,每个参与者手中配有一个按钮或者类似的触发装置,当参与者准备抢答时,会按下按钮,触发开关。
2. 信号传输:按下按钮后,开关会产生一个电信号,这个信号会通过导线或者无线方式传输到抢答器的中控主机。
3. 中控主机接收信号:抢答器的中控主机会接收到参与者按下按钮所产生的信号。
这个主机通常是一个集成了电子设备的中央控制器,能够接收和处理多个信号。
4. 判定和显示:中控主机会根据接收到的信号,判断哪个参与者先按下按钮。
一般来说,中控主机会根据信号的到达时间先后来判定抢答顺序,并在显示屏上显示相应的抢答者编号。
5. 继电器操作:中控主机在判定完抢答顺序后,会通过一组继电器或者其他电子元件来操作抢答结果的显示。
通常,第一个按下按钮的参与者会被优先显示抢答成功。
总之,八路抢答器的工作原理主要是通过信号的传输、接收和处理来实现抢答者顺序的判定和结果的显示。
这种设备可以在公平、公正的基础上,提高比赛或考试的效率和准确性。
八路抢答器实验报告

八路抢答器实验报告1. 实验目的本实验旨在设计一套八路抢答器系统,用于小学生课堂上的互动问答环节。
通过实验,我们将验证八路抢答器的可行性和有效性,并对其进行功能测试和性能评估。
2. 实验材料本次实验所需材料包括:•八路抢答器主控板•八路抢答器按键模块•八路抢答器显示屏•电源适配器•连接线3. 实验步骤步骤一:组装抢答器系统1.将八路抢答器主控板与按键模块和显示屏连接,并确保连接稳固。
2.将电源适配器连接到八路抢答器主控板上。
步骤二:功能测试1.开启八路抢答器系统,确认显示屏、按键模块和主控板均正常工作。
2.对按键模块进行功能测试,检查每个按键是否能够触发正确的输出。
3.通过在显示屏上观察结果,验证抢答器系统是否能够正确显示选手的抢答顺序。
步骤三:性能评估1.设计一个简单的抢答比赛,设置多个选手进行抢答。
2.记录每个选手的抢答时间,并计算抢答器系统的平均响应时间。
3.对抢答器系统的稳定性进行测试,观察系统在高频率抢答情况下是否会出现延迟或崩溃。
4. 实验结果与分析经过实验,我们得出以下结果与分析:•功能测试中,八路抢答器主控板、按键模块和显示屏均正常工作,按键能够触发正确的输出。
•抢答器系统能够正确显示选手的抢答顺序,可以有效地在课堂互动问答环节使用。
•在性能评估中,抢答器系统的平均响应时间为X毫秒,符合设计要求。
•抢答器系统在高频率抢答情况下表现稳定,未出现延迟或崩溃的情况。
5. 结论通过本次实验,我们成功设计并测试了一套八路抢答器系统。
实验结果表明该系统具备可行性和有效性,并且在测试中表现良好。
该抢答器系统可以广泛应用于小学生课堂互动问答环节,提高课堂氛围和学生参与度。
6. 参考资料[1] 抢答器系统设计与应用研究,XXX学术期刊,20XX年。
八路抢答器实训报告八路抢答器的实训报告

八路抢答器实训报告八路抢答器的实训报告实训报告:八路抢答器一、实训目的及意义八路抢答器是一种利用电子技术与通信技术相结合的抢答系统,广泛应用于各类竞赛和考试中,旨在提高学生的抢答速度和竞争能力。
本次实训目的是通过设计与制作一个八路抢答器,加深对电子技术原理和电路设计的理解,并培养实践操作和团队协作能力。
二、实训内容和步骤1.熟悉八路抢答器的结构和原理:了解八路抢答器的核心部件、工作原理和相关电路设计;2.硬件电路设计与制作:根据设计要求,使用电路设计软件绘制八路抢答器电路图,并选择合适的电子元件进行实际的电路制作;3.软件程序编写与调试:掌握八路抢答器的控制程序设计思路,使用合适的编程软件编写控制程序,并进行调试和功能测试;4.装配与调试:根据电路设计和软件程序,对八路抢答器进行组装和调试,确保其正常工作和各功能能够正常实现;5.实训总结与展示:撰写实训报告,总结实训过程中的收获和问题,并进行实训成果的展示与分享。
三、实训过程及方法1. 硬件电路设计:根据八路抢答器的要求和原理,使用电路设计软件(如Altium Designer)进行电路图的绘制,包括电源电路、显示电路、输入电路等。
2.元件采购与电路制作:根据设计所需的元件清单,进行元件的采购,并使用焊接工具对电路板进行组装;确保电路板连接正确,元件安装牢固。
3. 软件程序编写:根据硬件设计的电路和控制要求,使用合适的编程软件(如Arduino)编写相应的控制程序,实现相应功能,如抢答按钮的识别、积分统计等。
4.硬件与软件的结合与测试:将软件程序烧录到控制器芯片上,并与硬件电路连接,进行功能测试与调试,确保各模块按照设计要求正常工作。
5.实训展示:将制作好的八路抢答器进行整机测试,表演抢答竞赛等,展示其功能和性能,并与其他同学分享经验和心得。
四、实训结果与体会通过本次实训,我们小组成功设计与制作了一个功能完整的八路抢答器。
在实训过程中,我们充分发挥了团队协作和沟通的重要性,大家分工合作,共同攻克了各种问题,提高了实践操作能力和解决实际问题的能力。
八路抢答器

LED数码显示电路
抢 答 信 号 编 码
检查图中是否存在错误?同时在进行电路装配时。注意图中LED 数码管的引脚排列顺序,如果引脚顺序弄错,将导致LED数码管 显示错误或者为乱码。
由555定时器组成的多谐振荡器
电路原理图
仿真元件列表
1N4148 稳压二极管
7SEG-COM-CAT-BLUE
555 4511
八路抢答器
系统主要功能简介
1. 可同时供8名选手参加比赛,其相应的编码分别是0、1、2 、3、4、5、6、7,各用一个抢答按钮,按钮的编号与选手的 编号相对应。 2. 给主持人设置一个控制开关,用来控制系统的清零(编号 显示数码管灭灯)和抢答的开始。 3. 抢答器具有数据锁存和显示的功能。抢答开始后,若有 选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出 选手的编号。
x 0 1 1 1 1 1 1 1 1 1
x X 1 0 0 0 0 0 0 0 0
Vcc f
g a b c d e
CD4511
B C LT BI LE D A GND
1
1
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
8
9
LED数码显示电路设计
思考:依据CD4511的真值表和共阴LED数码管,如何设计数码管显示电路?
Vcc fபைடு நூலகம்g a b c d e
CD4511
B
C
LT BI LE D
A GND
LT:3脚是测试输入端。当BI=1,LT=0 时,译码输出全为1,不管输入DCBA状态 如何,七段均发亮,显示“8”。如果该端为低电平,则译码器输出全为高电平, 该端拥有最高级别权限,只要它为0,既有上述现象,而与其余所有输入端状态无 关。这一功能主要用于测试目的,因此正常使用中应接高电平。 LE:5脚是锁定控制端。当BI、LT为1时,若该端为高电平,则加在A、B、C、D 端的外部编码信息不能进入译码,所以译码器的输出状态保持不变;当LE=0时, 则A、B、C、D端的BCD码一经改变,译码器就立即输出新的译码值。
八路抢答器原理

八路抢答器原理八路抢答器是一种用于教学、培训和考试等场合的电子设备,它能够实现多人同时抢答、自动计分等功能。
那么,八路抢答器的原理是什么呢?下面就让我们来详细了解一下。
首先,八路抢答器由主机和多个抢答器组成。
主机通过无线信号与抢答器进行通讯,实现信息的传输和控制。
而抢答器则是参与者手中的设备,用于进行抢答和答题。
其次,八路抢答器的工作原理是基于无线通讯技术的。
主机和抢答器之间通过预先设定的无线频率进行通讯,主机发送问题信号,抢答器接收并发送答案信号,主机再进行答案的判断和计分。
这种无线通讯技术使得抢答器可以实现多人同时抢答的功能,大大提高了教学和考试的效率。
另外,八路抢答器还采用了微电脑控制技术。
主机内置微处理器,能够实现对抢答器的控制和答题数据的处理。
抢答器内部也有微控制芯片,能够实现对信号的接收和发送,以及对按键操作的响应。
微电脑控制技术使得八路抢答器更加智能化,能够实现自动计分、答题时间统计等功能。
最后,八路抢答器的原理还涉及到电源管理技术。
主机和抢答器通常采用电池供电,因此需要对电源进行有效管理,以确保设备的稳定运行和长时间使用。
同时,为了节约能源和延长电池寿命,八路抢答器通常会采用低功耗设计,使得设备在保证性能的情况下能够尽可能地减少能耗。
综上所述,八路抢答器的原理主要包括无线通讯技术、微电脑控制技术和电源管理技术。
这些技术的应用使得八路抢答器成为一种功能强大、操作简便的教学和考试辅助设备,受到了广泛的应用和好评。
希望通过本文的介绍,能够帮助大家更加深入地了解八路抢答器的原理和工作方式。
八路数码抢答器课件

03
软件编程与实现
深入阐述了八路数码抢答器的软件编程方法,包括编程语言的选择、程
序结构的设计、功能的实现等,并提供了相应的代码示例和程序流程图。
课程收获与感悟
理论与实践相结合
通过本课程的学习,我深刻体会到了理论与实践相结合的重要性。只有将理论知识应用到实际项目中,才能真正掌握 和理解其中的精髓和要点。
设计思路与方案
01
02
03
需求分析
明确八路数码抢答器的功 能需求,包括抢答、显示、 复位等。
设计思路
根据需求,提出基于单片 机控制的八路数码抢答器 设计方案。
方案比较
对比不同设计方案,选择 最优方案进行实施。
硬件电路设计
控制器选择
选用合适的单片机作为控制器 ,如AT89C51等。
输入电路设计
设计八路输入电路,接收来自 八个按钮的抢答信号。
对未来学习的建议与展望
深入学习电子技术
为了更好地掌握八路数码抢答器的设计和实现技术,我建 议自己在未来继续深入学习电子技术相关知识,包括模拟 电路、数字电路、嵌入式系统等。
拓展应用领域
除了用于教学和竞赛外,八路数码抢答器还可以应用于其 他领域,如会议系统、智能家居等。因此,我希望在未来 能够拓展其应用领域,探索更多的可能性。
电源不稳定
可能是电源电路元件损坏或电源电压 过高/过低,可以更换电源电路元件 或调整电源电压。
05
八路数码抢答器的应用与拓展
抢答器在比赛中的应用
知识竞赛
体育比赛
在各类知识竞赛中,八路数码抢答器 能迅速、准确地判断出第一个按下按 钮的选手,确保比赛的公正性。
在体育比赛中,抢答器可用于起跑、 发令等环节,确保比赛的顺利进行。
八路数字显示抢答器

题目:八路数字显示抢答器功能要求1.抢答器同时供8名选手抢答,分别用8个按钮S0-S7表示,同时设置一个主持人开关控制系统的清除和开始。
2.电路具有优先锁存功能,选手按下开关,相应的编号被锁存,显示在数码管上,且所存的是第一个抢答选手的编号。
技术方案原理图如下:图-1 抢答模块原理图此部分电路主要完成的功能是实现8路选手抢答并进行锁存,同时有相应的数码显示。
使用优先编码器 74LS148 和锁存器 74LS297 来完成。
该电路主要完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号(显示电路采用七段数字数码显示管);二是禁止其他选手按键,其按键操作无效。
工作过程:开关S 置于"清除"端时,RS 触发器的 R 、S 端均为0,4 个触发器输出置0,使74LS148 的优先编码工作标志端等于 0,使之处于工作状态。
当开关S 置于"开始"时,抢答器处于等待工作状态,当有选手将抢答按键按下时(如按下S5),74LS148 的输出经RS 锁存后,LT=1,RBO =1, 七段显示电路74LS248 处于工作状态,4Q3Q2Q=101,经译码显示为“5”。
此外LT =1,使74LS148 优先编码工作标志端EI=1,处于禁止状态,封锁其他按键的输入。
当按键松开即按下时,74LS148 的 此时由于仍为LT =1,使优先编码工作标志端EI =1, 5 所以74LS148 仍处于禁止状态,确保不会出二次按键时输入信号,保证了抢答者的优先性。
只要有一组选手先按下抢答器,就会将编码器锁死,不再对其他组进行编码。
通过74LS248译码器使抢答组别数字显示0-7。
如有再次抢答需由主持人将S 开关重新置“清除”然后再进行下一轮抢答。
74LS148的输入端和输出端低电平有效。
~是输入信号,~为三位二进制编码输出信号,EI =1时,编码器禁止编码,当EI =0时,允许编码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章抢答器设计功能分析1.1 设计任务与要求基本要求:1.给主持人设置一个开关,用来控制系统的清零(编号显示数码管灭灯)和抢答器的开始。
2.抢答器具有数据锁存和显示的功能。
抢答开始后,若有选手按动抢答器按钮,编号立即锁存,并在LED数码上显示选手的编号,同时扬声器给出音响提示。
此外,要封锁输入电路,禁止其他选手抢答。
扩展要求:1.抢答器具有定时抢答的功能,且一次抢答的时间可以由主持人设定(如30秒)。
当节目主持人启动“开始”键后,要求定时器立即减计时,并用显示器显示,同时扬声器发出短暂的声响,声响持续时间0.5秒左右。
2.参加选手在设定的时间内抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系统清零为止。
3.如果定时抢答的时间已到,却没有选手抢答时,本次抢答无效,系统短暂报警,并封锁输入电路,禁止选手超时后抢答,时间显示器上显示00。
4.选手如果在主持人按开始键之前违规抢答,系统报警,LED显示违规选手号码和FF,直到主持人按下停止键。
第二章抢答器方案论证抢答器的实现方式有种多样,通过纯电子器件搭建电路实现,如优先编码器,锁存器,555定时器译码器等,纯电子器件实现没有软件参与,调试简单,但是它不易于扩展和修改,而且电路结构复杂,调试困难电子,电子器件管脚很多,实际搭建起来费时费力,焊接很容易出错。
于是,我想到了用单片机实现。
单片机体积小价格低,应用方便,稳定可靠。
单片机将很多任务交给了软件编程去实现,大大简化了外围硬件电路,使外围电路的实现简单方便。
由于单片机本身不具有软件编译测试的功能,我们需要借助其他软件编译,将编译好的程序“烧”入单片机内。
在实际电路设计中,需要先通过仿真软件测试电路以及编译的程序,检查外围电路设计是否合理,软件编译是否正确,以及软件和硬件电路能否正常配合工作,能否准确的实现所设计的功能。
如果测试通过,电路仿真没有问题能完全实现功能的话就可以实际的做板子的焊接工作了。
在老师的指导下我选择了常用的单片机仿真软件proteus7.0以及keil 进行仿真。
第三章硬件电路设计3.1总体设计根据抢答器的基本功能,可以设计出如下的单片机外围电路:图3-1 总体设计如图3-1,P3.0为开始抢答,P3.2为停止,P1.0-P1.7为八路抢答输入,数码管段选P0口,位选P2口低3位,蜂鸣器(用绿灯代替)输出为P3.6口。
P3.2为时间加1调整,P3.3为时间减1调整。
3.2 外部振荡电路图3-2 外部振荡电路一般选用石英晶体振荡器。
此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。
电路中两个电容 C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。
C1,C2的典型值为30PF。
3.3 复位电路的设计单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图4所示:图3-3 复位电路在方案中使用到了硬件复位和软件复位两种功能,由上面的硬件复位可使寄存器及存储器的值都恢复到初始值,而前面的功能提到了倒计时间需要有记忆功能,该功能实现的前提条件就是不能对单片机进行硬件复位,所以设定了软复位功能。
软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地址。
3.1.4 显示电路的设计显示电路使用了七段数码管7SEG-MPX4-CC,它是共阴极的,由高电平点亮。
图3-4 阴极七段数码管4.1.5按钮输入电路的设计抢答器的输入按钮使用常开开关,图3-5 抢答按键这些常开开关组成了抢答按键,硬件电路简单,在程序设计上也不复杂,只要在程序中消除在按键过程中产生的“毛刺”现象就可以了。
这里采用最常用的方法即延时法,其的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间(这里取10ms)后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。
3.1.6 发声这里能利用程序来控制单片机P3.6口线反复输出高电平或低电平,即在该口线上产生一定频率的矩形波,接上扬声器就能发出一定频率的声音,再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使扬声器发出不同的声音。
第四章系统软件设计4.1 程序系统结构图硬件电路确定后,软件的编程要与硬件相匹配,软硬件才能结合完成所要实现的功能。
由功能分析得到以下的软件结构图:图4-1 软件系统结构图4.2 程序流程图整个程序主要由定时器T0、定时器T1、外部中断0和主程序构成。
定时器T0用于使扬声器发声,当需要响铃时,把响铃标志位置一,每次中断都对P3.7取反,扬声器发声,改变定时器初值,可改变扬声器频率。
定时器程流图4-2 响铃程序流程图定时器T1用于倒计时,每次中断为50ms,当计数标志为20时即为一秒,显示数字减一。
其流程图如下:图4-3 倒计时中断流程图外部中断0用于调整倒计时时间,流程图如下:图4-4 调整抢答时间流程图主程序协调三个中断一起工作,实现抢答功能,其流程图如下:图4-5 主程序流程图附录:程序代码:P3.0为开始抢答,P3.1为停止,P1.0-P1.7为八路抢答输入,数码管段选P0口,位选P2的低三位口,蜂鸣器输出为P3.6口。
ORG 0000HAJMP MAINORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 001BHAJMP T1INTOK EQU 20H ; 抢答开始标志位RING EQU 22H ; 响铃标志位ORG 0040HMAIN: MOV R1,#0FH; 初设抢答时间为15sMOV R2,#0AH; 初设答题时间为10sMOV TMOD,#11H; 设置未定时器/模式1MOV TH0,#0F0HMOV TL0,#0FFH; 越高发声频率越高,越尖MOV TH1,#3CHMOV TL1,#0B0H; 50ms为一次溢出中断SETB EASETB ET0SETB ET1SETB EX0SETB EX1; 允许四个中断,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0; 一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了查询程序:START: MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL DISPLAY; 未开始抢答时候显示FFFJB P3.0,NEXTACALL DELAYJB P3.0,NEXT;去抖动,如果"开始键"按下就向下执行,否者跳到非法抢答查询 ACALL BARK;按键发声MOV A,R1MOV R6,A; 送R1->R6,因为R1中保存了抢答时间SETB OK; 抢答标志位,用于COUNT只程序中判断是否查询抢答MOV R3,#0AH; 抢答只显示计时,灭号数AJMP COUNT;进入倒计时程序,"查询有效抢答的程序"在COUNT里面NEXT: JNB P1.0,FALSE1JNB P1.1,FALSE2JNB P1.2,FALSE3JNB P1.3,FALSE4JNB P1.4,FALSE5JNB P1.5,FALSE6JNB P1.6,FALSE7JNB P1.7,FALSE8AJMP START非法抢答处理程序:FALSE1: ACALL BARK; 按键发声MOV R3,#01HAJMP ERRORFALSE2: ACALL BARKMOV R3,#02HAJMP ERRORFALSE3: ACALL BARKMOV R3,#03HAJMP ERRORFALSE4: ACALL BARKMOV R3,#04HAJMP ERRORFALSE5: ACALL BARKMOV R3,#05HAJMP ERRORFALSE6: ACALL BARKMOV R3,#06HAJMP ERRORFALSE7: ACALL BARKMOV R3,#07HAJMP ERRORFALSE8: ACALL BARKMOV R3,#08HAJMP ERROR倒计时程序(包括有效抢答程序):COUNT: MOV R0,#00H; 重置定时器中断次数 MOV TH1,#3CHMOV TL1,#0B0H;重置定时器RECOUNT: MOV A,R6; R6保存了倒计时的时间MOV B,#0AHDIV AB; 除十分出个位/十位MOV 30H,A; 十位存于(30H)MOV 31H,B; 个位存于(31H)MOV R5,30H ; 取十位MOV R4,31H ; 取个位MOV A,R6CLR CSUBB 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,R6JZ QUIT ; 计时完毕MOV R0,#00HDEC R6 ; 一秒标志减1AJMP CHECKLARGER: MOV A,R0CJNE A,#14H,CHECK ; 如果1s向下运行,否者跳到查"停/显示" DEC R6; 计时一秒R6自动减1MOV R0,#00HCHECK: JNB P3.1,QUIT; 如按下停止键退出ACALL DISPLAYJNB P1.0,TRUE1JNB P1.1,TRUE2JNB P1.2,TRUE3JNB P1.3,TRUE4JNB P1.4,TRUE5JNB P1.5,TRUE6JNB P1.6,TRUE7JNB P1.7,TRUE8AJMP RECOUNTQUIT: CLR OK ; 如果按下了"停止键"重新回到开始 CLR RINGACALL BARKAJMP START正常抢答处理程序:TRUE1: ACALL BARK; 按键发声MOV A,R2MOV R6,A; 抢答时间R2送R6MOV R3,#01HCLR OK;AJMP LOOP2TRUE2:ACALL BARK;MOV A,R2MOV R6,AMOV R3,#02HCLR OKAJMP LOOP2TRUE3:ACALL BARK;MOV A,R2MOV R6,ACLR OKAJMP LOOP2 TRUE4:ACALL BARK; MOV A,R2MOV R6,AMOV R3,#04H CLR OKAJMP LOOP2 TRUE5: ACALL BARK; MOV A,R2MOV R6,AMOV R3,#05H CLR OKAJMP LOOP2 TRUE6: ACALL BARK; MOV A,R2MOV R6,AMOV R3,#06H CLR OKAJMP LOOP2 TRUE7: ACALL BARK; MOV A,R2MOV R6,AMOV R3,#07H CLR OKAJMP LOOP2 TRUE8: ACALL BARK; MOV A,R2MOV R3,#08HCLR OKLOOP2: AJMP DISPLAY ;抢答后停止计时,等待返回SETB RINGJNB P3.1 QUITAJMP LOOP2犯规抢答程序:ERROR: SETB RING ;犯规响铃MOV R5,#0BHMOV R4,#0BH; 显示FF和犯规号数LOOP3: ACALL DISPLAYJNB P3.1 QUIT1; 等待“停止”键按下AJMP LOOP3QUIT1: CLR RINGCLR OKAJMP START显示程序:DISPLAY:MOV DPTR,#DAT1; 查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出MOV A,R5MOVC A,@A+DPTRMOV P2,#01HMOV P0,AACALL DELAYMOV DPTR,#DAT2MOV A,R4MOVC A,@A+DPTRMOV P2,#02HMOV P0,AACALL DELAYMOV A,R3MOVC A,@A+DPTRMOV P2,#04HMOV P0,AACALL DELAYRETDAT1:DB 00H,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ;"灭","1","2","3","4","5","6","7","8","9","灭","F"DAT2:DB 3FH, 06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H DELAY1: MOV 35H,#08HLOOP0: ACALL DISPLAYDJNZ 35H,LOOP0RET延时(显示和去抖动用到):DELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1DJNZ 32H,LOOPRET发声程序:BARK: SETB RINGACALL DELAY1ACALL DELAY1CLR RING; 按键发声RETINT0(抢答时间R1调整程序):INT0SUB:MOV A,R1MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAY;先在两个时间LED上显示R1JNB P3.2,INC0; P3.2为+1s键,如按下跳到INCOJNB P3.3,DEC0; P3.3为-1s键,如按下跳到DECOJNB P3.4,BACK0; P3.4为确定键,如按下跳到BACKOAJMP INT0SUBINC0: MOV A,R1CJNE A,#63H,ADD0; 如果不是99,R2加1,如果加到99了,R1就置0,重新加起MOV R1,#00HACALL DELAY1AJMP INT0SUBADD0: INC R1ACALL DELAY1AJMP INT0SUBDEC0: MOV A,R1JZ SETR1;如果R1为0, R1就置99,DEC R1ACALL DELAY1AJMP INT0SUBSETR1: MOV R1,#63HACALL DELAY1AJMP INT0SUBBACK0: RETITO溢出中断(响铃程序):T0INT:MOV TH0,#0ECHMOV TL0,#0FFHJNB RING,OUTCPL P3.6 ; RING标志位为1时候P3.6口不短取反使喇叭发出一定频率的声音OUT: RETIT1溢出中断(计时程序):T1INT: MOV TH1,#3CHMOV TL1,#0B0HINC R0RETIEND。