正反流水燈實(shí)驗(yàn)
——
;*******************************************************************
;* Date : 2004.4.20 *
;* Support Mb: 0735-2197559 E-mail:c51cn@163.com *
;* Create by :鄧德武 http://www.c51.cn 更多例程請(qǐng)登陸網(wǎng)站 *
;* 網(wǎng)站單片機(jī)學(xué)習(xí)資料同步更新,敬請(qǐng)新老朋友隨時(shí)關(guān)注 *
;*******************************************************************
org 0000h;加
sjmp ddw;加
ORG 0030H ;程序由地址30開始
DDW: MOV SP,#60H ;設(shè)置堆棧指針到RAM地址60H
LOOP: ;循環(huán)
CLR C ;進(jìn)位標(biāo)志清除
MOV A,11111111B ;加載初值使LED全部熄滅
MOV R4,#8 ;左移計(jì)數(shù)值 移8次
LOOPL:
RLC A ;累加器內(nèi)含值左移一位
MOV P1,A ;由P1輸出
MOV R5,#50 ;延遲0.5S
CALL DELAY
DJNZ R4,LOOPL ;繼續(xù)左移
MOV R4,#8 ;右移計(jì)數(shù)值,移8位
LOOPR:
RRC A ;累加器內(nèi)含右移一位
MOV P1,A ;由P1輸出
MOV R5,#50 ;延遲0.5S
CALL DELAY
DJNZ R4,LOOPR ;繼續(xù)右移
JMP LOOP ;再執(zhí)行循環(huán)一次
DELAY: ;延時(shí)子程序0.5
MOV R6,#50
S1: MOV R7,#100
DJNZ R7,$
DJNZ R6,S1
DJNZ R5,DELAY
RET
END
評(píng)論