Page 61 -
P. 61
RT3: CALL DELAY ;呼叫 0.2 秒延遲副程式
MOV A,R1
CLR C ;清除進位旗標
RLC A ;與進位旗標一起向左旋轉
JNC RT2 ;若進位旗標不為 0 則跳回再次執行
MOV A,#01H
MOV R1,A ;與埠 3 執行互斥或
XRL A,P3 ;輸出資料至埠 3
MOV P3,A ;呼叫 0.2 秒延遲副程式
CALL DELAY
MOV A,R1 ;清除進位旗標
CLR C ;與進位旗標一起向左旋轉
RLC A ;若進位旗標不為 0 則跳回再次執行
JNC RT3
JMP START ;延遲時間約為 R5*20 mS
DELAY: MOV R5,#10
D1: MOV R6,#40
D2: MOV R7,#249
R7,$
DJNZ R6,D2
DJNZ R5,D1
DJNZ
RET
END
程式 2 說明:以查表法,輸出 P0 到 P3 之走馬燈。
;
; 本程式以 P0 到 P3 為輸出(查表法運用)
;
; 應用指令:
; BD 虛指令用以定義資料
; 間接資料指標暫存器 DPTR 之設定與索引定指法應用
; 比較是否相等指令 CJNE,若不等則跳躍
; 暫存器累加 1 指令
;
; 動作: LED 逐一亮起後再逐一滅掉
; 說明: 利用間接資料指標暫存器 DPTR 讀取資料庫之資料並顯示在各輸出埠上