用DB在片内0040H开始放入几个数码管的十六进制数据,为什么累加器A读不出来其中的内容?
时间:10-02
整理:3721RD
点击:
ORG 0000H
MAIN:
MOV R0,#DATAB; 将DB存储的内容的首地址给R0,
MOV R1,#08H;
LOOP2:
MOV A,@R0; 把R0的内容放到累加器A中,
MOV P0,@R0;
MOV R2,#08H;
LOOP1:
MOV C,ACC.0;
MOV P3.4,C;
CLR P3.6;
NOP;
NOP;
SETB P3.6;
RR A;
DJNZ R2,LOOP1;
CLR P3.5;
NOP;
NOP;
SETB P3.5;
ACALL DELAY;
INC R0;
DJNZ R1,LOOP2;
LJMP MAIN;
DELAY:
MOV R3,#04H;
F3:MOV R4,0FFH;
F2:MOV R5,0FFH;
F1:DJNZ R5,F1;
DJNZ R4,F2;
DJNZ R3,F3;
RET;
ORG 0040H 片内地址
DATAB: DB 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H 存储内容
END
MAIN:
MOV R0,#DATAB; 将DB存储的内容的首地址给R0,
MOV R1,#08H;
LOOP2:
MOV A,@R0; 把R0的内容放到累加器A中,
MOV P0,@R0;
MOV R2,#08H;
LOOP1:
MOV C,ACC.0;
MOV P3.4,C;
CLR P3.6;
NOP;
NOP;
SETB P3.6;
RR A;
DJNZ R2,LOOP1;
CLR P3.5;
NOP;
NOP;
SETB P3.5;
ACALL DELAY;
INC R0;
DJNZ R1,LOOP2;
LJMP MAIN;
DELAY:
MOV R3,#04H;
F3:MOV R4,0FFH;
F2:MOV R5,0FFH;
F1:DJNZ R5,F1;
DJNZ R4,F2;
DJNZ R3,F3;
RET;
ORG 0040H 片内地址
DATAB: DB 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H 存储内容
END
注意看累加器A中什么也没有,地址0040后已经有内容

