LCD汇编程序示例lm016l.docx
《LCD汇编程序示例lm016l.docx》由会员分享,可在线阅读,更多相关《LCD汇编程序示例lm016l.docx(16页珍藏版)》请在冰豆网上搜索。
LCD汇编程序示例lm016l
LCD汇编程序示例(lm016l)
;----------逐字依次输入方式-----------
COMEQU20H;指令寄存器
DATEQU21H;数据寄存器
CW_AddEQU8000H;指令口写地址
CR_AddEQU8200H;指令口读地址
DW_AddEQU8100H;数据口写地址
DR_AddEQU8300H;数据口读地址
ORG0000H
MAIN:
MOVSP,#60H
MOVA,#30H;功能指令设置
MOVDPTR,#CW_Add
MOVR2,#03H
L1:
MOVX@DPTR,A
LCALLDELAY
DJNZR2,L1
MOVCOM,#38H;设置工作方式
LCALLPR1
MOVCOM,#01H;清屏
LCALLPR1
MOVCOM,#06H;设置输入方式
LCALLPR1
MOVCOM,#0FH;设置显示方式
LCALLPR1
MOVCOM,#80H;设置DDRAM地址00H
LCALLPR1
MOVDPTR,#TAB
MOVR2,#12;显示前8位
MOVR3,#00
WRIN:
MOVA,R3
MOVCA,@A+DPTR
MOVDAT,A
LCALLPR2
LCALLDELAY
INCR3
DJNZR2,WRIN
SJMP$
;-------写指令代码子程序---------
PR1:
PUSHDPH
PUSHDPL
PUSHACC
MOVDPTR,#CR_ADD
PR11:
MOVXA,@DPTR
JB,PR11
MOVA,COM
MOVDPTR,#CW_ADD
MOVX@DPTR,A
POPACC
POPDPL
POPDPH
RET
;--------写显示数据子程序----------
PR2:
PUSHDPH
PUSHDPL
PUSHACC
MOVDPTR,#CR_ADD
PR21:
MOVXA,@DPTR
JB,PR21
MOVA,DAT
MOVDPTR,#DW_ADD
MOVX@DPTR,A
POPACC
POPDPL
POPDPH
RET
DELAY:
MOVR6,#00H
MOVR7,#00H
DELAY1:
NOP
DJNZR7,DELAY1
DJNZR6,DELAY1
RET
TAB:
DB43H,75H,72H,73H,6FH,72H,20H;Cursor
DB57H,72H,69H,74H,65H;write
END
;----------逐字依次输入,两行显示方式-----------
COMEQU20H;指令寄存器
DATEQU21H;数据寄存器
CW_AddEQU8000H;指令口写地址
CR_AddEQU8200H;指令口读地址
DW_AddEQU8100H;数据口写地址
DR_AddEQU8300H;数据口读地址
ORG0000H
MAIN:
MOVSP,#60H
MOVA,#30H;功能指令设置
MOVDPTR,#CW_ADD
MOVR2,#03H
L1:
MOVX@DPTR,A
LCALLDELAY
DJNZR2,L1
MOVCOM,#38H;设置工作方式
LCALLPR1
MOVCOM,#06H;设置显示方式
LCALLPR1
MOVCOM,#0fH;清屏
LCALLPR1
MOVCOM,#01H;设置输入方式
LCALLPR1
MOVCOM,#80H;设置DDRAM地址00H
LCALLPR1
MOVDPTR,#TAB
MOVR2,#07;显示前8位
MOVR3,#00H
WRIN:
MOVA,R3
MOVCA,@A+DPTR
MOVDAT,A
LCALLPR2
LCALLDELAY
INCR3
DJNZR2,WRIN
MOVCOM,#0C0H;设置DDRAM地址40H
LCALLPR1
MOVR2,#05H;显示后4位
WRIN1:
MOVA,R3
MOVCA,@A+DPTR
MOVDAT,A
LCALLPR2
LCALLDELAY
INCR3
DJNZR2,WRIN1
SJMPMAIN
;-------写指令代码子程序---------
PR1:
PUSHDPH
PUSHDPL
PUSHACC
MOVDPTR,#CR_ADD
PR11:
MOVXA,@DPTR
JB,PR11
MOVA,COM
MOVDPTR,#CW_ADD
MOVX@DPTR,A
POPACC
POPDPL
POPDPH
RET
;--------写显示数据子程序----------
PR2:
PUSHDPH
PUSHDPL
PUSHACC
MOVDPTR,#CR_ADD
PR21:
MOVXA,@DPTR
JB,PR21
MOVA,DAT
MOVDPTR,#DW_ADD
MOVX@DPTR,A
POPACC
POPDPL
POPDPH
RET
DELAY:
MOVR6,#00H
MOVR7,#00H
DELAY1:
NOP
DJNZR7,DELAY1
DJNZR6,DELAY1
RET
TAB:
DB43H,75H,72H,73H,6FH,72H,20H;Cursor
DB57H,72H,69H,74H,65H;write
END
;----------光标左移输入,两行显示方式-----------
COMEQU20H
DATEQU21H
CW_ADDEQU8000H
CR_ADDEQU8200H
DW_ADDEQU8100H
DR_ADDEQU8300H
ORG0000H
MAIN:
MOVSP,#60H
MOVA,#30H;功能指令设置
MOVDPTR,#CW_ADD
MOVR2,#03H
L1:
MOVX@DPTR,A
LCALLDELAY
DJNZR2,L1
MOVCOM,#38H;设置工作方式
LCALLPR1
MOVCOM,#01H;清屏
LCALLPR1
MOVCOM,#06H;设置输入方式
LCALLPR1
MOVCOM,#0FH;设置显示方式
LCALLPR1
MOVCOM,#04H;设置输入方式,减方式
LCALLPR1
MOVCOM,#0C5H;设置DDRAM地址44H
LCALLPR1
MOVDPTR,#TAB
MOVR2,#05;显示后5位
MOVR3,#11;从第12位开始显示
WRIN:
MOVA,R3
MOVCA,@A+DPTR
MOVDAT,A
LCALLPR2
LCALLDELAY
DECR3
DJNZR2,WRIN
MOVCOM,#87H;设置DDRAM地址07H
LCALLPR1
MOVR2,#08H;显示前8位
WRIN1:
MOVA,R3
MOVCA,@A+DPTR
MOVDAT,A
LCALLPR2
LCALLDELAY
DECR3
DJNZR2,WRIN1
SJMP$
;-------写指令代码子程序---------
PR1:
PUSHDPH
PUSHDPL
PUSHACC
MOVDPTR,#CR_ADD
PR11:
MOVXA,@DPTR
JB,PR11
MOVA,COM
MOVDPTR,#CW_ADD
MOVX@DPTR,A
POPACC
POPDPL
POPDPH
RET
;--------写显示数据子程序----------
PR2:
PUSHDPH
PUSHDPL
PUSHACC
MOVDPTR,#CR_ADD
PR21:
MOVXA,@DPTR
JB,PR21
MOVA,DAT
MOVDPTR,#DW_ADD
MOVX@DPTR,A
POPACC
POPDPL
POPDPH
RET
DELAY:
MOVR6,#00H
MOVR7,#00H
DELAY1:
NOP
DJNZR7,DELAY1
DJNZR6,DELAY1
RET
TAB:
DB43H,75H,72H,73H,6FH,72H,20H;Cursor
DB57H,72H,69H,74H,65H;write
END
;----------左滚动输入方式-----------
COMEQU20H;指令寄存器
DATEQU21H;数据寄存器
CW_AddEQU8000H;指令口写地址
CR_AddEQU8200H;指令口读地址
DW_AddEQU8100H;数据口写地址
DR_AddEQU8300H;数据口读地址
ORG0000H
MAIN:
MOVSP,#60H
MOVA,#30H;功能指令设置
MOVDPTR,#CW_ADD
MOVR2,#03H
L1:
MOVX@DPTR,A
LCALLDELAY
DJNZR2,L1
MOVCOM,#38H;设置工作方式
LCALLPR1
MOVCOM,#01H;清屏
LCALLPR1
MOVCOM,#06H;设置输入方式
LCALLPR1
MOVCOM,#0EH;设置显示方式
LCALLPR1
MOVCOM,#07H;设置输入方式,画面滚动
LCALLPR1
MOVCOM,#8cH;设置DDRAM地址07H
LCALLPR1
MOVDPTR,#TAB
MOVR2,#012;显示前7位
MOVR3,#00
WRIN:
MOVA,R3
MOVCA,@A+DPTR
MOVDAT,A
LCALLPR2
LCALLDELAY
INCR3
DJNZR2,WRIN
SJMP$
;-------写指令代码子程序---------
PR1:
PUSHDPH
PUSHDPL
PUSHACC
MOVDPTR,#CR_ADD
PR11:
MOVXA,@DPTR
JB,PR11
MOVA,COM
MOVDPTR,#CW_ADD
MOVX@DPTR,A
POPACC
POPDPL
POPDPH
RET
;--------写显示数据子程序----------
PR2: