基于51单片机的六路抢答器设计与制作(8)

2019-08-30 11:22

科技职业学院信息技术系 电子信息工程技术专业毕业设计

FULL: CJNE A,#14H,CHECK;下面系1s的情况,响并显示号数并清R0,重新计时 SETB RING MOV A,R6 JZ QUIT;计时完毕 MOV R0,#00H DEC R6;一秒标志减1 AJMP CHECK LARGER: MOV A,R0

CJNE A,#14H,CHECK;如果1s向下运行,否者跳到查\停/显示\ DEC R6;计时一秒R6自动减1 MOV R0,#00H

CHECK: JNB P1.7,QUIT;如按下停止键退出 ACALL DISPLAY

JB OK,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用)

AJMP RECOUNT ACCOUT: JNB P1.1,TRUE1 JNB P1.2,TRUE2 JNB P1.3,TRUE3 JNB P1.4,TRUE4 JNB P1.5,TRUE5 JNB P1.6,TRUE6 AJMP RECOUNT

QUIT: CLR OK;如果按下了\停止键\执行的程序 CLR RING AJMP START

;=====正常抢答处理程序===== TRUE1: ACALL BARK;按键发声 MOV A,R2

MOV R6,A;抢答时间R2送R6

32

科技职业学院信息技术系 电子信息工程技术专业毕业设计

MOV R3,#01H

CLR OK;因为答题的计时不再查询抢答,所以就锁了抢答 AJMP COUNT TRUE2:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#02H CLR OK AJMP COUNT TRUE3:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#03H CLR OK AJMP COUNT TRUE4:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#04H CLR OK AJMP COUNT TRUE5: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#05H CLR OK AJMP COUNT TRUE6: ACALL BARK; MOV A,R2 MOV R6,A

33

科技职业学院信息技术系 电子信息工程技术专业毕业设计

MOV R3,#06H 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 CHECK1

FLASH: CJNE A,#14H,CHECK1;下面系1s的情况,响并显示号数并清R0,重新计 SETB RING MOV R0,#00H MOV R3,34H;取回号数 MOV R5,#0BH

MOV R4,#0BH;显示FF和号数 AJMP CHECK1 CHECK1: JNB P1.7,QUIT1 ACALL DISPLAY AJMP HERE QUIT1: CLR RING CLR OK AJMP START ;=====显示程序=====

;入口参数:R5,R4,R3存入的分别为第一,二,三为数码所显示的位码

34

科技职业学院信息技术系 电子信息工程技术专业毕业设计

;出口参数:无

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 RET

DAT1: DB 00H,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ;\灭\灭\DAT2: DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ;第一个为零,其他与上相同,因为十位如果为零显示熄灭 ;====加减时间延时(起到不会按下就加N个数)====== DELAY1: MOV 35H,#08H LOOP0: ACALL DISPLAY DJNZ 35H,LOOP0 RET

;=====延时(显示和去抖动用到)=====

35

科技职业学院信息技术系 电子信息工程技术专业毕业设计

DELAY: MOV 32H,#12H LOOP: MOV 33H,#0AFH LOOP1: DJNZ 33H,LOOP1 DJNZ 32H,LOOP RET

;=====发声程序===== BARK: SETB RING ACALL DELAY1 ACALL DELAY1 CLR RING;按键发声 RET

;=====TO溢出中断(响铃程序)===== T0INT:MOV TH0,#0ECH MOV TL0,#0FFH JNB RING,OUT

CPL P3.6 ;RING标志位为1时候P3.6口不短取反使喇叭发出一定频率的声音

OUT:RETI

;=====T1溢出中断(计时程序)===== T1INT: MOV TH1,#3CH MOV TL1,#0B0H INC R0 RETI END

36

温州科技职业学院信息技术系 计算机应用技术(电子信息工程技术)专业毕业设计

附录二

仿真图

34


基于51单片机的六路抢答器设计与制作(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:区行政执法案卷评查工作总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: