51P0,P1左右移
扫描二维码
随时随地手机看文章
buf1 equ 30h
buf2 equ 31h
buf_b1 bit 00h
buf_b2 bit 01h
org 0000h
ajmpstart
org0030h
start:;
mov buf1,#0ffh
mov buf2,#0ffh
mov a,#00h
clr buf_b1;
clr buf_b2;
mov r2,#08h;循环八次。
loop:
mov a,buf1;
mov c,buf_b1;
rlc a;带进位左移。
mov p0,a;输出到P1口。
mov buf1,a;
mov buf_b1,c;
mov a,buf2 ;
mov c,buf_b2 ;
rrc a ;
mov p1,a ;
mov buf2,a
mov buf_b2,c
call delay;延时一段时间
djnz r2,loop;反复循环
mov r2,#07h;再往回循环。
loop1:
mov a,buf1;
mov c,buf_b1 ;
rrc a;带进位右移
mov p0,a ;
mov buf1,a ;
mov buf_b1,c ;
mov a,buf2;
mov c,buf_b2;
rlc a ;
mov p1,a;
mov buf2,a;
mov buf_b2,c;
call delay;延时一段时间
djnz r2,loop1;反复循环
jmp start;重新开始
delay:mov r3,#20;延时子程序
d1:mov r4,#20
d2:mov r5,#248
djnz r5,$
djnz r4,d2
djnz r3,d1
ret
end