用移位方式实现流水灯
扫描二维码
随时随地手机看文章
org 00h ;程序上电从00h开始
ajmp main ;跳转到主程序
org 0030h ;主程序起始地址
main:
mov a,#0feh ;给A赋值成11111110
mov r0,#8
loop:
mov p0,a ;将A送到P1口,发光二极管低电平点亮
; mov p2,a
lcall delay ;调用延时子程序
rl a ;累加器A循环左移一位
djnz r0,loop
mov p0,#0ffh
mov a,#7fh
mov r0,#8
loop1:
mov p2,a ;将A送到P1口,发光二极管低电平点亮
; mov p2,a
lcall delay ;调用延时子程序
rr a ;累加器A循环左移一位
djnz r0,loop1
mov p2,#0ffh
ajmp main ;重新送P1显示
delay:
mov r3,#10 ;最外层循环二十次
d1:
mov r4,#80 ;次外层循环八十次
d2:
mov r5,#250 ;最内层循环250次
djnz r5,$ ;总共延时2us*250*80*20=0.8S
djnz r4,d2
djnz r3,d1
ret
end