单片机课程设计四路抢答器设计(16)
发布时间:2021-06-05
发布时间:2021-06-05
单片机课程设计四路抢答器设计
MOV TL1,#0B0H; 50ms为一次溢出中断 SETB EA SETB ET0 SETB ET1 SETB EX0
SETB EX1; 允许四个中断,T0/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 P1.0,NEXT ACALL DELAY
JB P1.0,NEXT;去抖动,如果"开始键"按下就向下执行,否者跳到非法抢答查询
ACALL BARK;按键发声 MOV A,R1
MOV R6,A; 送R1->R6,因为R1中保存了抢答时间
SETB OK; 抢答标志位,用于COUNT只程序中判断是否查询抢答 MOV R3,0AH; 抢答只显示计时,灭号数
AJMP COUNT;进入倒计时程序,"查询有效抢答的程序"在COUNT里面
NEXT: JNB P1.1,FALSE1 JNB P1.2,FALSE2