基于单片机竞赛抢答器系统设计
CLR OK
AJMP COUNT
TRUE8:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#08H CLR OK
AJMP COUNT
;=====犯规抢答程序===== 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 CHECK2
FLASH:CJNE A,#0CH,CHECK2;下面是0.8s的情况,响并显示号数并清R0 SETB RING MOV R0,#00H
MOV R3,34H;取回号数 MOV R5,#0BH
MOV R4,#0BH;显示FF和号数 AJMP CHECK2
CHECK2: JNB P3.1,QUIT1 ACALL DISPLAY AJMP HERE
QUIT1:CLR RING CLR OK AJMP MAIN
;====显示程序====
DISPLAY:MOV DPTR,#DAT1 MOV A,R3
MOVC A,@A+DPTR MOV P2,#0FEH
30
盐城工学院本科生毕业设计说明书( 2013)
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
MOVC A,@A+DPTR MOV P2,#0FBH MOV P0,A
ACALL DELAY2 RET
DAT1: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;第一个显示“0”
;====显示延时==== DELAY:MOV 35H,#08H DELAY3:ACALL DISPLAY DJNZ 35H,DELAY3 RET ;====去抖动(按键延时4236个机器周期)==== DELAY1:MOV 32H,#12H DELAY4:MOV 33H,#0AFH DELAY5:DJNZ 33H,DELAY5 DJNZ 32H,DELAY4 RET
;====显示延时(延时4236个机器周期)====
DELAY2:MOV 32H,#43H DELAY6:MOV 33H,#1EH
MOV A,R7;每隔60-70个机器周期读一次P1口,全1为无效,继续读,有一个不为1时,转到正常抢答处理
JNZ LOOP3;没读到有效数转到LOOP3继续循环
DELAY7:DJNZ 33H,DELAY7 DJNZ 32H,DELAY6 RET
31
基于单片机竞赛抢答器系统设计
LOOP3:MOV A,P1 CJNE A,#0FFH,LOOP5 LOOP4:MOV 36H,A AJMP DELAY7 LOOP5:DEC R7 AJMP LOOP4
;====发声程序==== BARK:SETB RING ACALL DELAY ACALL DELAY CLR RING
RET
;====T0溢出中断==== T00:MOV TH0,#0ECH MOV TL0,#0FFH JNB RING,OUT CPL P3.6 OUT:RETI
;====T1溢出中断==== T11:MOV TH1,#3CH MOV TL1,#0B0H INC R0 RETI END 32
附录2 设计图纸
附录2.1 抢答器原理图
盐城工学院本科生毕业设计说明书( 2013)
附图2-1 基于单片机竞赛抢答器设计原理图
33
日期2013.6.2图名系统原理图共 1 张审核图号A3第1张设计赵云枫课题基于单片机的竞赛抢答器系统设计名称盐 城 工 学 院专业学号0910603227自动化班级B自动化092姓名赵云枫比例1:1 基于单片机竞赛抢答器系统设计
附录2.2 PCB图
盐 城 工 学 院设计审核日期赵云枫班级B自动化092姓名赵云枫学号09106032271:1 1:1课题基于单片机的竞赛抢答器系比例统设计名称图号A4专业自动化PCB图共 1 张第1张2013.6.2图名附图2-2基于单片机竞赛抢答器系统设计PCB图
34