多路抢答器设计论文

上传人:jiups****uk12 文档编号:39412923 上传时间:2018-05-15 格式:DOC 页数:13 大小:367.50KB
返回 下载 相关 举报
多路抢答器设计论文_第1页
第1页 / 共13页
多路抢答器设计论文_第2页
第2页 / 共13页
多路抢答器设计论文_第3页
第3页 / 共13页
多路抢答器设计论文_第4页
第4页 / 共13页
多路抢答器设计论文_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《多路抢答器设计论文》由会员分享,可在线阅读,更多相关《多路抢答器设计论文(13页珍藏版)》请在金锄头文库上搜索。

1、多路抢答器的设计多路抢答器的设计姓名姓名 王海童王海童 学号学号 201103111029201103111029 专业专业 机械制造及自动化机械制造及自动化摘要本作品以 AT89S52 单片机作为主要模块、数码管做为显示模块。本抢答器 主要是通过八个按键开关来摸拟八路选手的抢答,开始键按下,则进入到八个 按键的扫描中,同时显数倒计时时间。同时该抢答器还有时间的加减、数据的 清零、八路选择手犯规报警功能;通过数码管来显示抢答的时间和抢答选手的 号数。本作品造价便宜,硬件比较简单,通俗易懂,趣味十足。 关键词:单片机, 抢答器,显示一、作品设计方案论证与比较1、主控部分的方案比较方案一:用以 A

2、T89S52 为核心的单片机控制方案,通过相应的程序,并通过按 键来进行电平识别,再由单片机输出相应的程序,并将相应数值通过数码来显 示,运用这个方案来实现题目的要求,其硬件电路的设计简单,编程并不是很 复杂,作品功能的调试只要稍微结合电路,修改一下相应程序即可。 方案二:采用数字电路实现输出电压的控制方案,用加减计数器,通过加减键 实现加计数或减计数,通过计数器的自动加减,锁存器的锁存显示等。用这种 方法来实现,其优点是不用编程,但其不足的之处是电路复杂,焊接工程量大, 一旦焊接错误,就会给检查硬件带来很大的麻烦,而且调试也相对麻烦。 通过比较发现,用单片机来制作的抢答器,硬件电路比较简单,

3、容易明白, 且成本相对较低;而用数电芯片来制作的抢答器,电路相对比较复杂, ,成本相 对较高。综合考滤,最终选择方案一。2、显示部份的比较设计方案一:采用 LCD1602 显示,用单片机可实现数据显示,显示内容较为丰 富,较为美观,但显示亮度和字体大小在演示时不尽人意,价格也比较昂贵, 且题目要求的显示内容也较少,只是倒计时的时间和相应的队号而以,所以没 有采用此方案。 方案二:采用 LED 七段数码管,采用三极管 9012 做为位码驱动,电路结构2简单,并且可以实现单片机 I/O 口的并用,显示效果直观,明亮,调试容易, 成本较低。故采用 LED 数码管显示。电路如下图 1-1 所示图 1-

4、1三、硬件电路设计本系统采用 AT89S52 单片机作为控制核心,对按键开关送来的信号进行分 析处理,最终控制数码管显示相应的数值。本系统主要的单元电路有单片机主 控电路、键盘控制电路、LED 显示电路模块等。1系统整体方案的设计通过对整个电路部分的比较设计,得出整体系统如图 1-2 所示。单片机主控 电路驱动电路LED 数码显示蜂鸣器报警指示键盘扫描电路3图 1-2 系统框图2单片机主控电路主控电路以单片机最小系统(电路图省略)为的接口电路部分,最小系统 图作为单片机主控电路工作的基础包括了时钟电路、复位电路等。主控电路中 P0 口控制驱动 LED 段码,P3 键盘扫描控制,P2 与 P0

5、部分接口分别用来作为开 始与关断的输入端口。四、软件的设计系统程序主流程图如图 1-3 所示。开始主控程序中断初始化调用键盘扫描P1.0 是否按 下?八路显手抢答 并调用显示NY犯规子程序 报警并显示五、调试与分析本次作品的调试是通过实验板供电和编写程序来调试的。首先,把编好的程4序,通过实验板稍入单片机中,在利用单片机放到我们的电路板里进行每项功 能的校验与调试,刚开始时我们的电路有些问题,经过修改电路后在重新调试 才出功能,需要每实现一个功能就并入另外一个功能,最后使它们完整的结合 在一起才算成功。 具体操作:1、接上五伏电源,观察数码管显示及报警状态。2、此时按下 P2.1,即可进行抢答

6、时间的设置,可加、可减。3、此时先不按下开始键,而是按下任意键,这时就可以获知犯 规的功能是否实现了,结果完全正确。4、然后再按下开始键,此时观察数码管显示倒计时是否正确, 还有按下选手键,这时数码管会显示相应的选手号,同时时间 停止。这个过程完全正确。综合各个测试合果,发现完全符合题目的要求,所以所有测试完全成功。六、设计制作总结通过一个多星期的努力,我们顺利的完成了抢答器的制作,成功的完了此 次实训,此次实训相对来说程序比较多,也有很多值得我们去学习的地方。从 作品的构思、用实验板的测试、对要制作板的构造、制作板、整体调试这是一 个比较复杂的过程,这是一次对我们的考验,这是给我们的一个锻炼

7、机会。我 们很珍惜此次实训,用心的去完成每个步骤,努力去达到所要得到的理想效果。 作品完成了,我感觉到我们的各方面的能力都上了一层,包括设置、编程、画 PCB 等等。 实训能促进我们的进步,能够使我们对学习本专业增加信心,锻炼了我们 各方面的能力。七、原理图5八 主程序清单 定时器 T1 时间初值 设 50ms 时间初值为 Z,Z 的计算方法为 (216- Z)12=1250103,结果 Z=15536D=3CB0H OK EQU 20H ;抢答开始标志位 RING EQU 22H ;响铃标志位 ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 00

8、0BH AJMP T0INT ORG 0013H6AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040H MAIN: MOV R1,#30 ;初设抢答时间为 30s MOV R2,#60 ;初设答题时间为 60s MOV TMOD,#11H ;设置定时器 T0/T1 模式 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/

9、INT1 CLR OK CLR RING SETB TR1 SETB TR0 ;一开始就运行定时器,以开始显示 FFF =查询程序= START: MOV R5,#0BHMOV R4,#0BHMOV R3,#0BH ACALL DISPLAY ;未开始抢答时候显示 FFF JB P3.0,NEXT;ddddddd ACALL DELAY JB P3.0,NEXT ACALL BARK ;按键发声 MOV A,R1 MOV R6,A ;送 R1-R6,因为 R1 中保存了抢答时间 SETB OK ;抢答标志位,用于 COUNT 只程序中判断是否查询抢答 MOV R3,#0AH ;抢答只显示计时,

10、灭号数 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,TZ1JNB P1.7,TZ2 AJMP START TZ1: JMP FALSE77TZ2: JMP FALSE8 =非法抢答处理程序= FALSE1: ACALL BARK; ; 按键发声 MOV R3,#01HAJMP ERROR FALSE2: ACALL BARK MOV R3,#02H

11、AJMP ERROR FALSE3: ACALL BARK MOV R3,#03HAJMP ERROR FALSE4: ACALL BARK MOV R3,#04HAJMP ERROR FALSE5: ACALL BARK MOV R3,#05HAJMP ERROR FALSE6: ACALL BARK MOV R3,#06HAJMP ERROR FALSE7: ACALL BARK MOV R3,#07HAJMP ERROR FALSE8: ACALL BARK MOV R3,#08H AJMP ERROR =INT0(抢答时间 R1 调整程序)= INT0SUB:MOV A,R1MOV B

12、,#0AHDIV ABMOV R5,AMOV 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 INT0SUB INC0: MOV A,R1 CJNE A,#63H,ADD0 ;如果不是 99,R2 加 1,如果加到 99,R1 就置 0,重新 加起。 MOV R1,#00H ACALL DELAY1 A

13、JMP INT0SUB8ADD0: 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,#63HACALL DELAY1AJMP INT0SUB BACK0: RETI =INT1(回答时间 R2 调整程序)= INT1SUB:MOV A,R2MOV B,#0AHDIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.4,INC1 JNB

14、P3.5,DEC1 JNB P3.1,BACK1 AJMP INT1SUB INC1: MOV A,R2CJNE A,#63H,ADD1MOV R2,#00HACALL DELAY1 AJMP INT1SUB ADD1: INC R2ACALL DELAY1AJMP INT1SUB DEC1: MOV A,R2JZ SETR2DEC R2ACALL DELAY1AJMP INT1SUB SETR2: MOV R2,#63HACALL DELAY1AJMP INT1SUB BACK1: RETI =倒计时程序(抢答倒计时和回答倒计时都跳到改程序)= COUNT: MOV R0,#00H ;重置定时器中 断次数9MOV TH1,#3CHMOV TL1,#0B0H ;重置定时器 RECOUNT:MOV A,R6;R6 保存了倒计时的时间,之前先将抢答时间或回答时间 给 R6MOV B,#0AHDIV AB ;除十分出个位/十 位MOV 30H,A ;十位存于(30H)MOV 31H,B ;个位存于(31H)MOV R5,30H

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号