基于单片机的12864LCD液晶显示.docx

上传人:b****5 文档编号:11964273 上传时间:2023-04-16 格式:DOCX 页数:13 大小:306.46KB
下载 相关 举报
基于单片机的12864LCD液晶显示.docx_第1页
第1页 / 共13页
基于单片机的12864LCD液晶显示.docx_第2页
第2页 / 共13页
基于单片机的12864LCD液晶显示.docx_第3页
第3页 / 共13页
基于单片机的12864LCD液晶显示.docx_第4页
第4页 / 共13页
基于单片机的12864LCD液晶显示.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

基于单片机的12864LCD液晶显示.docx

《基于单片机的12864LCD液晶显示.docx》由会员分享,可在线阅读,更多相关《基于单片机的12864LCD液晶显示.docx(13页珍藏版)》请在冰豆网上搜索。

基于单片机的12864LCD液晶显示.docx

基于单片机的12864LCD液晶显示

基于单片机的12864LCD液晶显示

一、设计目的

在12864液晶显示屏中央显示“★仿真实例★”字样。

二、原理介绍

12864LCD:

带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。

可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。

1、引脚功能:

GND电源地VCC电源正+5

V0液晶显示驱动电源0~5VRSH:

数据输入L:

指令码输入

R/WH:

数据读入L:

数据写入E使能信号。

由H到L完成使能。

DB0~DB7数据线CS1CS1=1芯片选择左边64*64点

CS2CS2=1芯片选择右边64*64点

RST复位-VoutLCD驱动负电源

A背光电源(+)K背光电源(-)

2、取码方法:

DDRAM是12864内部的存储器,屏幕显示内容与存储单元建立一一对应关系,模块内部自带扫描与驱动,用户只需要将要显示内容写入到12864对应的存储器中,就能实现内容的显示。

12864液晶屏横向有128个点,纵向有64个点。

显示屏分为左半屏和右半屏。

取码时,按照从上到下,从左到右的原则进行取码,每个字都有32个字节与之对应。

编程时,也按照从上到下,从左到右的原则取数送到相应的DDRAM中。

RESPACK8:

排阻。

接在51单片机的P0口,因为P0口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻。

排阻就是好多电阻连载一起,他们有一个公共端1端为公共端接VCC或地。

 

三、液晶显示控制方法

1、读状态

判忙子程序

BUSY:

CLRRS;RS清0

SETBRW;RW置1

PRR01:

MOVDATAES,#0FFH;将端口置1,准备读数据总线

SETBE;E置1,液晶模块将当前状态送到数据总线

MOVA,DATAES;读数据总线

CLRE;将E清零,为下次读做准备

JBACC.7,PRR01;ACC.7为1,表示液晶模块处于忙状态,为0返回主程序

RET

如果读到的BUSY=1,表示系统忙,不能操作;只有BUSY=1才允许操作。

2、写指令

写指令子程序(PRM)

PRM:

LCALLBUSY;写指令之前判忙

CLRRS;RS为0设置写指令操作

CLRRW;RW清0

MOVDATAES,COM;COM中存放指令,DATAES为某一端口

SETBE

CLRE;E下降沿液晶模块从数据总线上写入指令

RET

3、写数据

写数据子程序(PRD)

PRD:

LCALLBUSY;写指令之前判忙

SETBRS;RS置1设置为写数据操作

CLRRW;RW清0

SETBE

MOVDATAES,DAT;DAT中存放写入的数据

CLRE;E下降沿液晶模块从数据总线上读入指令

RET

操作每完成一个列地址计数器自动加1。

四、程序

1、程序流程图:

 

 

 

 

Y

子程序流程图

 

2、程序如下:

ORG0000H

LJMPMAIN

CSAEQUP2.4

CSBEQUP2.3

RSEQUP2.2

RWEQUP2.1

EEQUP2.0

DATAESEQUP0

COMEQU21H

DATEQU22H

YMEQU23H

LMEQU24H

CODESEQU25H

ORG0030H

MAIN:

LCALLINT

LCALLLEFT

MOVYM,#3

MOVLM,#16

MOVCODES,#4

LCALLCHINE

MOVYM,#3

MOVLM,#32

MOVCODES,#0

LCALLCHINE

MOVYM,#3

MOVLM,#48

MOVCODES,#1

LCALLCHINE

LCALLRIGHT

MOVYM,#3

MOVLM,#0

MOVCODES,#2

LCALLCHINE

MOVYM,#3

MOVLM,#16

MOVCODES,#3

LCALLCHINE

MOVYM,#3

MOVLM,#32

MOVCODES,#4

LCALLCHINE

DDD:

LJMPDDD

INT:

LCALLLEFT

MOVCOM,#3FH

LCALLPRM

LCALLRIGHT

MOVCOM,#3FH

LCALLPRM

CLEARL:

LCALLLEFT

MOVR4,#00H

CLEAR0:

MOVCOM,R4

LCALLPAGEFIRST

MOVCOM,#00H

LCALLLIEFIRST

MOVR3,#64

CLEAR1:

MOVDAT,#00H

LCALLPRD

DJNZR3,CLEAR1

INCR4

CJNER4,#08H,CLEAR0

CLEARR:

LCALLRIGHT

MOVR4,#00H

CLEAR2:

MOVCOM,R4

LCALLPAGEFIRST

MOVCOM,#00H

LCALLLIEFIRST

MOVR3,#64

CLEAR3:

MOVDAT,#00H

LCALLPRD

DJNZR3,CLEAR3

INCR4

CJNER4,#08H,CLEAR2

RET

BUSY:

CLRRS

SETBRW

PRR01:

MOVDATAES,#0FFH

SETBE

MOVA,DATAES

CLRE

JBACC.7,PRR01

RET

LEFT:

CLRCSA

SETBCSB

RET

RIGHT:

SETBCSA

CLRCSB

RET

PRM:

LCALLBUSY

CLRRS

CLRRW

MOVDATAES,COM

SETBE

CLRE

RET

PRD:

LCALLBUSY

SETBRS

CLRRW

SETBE

MOVDATAES,DAT

CLRE

RET

PAGEFIRST:

MOVA,COM

ORLA,#0B8H

MOVCOM,A

LCALLPRM

RET

LIEFIRST:

MOVA,COM

ORLA,#40H

MOVCOM,A

LCALLPRM

RET

CHINE:

MOVDPTR,#TAB

MOVA,CODES

MOVB,#32

MULAB

ADDA,DPL

MOVDPL,A

MOVA,B

ADDCA,DPH

MOVDPH,A

MOVCOM,YM

LCALLPAGEFIRST

MOVCOM,LM

LCALLLIEFIRST

MOVR0,#00H

RETURN0:

MOVA,R0

MOVCA,@A+DPTR

MOVDAT,A

LCALLPRD

INCR0

CJNER0,#16,RETURN0

MOVA,YM

INCA

MOVCOM,A

LCALLPAGEFIRST

MOVCOM,LM

LCALLLIEFIRST

RETURN1:

MOVA,R0

MOVCA,@A+DPTR

MOVDAT,A

LCALLPRD

INCR0

CJNER0,#32,RETURN1

RET

TAB:

DB80h,40h,20h,0F8h,07h,10h,10h,10h

DB0F1h,96h,90h,90h,0D0h,98h,10h,00h

DB00h,00h,00h,0FFh,00h,80h,40h,30h

DB0Fh,40h,80h,40h,3Fh,00h,00h,00h;"仿"

DB00h,04h,04h,0F4h,54h,54h,54h,5Fh

DB54h,54h,54h,0FCh,16h,04h,00h,00h

DB10h,10h,90h,5Fh,35h,15h,15h,15h

DB15h,15h,35h,5Fh,0D0h,18h,10h,00h;“真”

DB10h,0Ch,04h,44h,8Ch,94h,35h,06h

DB0F4h,04h,04h,04h,04h,14h,0Ch,00h

DB02h,82h,82h,42h,42h,23h,12h,0Eh

DB03h,0Ah,12h,22h,42h,0C3h,02h,00h;"实"

DB40h,20h,0F8h,07h,84h,64h,3Ch,24h

DB24h,0E6h,04h,0F0h,00h,0FFh,00h,00h

DB00h,00h,0FFh,01h,20h,11h,0Ah,04h

DB03h,00h,00h,47h,80h,7Fh,00h,00h;"例"

DB00h,20h,60h,0E0h,0E0h,0E0h,0F0h,0FCh

DB0FFh,0FCh,0F0h,0E0h,0E0h,0E0h,60h,20h

DB00h,00h,40h,30h,3Dh,1Fh,1Fh,0Fh

DB07h,0Fh,1Fh,1Fh,3Dh,30h,40h,00h;"*"

END

五、电路图

 

六、仿真结果

如图所示:

七、结束语

通过本次课程设计,我掌握了单片机与液晶显示屏接口程序设计,学习了液晶显示模块与单片机接口技术,了解了12864液晶显示模块的引脚功能及其取码方式。

此外,熟悉回顾了proteus软件的使用和单片机基本汇编语言指令。

八、参考书目

《单片机原理及应用》江世明黄同成编著中国铁道出版社

《单片机原理及应用实验指导书》赵琳编西南交大峨眉校区电气系

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 图表模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1