|
mov r7,#8
main:mov r0,#8 ;一個(gè)循環(huán)需要移動(dòng)8位
mov p1,#01111111b ;初始為P0.7燈點(diǎn)亮
loop:
jnb p3.4,loop
acall ds1ms
jnb p3.4,loop
loop1:jb p3.4,loop1
clr p2.3
acall ds1ms ;延時(shí),以便人眼可以觀察到
setb p2.3
acall ds1ms
mov a,p1 ;讀P0口當(dāng)前顯示的數(shù)據(jù)送到A
rr a ;將A中的數(shù)據(jù)循環(huán)右移1位
mov p1,a ;再將A中右移過(guò)的數(shù)據(jù)送到P0
djnz r0,loop
djnz r7,main ;移動(dòng)不夠8位,跳到LOOP處循環(huán),
ljmp rel ;流動(dòng)1遍跳轉(zhuǎn)到MAIN處循環(huán)流。
;---顯示延時(shí)----------
ds1ms: mov r1,#2
ds1lo: mov r2,#20
ds2lo: mov r3,#200
djnz r3,$
djnz r2,ds2lo
djnz r1,ds1lo
ret ;延時(shí)返回
rel:end
|
|