📄 ch13-2.asm
字号:
RS BIT P2.0
RW BIT P2.1
EN BIT P2.2
ORG 0
ACALL INIT
ACALL W_CG
MOV A,#10000000B
ACALL W_INS
MOV R1,#10 ;COUNT OF WORD
MOV DPTR,#MSG
ACALL W_STR
SJMP $
;
INIT: MOV A,#00111000B ;FUNCTION SET
ACALL W_INS
MOV A,#00111000B
ACALL W_INS
MOV A,#00111000B
ACALL W_INS
MOV A,#00111000B
ACALL W_INS
MOV A,#00001000B ;OFF SCREEN
ACALL W_INS
MOV A,#00000001B ;CLR SCREEN
ACALL W_INS
MOV A,#00001110B ;DISPLAY CONTROL
ACALL W_INS
MOV A,#00000110B ;MODE SET
ACALL W_INS
RET
;
W_CG: MOV A,#01000000B
ACALL W_INS
MOV R0,#24
MOV DPTR,#CHAR
MOV R1,#0
NEXT1: MOV A,R1
MOVC A,@A+DPTR
ACALL W_DATA
INC R1
DJNZ R0,NEXT1
RET
;
W_STR: MOV R0,#0
NEXT2: MOV A,R0
MOVC A,@A+DPTR
ACALL W_DATA
INC R0
DJNZ R1,NEXT2
RET
;
W_INS: ACALL CHECK
CLR RS
CLR RW
SETB EN
MOV P1,A
CLR EN
RET
;
W_DATA: ACALL CHECK
SETB RS
CLR RW
SETB EN
MOV P1,A
CLR EN
RET
;
CHECK: PUSH ACC
BUSY: CLR RS
SETB RW
SETB EN
MOV A,P1
CLR EN
JB ACC.7,BUSY
ACALL DELAY
POP ACC
RET
;
DELAY: MOV R6,#20
D1: MOV R7,#150
DJNZ R7,$
DJNZ R6,D1
RET
;
CHAR: DB 10H,1FH,02H,0FH
DB 0AH,1FH,02H,00H
DB 0FH,09H,0FH,09H
DB 0FH,09H,13H,00H
DB 0FH,09H,09H,0FH
DB 09H,09H,0FH,00H
MSG: DB '1998',0,'3',1,'11',2
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -