?? 1.asm
字號:
ORG 0000H
JMP BEGIN
ORG 0030H
BEGIN: ANL TMOD, #0F0H
ORL TMOD, #00H ;由軟件控制的MODE0模式下的定時器0
CLR C ;C=0
MOV 30H, #8 ;設置右移次數
MOV A, #0FFH ;A=FFH,設定A中的初始值
NEXT1: RRC A ;循環右移一位
MOV P1, A ;輸出至P1
MOV 20H, #250 ;延時程序執行250次
CALL DELAY ;調用延時程序
DJNZ 30H, NEXT1
MOV 31H, #7 ;設置右移次數
NEXT2: MOV P1, A ;輸出至P1
RLC A ;循環左移一位
MOV 20H, #250 ;延時程序執行250次
CALL DELAY ;調用延時程序
DJNZ 31H, NEXT2 ;左移7次
JMP BEGIN
DELAY: SETB TR0 ;啟動計時器0,開始計時
MORE: MOV TH0 , #0A0H ; 初始計時值高8位設定
MOV TL0 , #00 ;初始計時值低5位設定
NEXT3: JBC TF0 , NEXT4 ;TF0是否為1,是則跳轉到NEXT3,并將TF0清0;否則執行下一條指令
JMP NEXT3 ;等待即使時間結束
NEXT4: DJNZ 20H , MORE ;延時時間是否結束,
CLR TR0 ;停止計時器0計時
RET
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -