8051单片机实验装置中的扫描式数字显示部分如图所示,6个共阳极LED的段驱动由P2口经8路反相驱动器提供,位驱动由P1.5~P1.0口经6路同相驱动器提供。以下程序段,使用定时器TD产生2ms中断(时钟频率12MHz),将缓冲区40H~45H(对应LED从左到右)的低4位中的16进制数,转换成显示代码,在LED上扫描显示。
ORG 0000H
AJMP START
ORG 000BH
MOV TL0,# ① H ;定时器11D时间常数
MOV TH0,# ② H
MOV A.@R0
LCALL LDCODE
MOV P2, ③
MOV P1, ④
TNC R0
MOV A.R7
RR A
MOV R7.A
JNB ⑤ ,T0_2
MOV R0,#4OH
MOV R7,#20H
T0_2:RETI
START:MOV TMOD,# ⑥ H
MOV TL0,# ① H
MOV THO,# ② H
MOV R0,#40H
MOV R7,#20H
MOV IE,#82H
SETB ⑦
LOOP: SJMP LOOP
LDCODE: ANL A,#0FH
INC A
MOVC ⑧
RET
DB 3FH,06H,5BH,4FH,66H,……; 显示代码
①______;②______;③______;④______;
⑤______;⑥______;⑦______;⑧______。
附:有关特殊功能寄存器各位内容:
参考答案:①30 ②0F8 ③A ④R7 ⑤ACC.7 ⑥01 ⑦TR0 ⑧A,@A+PC