单片机控制的倒计时显示器(四)
 B ET0   ;定时0允许中断
     SETB TR0   ;开定时器0
     SETB ET1   ;定时1允许中断
     MOV R1,#14H;设置循环20次
     MOV 30H,#05H;赋显示值
     MOV 31H,#00H
     MOV P2,#0FEH;设位显初位
     MOV DPTR,#TAB;查表
     CLR F0         ;用户标志位清零
MAIN1:MOV A,30H    ;
     CJNE A,#00H,Q1  ;判30H=0?
     MOV A,31H
     CJNE A,#00H,Q1  ;判31H=0?
     CLR F0    ;30H、31H=0,F0清零
     CPL P1.0   ;继电器得电
     AJMP Q2  
Q1:MOV P1,#0FFH ;使继电器失电
Q2:JB P3.6,L3    ;判有无启动
     ACALL LOOP
     JB P3.6,L3  ;
     ACALL LOOP
     JB P3.6,L3
     ACALL LOOP
L0:JNB P3.6,L0
     CPL F0    ;用户标志位取反
L3:JB F0,L1   ;判F0=1?
     CLR TR1   ;关定时1
     JB P3.7,MAIN1;判增量键无按下
     ACALL LOOP
     JB P3.7,MAIN1
     ACALL LOOP
 L2:JNB P3. 7,L2
     CLR C
     MOV A,30H
     INC A     ;(30H)+1
     DA A
     MOV 30H,A
     MOV A,30H
     CJNE A,#99H,L3;判(30H)=99?
     MOV A,31H
     CLR C
     INC A       ;(31H)+1
     DA A
     MOV 31H,A
     AJMP MAIN1    
  L1:SETB TR1   ;开定时器1
     AJMP MAIN1
  LT0:JB P2.0,LT1  ;判是否显示个位
     MOV A,30H 
     ANL A,#0FH ;屏蔽十位
     MOVC A,@A+DPTR
     MOV P0,A   ;段显
     AJMP LT6
  LT1:JB P2.1,LT2 ;判是否显示十位
     MOV A,30H
     SWAP A    ;高低字节转换
     ANL A,#0FH;
     MOVC A,@A+DPTR
     MOV P0,A  ;段显
     AJMP LT6
  LT2:JB P2.2,LT3 ;判是否显示百位
     MOV A,31H
     ANL A,#0FH
     MOVC A,@A+DPTR
     MOV P0,A
     AJMP LT6
  LT3:JB P2.3,LT6  ;判是否显示千位
     MOV A,31H
     SWAP A
     ANL A,#0FH
     MOVC A,@A+DPTR
     MOV P0,A
     MOV A,31H
  LT6:MOV A,P2
    RL A
    MOV P2,A
    JB P2.4,L   ;判有无显示超位
   
单片机控制的倒计时显示器(四)由毕业论文网(www.huoyuandh.com)会员上传。


