全国大学生电子设计竞赛训练教程43 液晶显示器电路.docx
- 文档编号:973211
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:34
- 大小:47.24KB
全国大学生电子设计竞赛训练教程43 液晶显示器电路.docx
《全国大学生电子设计竞赛训练教程43 液晶显示器电路.docx》由会员分享,可在线阅读,更多相关《全国大学生电子设计竞赛训练教程43 液晶显示器电路.docx(34页珍藏版)》请在冰点文库上搜索。
全国大学生电子设计竞赛训练教程43液晶显示器电路
4.3单片机与液晶显示电路接口电路设计
采用液晶显示可以使显示信息多样化,降低系统的功耗。
本节介绍常用的MDLS点阵字符型液晶显示模块及LMA97S005AD点阵图形型液晶显示模块接口电路及程序设计。
4.3.1MDLS点阵字符型液晶显示模块模块及程序设计
1.MDLS字符型液晶显示模块与单片机最小系统电路板的接口及操作指令
与单片机最小系统电路板的接口J4,如图4.3.1所示。
图4.3.1MDLS字符型液晶显示模块接口
从单片机最小系统板原理图中可以得知CS7信号由74LS138译码器产生,当A15A14A13A12=1111时选中CS7,所以CS7的有效地址范围为0XF000H~0XFFFFH,使能信号在读写时由读写信号和片选信号共同产生。
从中可以得出对液晶模块操作地址如表4.3.1所示(没有使用到的地址由0代替):
表4.3.1液晶模块操作地址与控制
操作地址
CS7
RS
R/W
功能
0XF000
0
0
0
写指令
0XF001
0
0
1
读忙标志和AC值
0XF002
0
1
0
写数据
0XF003
0
1
1
读数据
MDLS系列液晶显示模块的引脚功能定义如表4.3.2所示:
表4.3.2MDLS系列液晶显示模块的引脚功能定义
引脚号
符号
状态
功能
1
Vss
电源地
2
Vdd
+5V逻辑
3
V0
电源液晶驱动电源
4
RS
输入
寄存器选择1:
数据;0:
指令
5
R/W
输入
读写操作选择1:
读;0:
写
6
E
输入
使能信号(MDLS未用,符号NC)
7
DB0
三态
数据总线
8
DB1
三态
数据总线
9
DB2
三态
数据总线
10
DB3
三态
数据总线
11
DB4
三态
数据总线
12
DB5
三态
数据总线
13
DB6
三态
数据总线
14
DB7
三态
数据总线(MSB)
MDLS字符型液晶显示模块指令集如下所示:
(1)清屏
功能:
清DDRAM和AC值。
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
0
0
0
0
0
0
1
(2)归位
功能:
AC=0,光标,画面归HOME位。
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
0
0
0
0
0
1
*
(3)输入方式设置
功能:
设置光标,画面移动方式。
其中:
I/D=1:
数据读写操作后,AC自动加1;
I/D=0:
数据读写操作后,AC自动减1;
S=1:
数据读写操作,画面平移;
S=0:
数据读写操作,画面不动。
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
0
0
0
0
1
I/D
S
(4)显示开关控制
功能:
设置显示,光标及闪烁开,关。
其中:
D表示显示开关:
D=1为开,D=0为关;
C表示光标开关:
C=1为开,C=0为关;
B表示光标开关:
B=1为开,B=0为关。
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
0
0
0
1
D
C
B
(5)光标,画面位移
功能:
光标,画面移动,不影响DDRAM。
其中:
S/C=1:
画面平移一个字符位;
S/C=0:
光标平移一个字符位;
R/L=1:
右移;R/L=0:
左移。
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
0
0
1
S/C
R/L
*
*
(6)功能设置
功能:
工作方式设置(初始化指令)。
其中:
DL=1:
8位数据接口;DL=0:
4位数据接口;
N=1:
两行显示;N=0:
一行显示;
F=1:
5×10点阵字符;F=0:
5×7点阵字符。
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
0
1
DL
N
F
*
*
(7)CGRAM地址设置
功能:
工作方式设置(初始化指令)。
其中:
设置CGRAM地址,A0~A5=0~3FH。
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
1
A5
A4
A3
A2
A1
A0
(8)DDRAM地址设置
功能:
工作方式设置(初始化指令)。
其中:
设置DDRAM地址。
N=0,一行显示,A6~A0=0~4FH;
N=1,两行显示,首行A6~A0=0~2FH,A6~A0=40H~67FH。
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
1
A6
A5
A4
A3
A2
A1
A0
(9)读BF及AC值
功能:
读取BF值和地址计数器AC值。
其中:
BF=1:
忙;BF=0:
准备好。
此时,AC值意义为最近一次地址设置(CGRAM或DDRAM)定义。
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
1
BF
A6
A5
A4
A3
A2
A1
A0
(10)写数据
功能:
根据最近设置的地址性质,数据写入DDRAM或CGRAM。
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
1
0
数据
(11)读数据
功能:
根据最近设置的地址性质,从CGRAM或DDRAM中读出数据。
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
1
1
数据
2.MDLS字符型液晶显示模块程序设计
下面是一个完整的汇编语言编写的液晶显示程序,使液晶显示两行字符:
“NANHUA”
“NHU2003年12月10日”
;*********************************************************
;液晶显示程序,显示字符“NANHUA”“NHU2003年12月10日”
;芯片:
AT89C51
;编写:
cgq
;最后修改日期:
2003/12/10
;*********************************************************
WR_COMEQU0F000H;写指令地址
RD_STAEQU0F001H;读状态地址
WR_DATEQU0F002H;写数据地址
RD_DATEQU0F003H;读数据地址
ORG0000H
AJMPMAIN
ORG0100H
MAIN:
MOVSP,#60H;设置SP
ACALLDELAY;延时
ACALLINIT_LCD;初始化液晶模块
ACALLWRITE_CGRAM;设置CGRAM
MOVA,#84H
ACALLWRITE_COM
MOVR6,#06H;显示NANHUA
MOVDPTR,#TABLE1;读取NANHUA数据表地址
DISP1:
CLRA
MOVCA,@A+DPTR
ACALLWRITE_DAT
INCDPTR
DJNZR6,DISP1
MOVA,#0C2H;从第二行第二列开始显示
ACALLWRITE_COM
MOVR6,#13;显示NHU2003年12月10日
MOVDPRT,#TABLE2;读取表2地址
DISP2:
CLRA
MOVCA,@A+DPTR
ACALLWRITE_DAT
INCDPTR
DJNZR6,DISP2
SJMP$;显示完成,动态停机
;***********
;延时子程序
;***********
DELAY:
MOVR5,#100
DELAY1:
MOVR4,#100
DJNZR4,$
DJNZR5,DELAY1
RET
TABLE1:
DB4EH,32H,4EH,48H,55H,41H
;NANHUA
TABLE2:
DB4EH,48H,55H,32H,30H,30H,33H,00H,31H,32H,01H,31H,30H,02H
;NHU2003年12月10日
;*************
;写指令子程序
;*************
WRITE_COM:
PUSHDPH;保存DPTR
PUSHDPL
MOVDPTR,#WR_COM;设置写指令地址
MOVX@DPTR,A;输出指令
ACALLDELAY;延时
POPDPL;恢复DPTR
POPDPH
RET
;*************
;读状态子程序
;*************
READ_STA:
PUSHDPH;保存DPTR
PUSHDPL
MOVDPTR,#RD_STA;设置读状态地址
MOVXA,@DPTR;读取状态
ACALLDELAY;延时
POPDPL;恢复DPTR
POPDPH
RET
;*************
;写数据子程序
;*************
WRITE_DAT:
PUSHDPH;保存DPTR
PUSHDPL
MOVDPTR,#WR_DAT;设置写数据地址
MOVX@DPTR,A;输出数据
ACALLDELAY;延时
POPDPL;恢复DPTR
POPDPH
RET
;*************
;读数据子程序
;*************
READ_DAT:
PUSHDPH;保存DPTR
PUSHDPL
MOVDPTR,#WR_COM;设置读数据地址
MOVX@DPTR,A;读取数据
ACALLDELAY;延时
POPDPL;恢复DPTR
POPDPH
RET
;*************
;初始化子程序
;*************
INIT_LCD:
MOVA,#38H;设置为8位数据总线
ACALLWRITE_COM
MOVA,#01H;清屏
ACALLWRITE_COM
MOVA,#06H;光标移动,显示区不移动,读写操作后AC加1
ACALLWRITE_COM
MOVA,#0CH;开显示,关光标,不闪烁
ACALLWRITE_COM
RET
;*******************
;写自定义字库子程序
;*******************
WRITE_CGRAM:
PUSHACC;保护现场
PUSHDPL
PUSHDPH
PUSHPSW
MOVA,#40H
ACALLWRITE_COM
MOVR7,#24;输出3个自定义的字符
MOVDPTR,#CGRAM_TABLE
WRITE_CGRAM1:
CLRA
MOVCA,@A+DPTR;读取表数据
ACALLWRITE_DAT;把数据写到CGRAM中
INCDPRT
DJNZR7,WRITE_CGRAM1
ACALLDELAY;延时
POPPSW;恢复现场
POPDPH
POPDPL
POPACC
RET
;定义代码
CGRAM_TABLE:
DB08H,0FH,12H,0FH,0AH,1FH,02H,02H;年
DB0FH,09H,0FH,09H,0FH,09H,11H,00H;月
DB0FH,09H,09H,0FH,09H,09H,0FH,00H;日
;
END
4.3.2LMA97S005AD点阵图形型液晶显示模块及程序设计
1.LMA97S005AD点阵图形型液晶显示模块与单片机最小系统板的接口
LMA97S005AD点阵图形型液晶显示模块与单片机最小系统板的接口J5,如图4.3.2所示。
图4.3.2LMA97S005AD点阵型液晶显示模块接口
表4.3.3运作方式控制
D/I
R/W
运作方式
1
1
由输出寄存器读取数据,内部运作先将显示RAM放入输出寄存器
1
0
将数据写入输入寄存器,内部运作则将输入寄存器写入显示RAM中
0
1
忙碌信号及状态数据读取
0
0
指令寄存器写入
LMA97S005AD系列液晶显示模块的引脚功能定义如表4.3.4所示:
表4.3.4LMA97S005AD系列液晶显示模块的引脚功能定义
引脚号
符号
电平
功能或规格
1
Vss(输入)
0V
接地,0V
2
Vdd(输入)
5.0V
接电源,+5V,5V±5%
3
VO(输入)
-
反视度调整,LCD操作电压
4
D/I(输入)
H/L
寄存器选择,1:
资料寄存器,0:
指令寄存器
5
R/W(输入)
H/L
读写选择,1:
读,0:
写
6
E(输入)
H.H->L
使能信号
7
DB0
H/L
数据第0位
8
DB1
H/L
数据第1位
9
DB2
H/L
数据第2位
10
DB3
H/L
数据第3位
11
DB4
H/L
数据第4位
12
DB5
H/L
数据第5位
13
DB6
H/L
数据第6位
14
DB7
H/L
数据第7位
15
CS1
H
IC1的片选信号
16
CS2
H
IC2的片选信号
17
RST
L
复位信号
18
VEE
-18.0V
LCD负压驱动脚
19
NC
空脚
20
NC
空脚
2.LMA97S005AD点阵液晶显示模块控制
LMA97S005AD点阵液晶显示模块指令集如下所示:
(1)显示器ON/OFF
功能:
当D=1时,显示RAM数据呈现在显示器上;D=0则消失。
在D=0时,虽然画面上无显示,但数据仍然存在显示数据RAM中;因此可再将D=0改变成D=1,画面又会显示,而非清显示器。
R/W
D/I
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
0
1
1
1
1
1
D
(2)设页数(Setpage)page指的是X位址
功能:
显示数据RAM的X位址AAA(二进制)设定在X位址寄存器。
设X位址后,接着的读写数据指令都是在指定的page上运作,直到新的page值再被设定。
R/W
D/I
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
1
0
1
1
1
A
A
A
(3)状态读取(Stateread)
功能:
Busy:
当Busy为1表示LSI正在内部运作,不接受指令;先确定Busy为0才能写入下一指令;ON/OFF为表示液晶显示器是ON或OFF状态,当ON/OFF位为1表示显示器为OFF状态,为0表示显示器为ON状态;RESET=1表示系统正在初始化,在初始化时,除了状态读取指令外,其它指令不被接受,RESET=0表示初始化完成,系统正常工作。
R/W
D/I
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
1
0
Busy
0
ON/OFF
RESET
0
0
0
0
(4)显示器开始行(Startline)
功能:
将Z位址AAAAAA(二进制)设在displaylineregister中,则显示数据RAM将Z位址数据显示在画面顶端。
R/W
D/I
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
1
1
A
A
A
A
A
A
(5)设Y位址
功能:
显示数据的RAM的Y位址AAAAAA(二进制)设定在Y位址计数器。
设定Y位址,且在每次读写数据后,Y位址计数器将递增。
显示数据RAM的X位址由0~7,Y位址由0~63,共有64×8=512bytes。
R/W
D/I
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
1
A
A
A
A
A
A
(6)写入显示数据(Writedisplaydata)
功能:
写入8位数据DDDDDDDD(二进制)到显示数据RAM中,然后Y位址将自动递增。
R/W
D/I
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
0
1
D
D
D
D
D
D
D
D
(7)读取显示数据(Readdisplaydata)
功能:
从显示数据RAM中读出8位数据DDDDDDDD(二进制),然后Y位址将自动递增。
R/W
D/I
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
1
1
D
D
D
D
D
D
D
D
3.液晶显示控制汇编语言程序设计
液晶显示汇编语言程序如下(显示“南华大学电气工程学院制作”):
;****************************************
;液晶显示程序,显示字符“南华大学电气工程学院制作”
;芯片:
AT89C51
;编写:
cgq
;最后修改日期:
2003/10/26
;*********************************************************
cs1equp3.4
cs2equp3.3
rsequp3.7
rwequp3.6
eequp3.5
comequ70h
datequ71h
pagequ72h
lieequ73h
lineequ74h
code1equ75h
counterequ76h
org0000h
ajmpmain
org0100h
main:
movsp,#30h
lcallreset;复位
lcalldiss_show;开显示
lcallclear
begin:
movline,#0
lcallstartline
setbcs1;选左边
clrcs2
movpag,#1;第二页
movlie,#32;33列
movcode1,#00h;南
lcallshow
movpag,#1
movlie,#48
movcode1,#01h;华
lcallshow
movpag,#3
movlie,#16
movcode1,#04h;电
lcallshow
movpag,#3
movlie,#32
movcode1,#05h;气
lcallshow
movpag,#3
movlie,#48
movcode1,#06h;工
lcallshow
clrcs1;选右边
setbcs2
movpag,#1
movlie,#0
movcode1,#02h;大
lcallshow
movpag,#1
movlie,#16
movcode1,#03h;学
lcallshow
movpag,#3
movlie,#0
movcode1,#07h;程
lcallshow
movpag,#3
movlie,#16
movcode1,#03h;学
lcallshow
movpag,#3
movlie,#32
movcode1,#08h;院
lcallshow
movpag,#5
movlie,#32
movcode1,#0ch;制
lcallshow
movpag,#5
movlie,#48
movcode1,#0dh;作
lcallshow
ajmpbegin
reset:
clrp3.2;复位
acalldelay200
setbp3.2
acalldelay200
ret
delay200:
movr2,#20
lp:
movr3,#100
djnzr3,$
djnzr2,lp
ret
delay10:
movr2,#10
djnzr2,$
ret
wcode:
clrrs;写程序,调用前应选择片选并对com赋值(指令)
clrrw
movp1,com
clre
acalldelay10
setbe
acalldelay10
clre
ret
wdata:
setbrs;写数据,调用前应选择片选并对dat赋值(数据)
clrrw
movp1,dat
clre
acalldelay10
setbe
acalldelay10
clre
ret
startline:
mova,line;起始行数应对line赋值
adda,#0c0h
setbcs1
setbcs2
movcom,a
lcallwcode
ret
setpage:
mova,pag;页码值0-8,对PAGE赋值
adda,#0b8h
setbcs1
setbcs2
movcom,a
lcallwcode
ret
setlie:
mova,lie;起始列值,对lie赋值
adda,#40h
setbcs1
setbcs2
movcom,a
lcallwcode
ret
diss_show:
movcom,#3fh;开启液晶显示
setbcs1
setbcs2
lcallwcode
ret
dis
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国大学生电子设计竞赛训练教程43 液晶显示器电路 全国大学生 电子设计 竞赛 训练 教程 43 液晶显示器 电路