ORG 000H //定位,使程序放在0000H處
MOV P1,#0FFH //使P1口全為高電平,八個燈全滅
L034: MOV A,#0FEH //11111110B值送入A,只使P1.0為低電平
L033: MOV P1,A //將A值送出P1口,只有D1亮
LCALL SE19 //調用延時子程序(決定每個燈亮的時間長度)
// {可在此再次(或多次)加入“LCALL SE19”使亮的時間增加一倍}
RL A //左循環位移,為了下次只使D2亮(再下次就是D3……)
SJMP L033 //跳轉到L033處重新執行,使D1、D2、D3……D1輪流亮
//下面是延時程序,決定每調用一次延時多長時間
ORG 07A0H //定位,將下面的程序(延時程序段)放在07A0H處
SE19: MOV R6,#0A0H //更改#0A0H值
L036: MOV R7,#0FFH //或更改#0FFH值就可以改變其每次調用延時的時間
L035: DJNZ R7,L035
DJNZ R6,L036
RET
END |