满意答案
mkuuh
2014.01.05
采纳率:53% 等级:12
已帮助:4848人
不是C是汇编 不知道 你是不是需要 这个是原程序 自己改一下哈
;左移
star: mov r3,#8 ;设置流水位数
mov p0,#11111110b ;从p0.0开始
loop: acall d01s
mov a,p0 ;读取p0当前数据到acc
rl a ;左移一位
mov p0,a ;将左移的数据再送到p1
djnz r3,loop ;没有完成8位继续
;******************
mov p0,#0ffh ;熄灭所有灯
;******************
;右移
mov r3,#8 ;设置流水位数
mov p0,#01111111b ;从p0.7开始
loop1: acall d01s
mov a,p0 ;读取p0当前数据到acc
rr a ;右移一位
mov p0,a ;将左移的数据再送到p1
djnz r3,loop1 ;没有完成8位继续
ljmp star ;完成后返回到开始再来
;延时子程序
d01s: mov r0,#255
d01l1: mov r1,#198
djnz r1,$
djnz r0,d01l1
ret
end
00分享举报