;********************************
;程序名:LCD显示驱动程序
;功能:用LCD1602显示字符'ABCDEF...'
;作者:POLO
;********************************
;端口定义
RS EQU P3.0
RW EQU P3.1
E EQU P3.2
DB0_DB7 EQU P0
DB7 EQU P0.7
;********************************
;主程序
ORG 00H
AJMP START
ORG 30H
START:
MOV R0,#16
MOV R1,#01000001B
MOV R2,#0C0H
MOV DB0_DB7,#00000001B ;清屏
ACALL ENABLE
LOOP:
MOV DB0_DB7,#00111000B ;显示功能设置
ACALL ENABLE
MOV DB0_DB7,#00001111B ;显示开关控制
ACALL ENABLE
MOV DB0_DB7,#00000110B ;输入模式
ACALL ENABLE
MOV DB0_DB7,R2 ;数据存贮器地址
ACALL ENABLE
MOV DB0_DB7,R1 ;送ASCII码
SETB RS ;送数据
CLR RW
CLR E
ACALL DELAY
SETB E
INC R1
INC R2
DJNZ R0,LOOP
AJMP $
;********************************
;送命令子程序
ENABLE:
CLR RS ;送命令
CLR RW
CLR E
ACALL DELAY
SETB E
RET
;********************************
;判忙延时子程序
DELAY:
MOV DB0_DB7,#0FFH
CLR RS
SETB RW
CLR E
NOP
SETB E
JB DB7,DELAY ;判断忙标志
RET
END
文章评论(0条评论)
登录后参与讨论