?? driverd2.asm
字號:
; 間接驅動驅動子程序由6個子程序組成(適應MGLS12864):
; 占用內部資源:COM,DAT1,A
; 占用系統資源:CSA,CSB,RS,RW,E1,DATBUS
; 程序輸入變量:COM 或 DAT1
; 1. 左區驅動子程序
; 1.1 寫指令代碼子程序(左)
PR1: CLR CSA ; 片選設置為"01"
SETB CSB ;
CLR RS ; RS=0
SETB RW ; R/W=1
PR11: MOV DATBUS,#0FFH ; DATBUS口置"1"
SETB E1 ; E=1
MOV A,DATBUS ; 讀狀態字
CLR E1 ; E=0
JB ACC.7,PR11 ; 判"忙"標志為"0"否, 否再讀
CLR RW ; R/W=0
MOV DATBUS,COM ; 寫指令代碼
SETB E1 ; E=1
CLR E1 ; E=0
RET
; 1.2 寫顯示數據子程序(左)
PR2: CLR CSA ; 片選設置為"01"
SETB CSB ;
CLR RS ; RS=0
SETB RW ; R/W=1
PR21: MOV DATBUS,#0FFH ; DATBUS口置"1"
SETB E1 ; E=1
MOV A,DATBUS ; 讀狀態字
CLR E1 ; E=0
JB ACC.7,PR21 ; 判"忙"標志為"0"否, 否再讀
SETB RS ; RS=1
CLR RW ; R/W=0
MOV DATBUS,DAT1 ; 寫數據
SETB E1 ; E=1
CLR E1 ; E=0
RET
; 1.3 讀顯示數據子程序(左)
PR3: CLR CSA ; 片選設置為"01"
SETB CSB ;
CLR RS ; RS=0
SETB RW ; R/W=1
PR31: MOV DATBUS,#0FFH ; DATBUS口置"1"
SETB E1 ; E=1
MOV A,DATBUS ; 讀狀態字
CLR E1 ; E=0
JB ACC.7,PR31 ; 判"忙"標志為"0"否, 否再讀
SETB RS ; RS=1
MOV DATBUS,#0FFH ; DATBUS口置"0"
SETB E1 ; E=1
MOV DAT1,DATBUS ; 讀數據
CLR E1 ; E=0
RET
; 2. 右區驅動子程序
; 2.1 寫指令代碼子程序(右)
PR4: SETB CSA ; 片選設置為"10"
CLR CSB ;
CLR RS ; RS=0
SETB RW ; R/W=1
PR41: MOV DATBUS,#0FFH ; DATBUS口置"1"
SETB E1 ; E=1
MOV A,DATBUS ; 讀狀態字
CLR E1 ; E=0
JB ACC.7,PR41 ; 判"忙"標志為"0"否, 否再讀
CLR RW ; R/W=0
MOV DATBUS,COM ; 寫指令代碼
SETB E1 ; E=1
CLR E1 ; E=0
RET
; 2.2 寫顯示數據子程序(右)
PR5: SETB CSA ; 片選設置為"10"
CLR CSB ;
CLR RS ; RS=0
SETB RW ; R/W=1
PR51: MOV DATBUS,#0FFH ; DATBUS口置"1"
SETB E1 ; E=1
MOV A,DATBUS ; 讀狀態字
CLR E1 ; E=0
JB ACC.7,PR51 ; 判"忙"標志為"0"否, 否再讀
SETB RS ; RS=1
CLR RW ; R/W=0
MOV DATBUS,DAT1 ; 寫數據
SETB E1 ; E=1
CLR E1 ; E=0
RET
; 2.3 讀顯示數據子程序(右)
PR6: SETB CSA ; 片選設置為"10"
CLR CSB ;
CLR RS ; RS=0
SETB RW ; R/W=1
PR61: MOV DATBUS,#0FFH ; DATBUS口置"1"
SETB E1 ; E=1
MOV A,DATBUS ; 讀狀態字
CLR E1 ; E=0
JB ACC.7,PR61 ; 判"忙"標志為"0"否, 否再讀
SETB RS ; RS=1
MOV DATBUS,#0FFH ; DATBUS口置"0"
SETB E1 ; E=1
MOV DAT1,DATBUS ; 讀數據
CLR E1 ; E=0
RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -