LCD1602汇编显示程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

;1602显示ABC

LCD_RS EQU P2.5 LCD_RW EQU P2.6 LCD_EN EQU P2.7 LCD_DATA EQU P3

;-----------------

ORG0000H

JMP START

ORG0030H

;-----------------

LCD:

CALL LCD_INIT

MOV A, #80H

CALL LCD_WCMD

MOV A, #'A'

CALL LCD_WDATA

MOV A, #'B'

CALL LCD_WDATA

MOV A, #'C'

CALL LCD_WDATA

AJMP$

;----------------

DELAY5MS:

MOV R6, #10

DL1:DJNZ R7, $

DJNZ R6, DL1

RET

;----------------

LCD_INIT:

CALL DELAY5MS

MOV A, #38H

CALL LCD_WCMD

CALL DELAY5MS

CALL DELAY5MS

MOV A, #06H

CALL LCD_WCMD

MOV A, #01H

CALL LCD_WCMD

MOV A, #0CH

CALL LCD_WCMD

RET

;===================================== LCD_WCMD:

CALL CHECKBUSY

CLR LCD_RS

JMP W_LCD

;----------------

LCD_WDATA:

CALL CHECKBUSY

SETB LCD_RS

W_LCD:

CLR LCD_RW

MOV LCD_DATA, A

SETB LCD_EN

NOP

CLR LCD_EN

RET

;----------------

CHECKBUSY:

PUSH ACC

MOV LCD_DATA, #255

CLR LCD_RS

SETB LCD_RW

BUSYLOOP:

SETB LCD_EN

NOP

MOV A, LCD_DATA

CLR LCD_EN

JB ACC.7, BUSYLOOP

POP ACC

RET

;===================================== END

相关文档
最新文档