一、设计目的在12864液晶显示屏中央显示“★仿真实例★”字样。二、原理介绍12864LCD:带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。1、引脚功能:GND电源地VCC电源正+5V0液晶显示驱动电源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清0SETBRW;RW置1PRR01: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清0MOVDATAES,COM;COM中存放指令,DATAES为某一端口SETBECLRE;E下降沿液晶模块从数据总线上写入指令RET3、写数据写数据子程序(PRD)PRD:LCALLBUSY;写指令之前判忙SETBRS;RS置1设置为写数据操作CLRRW;RW清0SETBEMOVDATAES,DAT;DAT中存放写入的数据CLRE;E下降沿液晶模块从数据总线上读入指令RET操作每完成一个列地址计数器自动加1。四、程序1、程序流程图:2、程序如下:ORG0000H开始初始化左右屏控制起始页设置起始列设置显示汉字设定调用写汉字子程序计算汉字代码初始地址结束重复6次主程序流程图写入起始页地址写入起始列地址R0=0调用写入数据子程序R0=R0+1起始页地址加1重新设起始列地址调用写入数据子程序R0=32?R0=R0+1R0=16?RETNYNY子程序流程图LJMPMAINCSAEQUP2.4CSBEQUP2.3RSEQUP2.2RWEQUP2.1EEQUP2.0DATAESEQUP0COMEQU21HDATEQU22HYMEQU23HLMEQU24HCODESEQU25HORG0030HMAIN:LCALLINTLCALLLEFTMOVYM,#3MOVLM,#16MOVCODES,#4LCALLCHINEMOVYM,#3MOVLM,#32MOVCODES,#0LCALLCHINEMOVYM,#3MOVLM,#48MOVCODES,#1LCALLCHINELCALLRIGHTMOVYM,#3MOVLM,#0MOVCODES,#2LCALLCHINEMOVYM,#3MOVLM,#16MOVCODES,#3LCALLCHINEMOVYM,#3MOVLM,#32MOVCODES,#4LCALLCHINEDDD:LJMPDDDINT:LCALLLEFTMOVCOM,#3FHLCALLPRMLCALLRIGHTMOVCOM,#3FHLCALLPRMCLEARL:LCALLLEFTMOVR4,#00HCLEAR0:MOVCOM,R4LCALLPAGEFIRSTMOVCOM,#00HLCALLLIEFIRSTMOVR3,#64CLEAR1:MOVDAT,#00HLCALLPRDDJNZR3,CLEAR1INCR4CJNER4,#08H,CLEAR0CLEARR:LCALLRIGHTMOVR4,#00HCLEAR2:MOVCOM,R4LCALLPAGEFIRSTMOVCOM,#00HLCALLLIEFIRSTMOVR3,#64CLEAR3:MOVDAT,#00HLCALLPRDDJNZR3,CLEAR3INCR4CJNER4,#08H,CLEAR2RETBUSY:CLRRSSETBRWPRR01:MOVDATAES,#0FFHSETBEMOVA,DATAESCLREJBACC.7,PRR01RETLEFT:CLRCSASETBCSBRETRIGHT:SETBCSACLRCSBRETPRM:LCALLBUSYCLRRSCLRRWMOVDATAES,COMSETBECLRERETPRD:LCALLBUSYSETBRSCLRRWSETBEMOVDATAES,DATCLRERETPAGEFIRST:MOVA,COMORLA,#0B8HMOVCOM,ALCALLPRMRETLIEFIRST:MOVA,COMORLA,#40HMOVCOM,ALCALLPRMRETCHINE:MOV...