八路抢答器 程序.docVIP

  • 33
  • 0
  • 约5.62千字
  • 约 11页
  • 2017-12-10 发布于河南
  • 举报
八路抢答器 程序

OK EQU 20H;抢答开始标志位 RING EQU 22H;铃声标志位 ORG 0000H AJMP MAIN ORG 00003H AJMP INT0SUB ORG 000BH AJMP TOINT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040H MAIN: MOV R1,#3O;初设抢答时间30S MOV R2,#60;初设答题时间60S MOV TMOD,#11H;设置未定时器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH;越高发生频率越高、越尖 MOV TH1,#3CH MOV TL1,#0B0H;5Oms为一次溢出中断 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1;允许四个中断TO、T1、INT0、INT1 CLR OK CLR RING SETB TR1 SETB TR0;开始就运行定时器,以开始显示FFF,如果想要重新计数,重置TH1/TL1就可以了; =====查询程序====== START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY;未开始抢答时显示FFF JB P3.0,NEXT; ACALL DELAY JB P3.0,NEXT;去抖动,如果“开始键”按下就向下执行,否则跳到非法抢答查询 ACALL BARK;按键发声 MOV A,R1 MOV R6,A;送R1到R6,因为R1中保存了抢答时间 SETB OK;抢答标志位,用于COUNT子程序中判断是否查询抢答 MOV R7,#01H;读抢答键数据信号标志,这里表示只读一次有用信号 MOV R3,#0AH;抢答只显示计时,灭号数 AJMP COUNT;进入倒计时程序,“查询有效抢答的程序”在COUNT里面 NEXT: JNB P1.0,FALSE1 JNB P1.1,FALSE2 JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5 JNB P1.5,FALSE6 JNB P1.6,FALSE7 JNB P1.7,FALSE8 AJMP START ;=======非法抢答处理程序======= FALSE1:MOV R3,#01H AJMP ERROR FALSE2:MOV R3,#02H AJMP ERROR FALSE3:MOV R3,#03H AJMP ERROR FALSE4:MOV R3,#04H AJMP ERROR FALSE5:MOV R3,#05H AJMP ERROR FALSE6:MOV R3,#06H AJMP ERROR FALSE7:MOV R3,#07H AJMP ERROR FALSE8:MOV R3,#08H AJMP ERROR ;======INTO(抢答时间R1调整程序)====== INT0SUB:MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY ;先在两个时间LED上显示R1 JNB P3.4,INC0 ;P3.4为加1s键,如果按下跳到INC0 JNB P3.5,DEC0 ;P3.5为减1s键,如果按下跳到DEC0 JNB P3.1,BACK0 ;P3.1为确定键,如果按下跳到BACK0 AJMP INT0SUB INC0:MOV A,R1 CJNE A,#63H,ADD0;如果不是99,R2加到99,R1就置0 重新加起 MOV R1,#00H ACALL DELAY1 AJMP INT0SUB ADD0:INC R1 ACALL DELAY1 AJMP INT0SUB DEC0:MOV A,R1 JZ SETR;如果R1为0,R1就置99 DEC R1 ACALL DELAY1 AJMP INT0SUB SETR1:MOV R1,#63H ACALL DELAY1 AJMP INT0SUB BACK0:RETI ;=======INT1(回答时间R2调整程序)========== INT1SUB:MOV A,R2 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.4,INC1 JNB P3.5,DEC1 JNB P3.1,BACK1 AJMP INT1SUB INC1:MOV A,R2 CJNE A,#63H,ADD1 MOV R2,#00H ACALL DELAY1 AJMP INT1SUB ADD1:INC R2 ACALL DELAY1 AJMP INT1SUB DEC1:

文档评论(0)

1亿VIP精品文档

相关文档