- 脉冲信号输入进2级74LS14整形
T1接收脉冲信号并计数,显示在LED - 外部中断0控制计数器的启动/停止
外部中断1控制计数器的清零复位 - P1.0控制LED的段选口使能信号
P1.1控制LED的位选口使能信号
ORG 0000H LJMP INIT ORG 0003H //外部中断0 LJMP INT0SUB ORG 0013H //外部中断1 LJMP INT1SUB ORG 0100H INIT: CLR P1.0 //控制端复位 CLR P1.1 MOV DPTR,#TABLE //指向表头 MOV R0,#03H //循环次数 MOV R1,#7FH //位选信号 MOV TMOD,#50H //工作模式 MOV TL1,#00H //初始化 SETB EA //启动总中断 SETB EX0 //启动外部中断0 SETB EX1 //启动外部中断1 SETB TR1 //启动计数器1 TRANS: SETB TR1 //启动计数器1 MOV A,TL1 //16进制转10进制 MOV B,#10 DIV AB MOV 40H,B //个位 MOV B,#10 DIV AB MOV 41H,B //十位 MOV 42H,A //百位 MAIN: MOV A,R1 //位选信号 MOV P0,A //输出位信号 SETB P1.1 //上升沿 CLR P1.1 MOV A,40H //段选信号 MOVC A,@A+DPTR MOV P0,A //输出段信号 SETB P1.0 //上升沿 CLR P1.0 MOV 40H,41H //改变段选信号 MOV 41H,42H MOV A,R1 RR A //位选右移 MOV R1,A LCALL DELAY //延时1ms DJNZ R0,MAIN //循环3次 MOV R0,#03H //循环次数复位 MOV R1,#7FH //位选信号复位 SJMP TRANS INT0SUB:CLR TR1 //启动/停止 RETI INT1SUB:MOV TL1,#00H //清0 RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH //段选表 DELAY: MOV 30H,#2 //延时1ms MOV 31H,#234 NEXT: DJNZ 31H,NEXT DJNZ 30H,NEXT RET END
注:本例程只编写了TL1值的显示,上限255
(显示TH1或其他位的值同理,增加段选信号存放区域即可)



