📄 test.asm
字号:
;RS EQU P2.0
;R_W EQU P2.1
;E EQU P2.2
;lcd_data equ p0
RS EQU P3.2
R_W EQU P3.3
E EQU P3.4
lcd_data equ p1
;P1是数据
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN: MOV SP,#40H
LCALL D150MS
CLR E
CLR RS
CLR R_W
MOV lcd_data,#30H ;初始化1
; MOV P2,#1FH
SETB E
CLR E
; SETB P2.7
; CLR P2.7
LCALL D150MS
MOV lcd_data,#30H ;初始化2
; MOV P2,#1FH
SETB E
CLR E
; MOV P2,#1FH
; SETB P2.7
; CLR P2.7
LCALL D150MS
MOV lcd_data,#30H ;初始化3
; MOV P2,#1FH
SETB E
CLR E
CALL D150MS
MOV lcd_data,#38H ;初始化4
SETB E
CLR E
CALL D150MS
MOV lcd_data,#01H ;清屏
SETB E
CLR E
CALL D150MS
MOV lcd_data,#06H ;地址增量方式
SETB E
CLR E
CALL D150MS
MOV lcd_data,#0FH ;显示开关,光标开关,闪烁
SETB E
CLR E
CALL D150MS
;初始化结束,下面显示一个字符
MOV lcd_data,#0c0H ;设定DDRAM地址
SETB E
CLR E
CALL D150MS
SETB RS
MOV lcd_data,#31H ;显示“1“
SETB E
CLR E
CALL D150MS
; SJMP W1
sjmp $
;序结束
;-----------------------------------------
MOV lcd_data,#08H
SETB E
CLR E
CALL D150MS
MOV lcd_data,#31H
SETB E
CLR E
CALL D150MS
MOV lcd_data,#02H
SETB E
CLR E
CALL D150MS
MOV lcd_data,#0C0H
SETB E
CLR E
CALL D150MS
SETB RS
CLR R_W
MOV lcd_data,#31H
SETB E
CLR E
NOP
;prl0: clr RS ;写指令程序
; setb r_w
;prl01: mov lcd_data,#0ffh
; setb e
; mov a,lcd_data
; clr e
; jb acc.7,prl01
; clr r_w
; mov lcd_data,lcd_com;(指令字节)
; setb e
; clr e
; ret
;prl1: clr RS ;写数据程序
; setb r_w
;prl11: mov lcd_data,#0ffh
; setb e
; mov a,lcd_data
; clr e
; jb acc.7,prl11
; setb RS
; clr r_w
; mov lcd_data,lcd_data;(数据字节)
; setb e
; clr e
; ret
D150MS: MOV 30H,#0C8H
D03: MOV 31H,#0FFH
D04: DJNZ 31H,D04
DJNZ 30H,D03
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -