正反流水燈實驗
——
;*******************************************************************
;* Date : 2004.4.20 *
;* Support Mb: 0735-2197559 E-mail:c51cn@163.com *
;* Create by :鄧德武 http://www.c51.cn 更多例程請登陸網(wǎng)站 *
;* 網(wǎng)站單片機學習資料同步更新,敬請新老朋友隨時關(guān)注 *
;*******************************************************************
org 0000h;加
sjmp ddw;加
ORG 0030H ;程序由地址30開始
DDW: MOV SP,#60H ;設(shè)置堆棧指針到RAM地址60H
LOOP: ;循環(huán)
CLR C ;進位標志清除
MOV A,11111111B ;加載初值使LED全部熄滅
MOV R4,#8 ;左移計數(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 ;右移計數(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: ;延時子程序0.5
MOV R6,#50
S1: MOV R7,#100
DJNZ R7,$
DJNZ R6,S1
DJNZ R5,DELAY
RET
END
評論