QC12864B驱动说明

上传人:小** 文档编号:44150634 上传时间:2021-12-05 格式:DOC 页数:15 大小:336KB
收藏 版权申诉 举报 下载
QC12864B驱动说明_第1页
第1页 / 共15页
QC12864B驱动说明_第2页
第2页 / 共15页
QC12864B驱动说明_第3页
第3页 / 共15页
资源描述:

《QC12864B驱动说明》由会员分享,可在线阅读,更多相关《QC12864B驱动说明(15页珍藏版)》请在装配图网上搜索。

1、QC12864B驱动说明一、概述带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体 中文字库的点阵图形液晶显示模块;其显示分辨率为128X64,内置8192个16*16点汉字,和128个16*8点ASCII字符 集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8X4 If 16X16点 阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。山该模块构成的液晶显示方案与同类型的图形点阵液晶 显示模块相比,不论硕件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。二、基本

2、特性(1)低电源电压(VDD:+3.0+5.5V)(2)显示分辨率:128 X 64点(3)内置汉字字库,提供8192个16X16点阵汉字(简緊体可选)(4)内担128个16X8点阵字符(5)2MHZ时钟频率(6)显示方式:STN、半透、正显(7)驱动方式:1/32DUTY, 1/5BIAS(8)视角方向:6点(9)背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5-1/10(10)通讯方式:串行、并口可选(11)内SDC-DC转换电路,无需外加负压(12)无需片选信号,简化软件设计(13)工作温度:0C - +55C,存储温度:-20X: - +60X:三、模块接口说明引脚号引脚名称方

3、向功能说明1VSS-棋块的电源地2VDD-模块的电源正端3VO-匸CD驱动电压输入端4RS(CS)ILL并行的指令/数堀迭择佶号;串行的片选信号5RAV(SID)HZL并行的读写选择信号;串行的数拥口6E(CLK)H/L并行的便能信号;串行的同步时钟7DBOH./L数据08DB1H7L数拯19DB2HDCL数据210DB3H/L数寤311DB4HZL数锯412DB5HZL数据513DB6HZL数据614DB7WL数据715PSBHZL并/串行接口选样:H-井行;L-半行16NC空脚17/RETWL复位低电平有效18NC空脚19LED A-背光源正极(匸曰”几厂)20LED K-背光源员极(匸E

4、D-OV)*注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。控制器接口信号说明:1、RS, R/W的配合选择决定控制界面的4种模式:RSR/I功能说明LLMPU写指令到指令暂存器(IR)LH读出忙标志(BF)及地址记数器(AC)的状态HLMPI写入数据到数据暂存器(DR)HHMPU从数据暂存器(DR)中读出数据2、E信号E状态执行动作结果高一低I/O 缓冲一DR配合/W进行写数据或指令高

5、DR1/0 缓冲配合R进行读数据或指令低/低一高无动作忙标志:BFBF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=O时,模块为准备状态,随时可接受外部指令和数据.利用STATUS RD指令,可以将BF读到DB7总线,从而检验模块之工作状态.字型产生ROM (CGROM)字型产生ROM (CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY ON), DDRAM的内容就显示在屏幕上,DFF=O为关显示(DISPLAY OFF) ODFF的状态是指令DISPLAY ON/OFF 和RST信号控制的。显示数

6、据RAM (DDRAM)模块内部显示数据RA5(提供64X2个位元组的空间,最多可控制4行16字(61个字的中文 字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型:此模块可显示三种字型,分别是半角英数字型 (16*8)、CGRAM字型及CGROM的中文字型,三种字型的选择,山在DDRAM中写入的编码选择,在0000H0006H的编码中(其代码分别是0000、0002、0004. 0006共4个)将选择CGRAM的|勺定义字型,02H7FH的编码中将选择半角英数字的 字型,至于A1以上的编码将H动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5 (A14

7、0-D75F), GB (A1A0-F7FFH)。字型产生RAM(CGRAM)字型产生RA5(提供图象定义(造字)功能,可以提供四组16X16点的H定义图象空间,使用者可以将内部字型没有提供的图象字型H行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。地址计数器AC地址计数器是用来贮存DDRAM, CGRAM之一的地址,它可山设定指令暂存器来改变,之后只要读取或是写 入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到 DB6DB0 中。光标/闪烁控制电路此模块提供硬体光标及闪烁控制电路,山地址计

8、数器的值来指定DDRAM中的光标或闪烁位置。四、指令说明模块控制芯片提供两套控制命令,基木指令和扩充指令如下:指令表1: RE=0:基木指令基本指令(30)指令指令码功能RSR/WD7D6D5D4D3D2D1D0清除显示0000000001将DDRAM填满20H,并且设定DDRAM的地址计数器(AC)到00H地址 归位000000001X设定DDR.AM的地址计数器(AC)到00H,并且将游标移到开头原点位垃; 这个指令不改变DDRAM的内容显示状态 开/关0000001DCBD=l:整体显示ON C=l:游标ONB=l:游标位呂反白允许进入点设定00000001I/DS指定在数据的读取与写入

9、时,设定游标的移动方向及指定显示的移位游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位;这个指令不改变DDRAM的内容功能 设定00001DLXREXXDL=O/1: 4/8 位数据RE=1:扩充指令操作RE=O:基木指令操作设定CGRAM地址0001AC5AC4AC3AC2AC1ACO设定CGRAM地址设定DDRAM地址0010AC5AC4AC3AC2AC1ACO设定DDRAM地址(显示位址)第一行:80H-87H第二行:90H-97H读取忙标 志和地址01BFAC6AC5AC4AC3AC2AC1ACO读取忙标志(BF)可以确认内部动作爬否完成,同时可以读出地址

10、计数器(AC)的值写数据到RAM10数据将数据D7DO写入到内部的RAM (DDRAM/CGRA51/IRAM/GR)读出RAM 的值11数据从内部RAM读取数据D7一一DO(DDRAil/CGRAM/IRAM/GRAil)指令表2: RE=1:扩充指令(34)指令指令码功能RSR/WD7D6D5D4D3D2D1DO待命模式0000000001进入待命模式,执行其他指令都棵终止 待命模式卷动地址 开关开启000000001SRSR=1:允许输入垂直卷动地址SR=O:允许输入IRAM和CGRAM地址反白 选择00000001R1RO选择2行中的任一行作反白显示,并可决定反白与否。初始值R1RO=

11、OO.第一次设定为反白显示,再次设定变回正常睡眠模式0000001SLXXSL=O:进入睡眠模式SL=1:脱离睡眠模式扩充00001CLXREG0CL=O/1: 4/8 位数据功能设定RE=1:扩充指令操作RE=O:基本指令操作0=1/0:绘图开关设定绘图RAM 地址0010AC60AC50AC4AC3AC3AC2AC2AC1AC1ACOACO设定绘图RAM先设定亚宜(列)地址AC6AC5-AC0 再设定水平(行)地址AC3AC2AC1AC0 将以上16位地址连续写入即可备注:当IC1在接受指令前,微处理器必须先确认其内部处于非忙碌状态,即读取BF标志时,BF需为零,方可接受新的指令;如果在送

12、出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延长一段较长的时间,即是等待前一个指 令确实执行完成。五、应用举例:1、使用前的准备:先给模块加上工作电压,再按照下图的连接方法调节LCD的对比度,使其显示出黑色的底影。此过程 亦可以初步检测LCD有无缺段现象。2、字符显示:带中文字库的128X6I-0102B毎屏可显示4行8列共32个16X16点阵的汉字,每个显示RAM可显示1个中 文字符或2个16X8点阵全高ASCII码字符,即毎屏最多可实现32个中文字符或64个ASCII码字符的显示。带中文字 库的128X64-0402B内部提供128X2字节的字符显示RAM缓冲区(DDR

13、AH)。字符显示是通过将字符显示编码写入该字符 显示RAM实现的。根据写入内容的不同,可分别在液晶屏上显示CGROH (中文字库)、HCGROM (ASCII码字库)及CGRAM(白定义字形)的内容。三种不同字符/字型的选择编码范I判为:00000006H (其代码分别足0000、0002、000K 0006 共4个)显示白定义字型,02H7FH显示半宽ASCII码字符,A1A0HF7FFH显示8192种GB2312中文字库字形。字符显 示RAM在液晶模块中的地址80H9FH。字符显示的RAM的地址与32个字符显示区域有着一一对应的关系,其对应关系如 下表所示。80H81H82H83H84H8

14、5H86H87H90H91H92H93H94H95H96H97H88H89H8AH8BH8CH8DH8EH8FH98H99H9AH9BH9CH9DH9EH9FH3、图形显示先设亚口地址再设水平地址(连续写入两个字节的资料来完成亚直与水平的坐标地址)垂直地址范围AC5. AC0水平地址范围AC3-AC0绘图RAM的地址计数器(AC)只会对水平地址(X轴)自动加一,当水平地址=0FH时会重新设为00H但并不会对亚直地址 做进位白动加一,故当连续写入多笔资料时,程序需白行判断垂直地址是否需重新设定。GDRAM的坐标地址与资料排列顺 序如下图:4、应用说明用带中文字库的128X64显示模块时应注意以下

15、几点: 欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。 显示ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,山模块白动对地址 加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。 当字符编码为2字节时,应先写入高位字节,再写入低位字节。 模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。 如果在送出一个指令前不检査BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确 定执行完成。指令执行的时间请参考指令表中

16、的指令执行时间说明。“RE”为基本指令集与扩充指令集的选择控制位。 当变更“RE”后,以后的指令集将维持在最后的状态,除非再次变更“RE”位,否则使用相同指令集时,无需每次均重 设“RE”位六、软件初始化1开发板(型号LY-51S)位定义:sbit E=P2A6;sbit RW=P2A5;sbit RS=P2A4;sbit RST=P2A3;sbit Busy=P0z 7;#defiiie LCDdata P02. 延时函数:void delay(uuit xx)while(xx);3. 读忙状态void idbf(void)while(l)RS=0;RW=1;E=0;LCDdata=0xFF

17、;E=l;if(LCDdata&Eusy)=0)break;4. 写数据void wr_data(uchar wrdata)ldbfO;RS=1;RW=0;E=l;LCDdata=wrdata;E=0;5. 写指令(写指令)void wr_cmd(uchar cmd)idbfQ;当EF=0时,模块内部方可接收新的指令RS=0;RW=0;E=l;LCDdata=cmd;E=0;6. 确定行、列号,并显示数据void display(uchar x.uchar y.uchar *seg) /x 为行号,y 为列号uchai i;umt t=0;switch(x)确定行号case 1: i=0x80

18、; break;第一行case 2:1=0x90; break;第二行case 3:1=0x88; break;第三行case 4:1=0x98; break;第四行default: break;i=i+y-l;确定列号wi_cmd(i);wliile(segt!=,O,)wi_data(seg t); 写入需要显示字符的显示码7. Led写数据初始化void lcd_uiit(void)delay(5000);RST=1;RST=0;RST=1;wi_cmd(0x30);delay(500);wi_cmd(0x30);/2次功能模式设置,不用判忙(基本指令)delay(500);wi_cmd

19、(0x0c);整体显示,光标及其设置不显示delay(500);wi_cmd(0x01);清屏delay(500);delay(500);wi_cmd(0x06);光标右移delay(500);以下内容只用于绘图(绘图模式下,会调用上述部分函数,请读者自行添加)8 读数据uchar read_data(void) uchai RData;LCDdata=Oxff;rdbf();RS=1;RW=1;E=0;E=l;RData=LCDdata;E=0;letuin RData; 9. GDRAM初始化void ch_GDRAM(void)uchai x、y;foi(y=0;y64;y+)for(x

20、=0;xl 6;x+)行地址列地址wr_cmd(0x34);wi_cmd(y+0x80);wi_cmd(x-H)x80); wi_cmd(0x30); wi_data(0x00); wi_data(0x00);10. Led绘图初始化void lcd_Hiit(void)delay(2000);wi_cmd(0x30); delay(50);wi_cmd(0x30);/2次功能模式设置,不用判忙(基本指令)delay(50); wi_cmd(0x0c);整体显示,光标及其设置不显示delay(50); wi_cmd(0x01);清屏delay(500); wi_cmd(0x06);光标右移cl

21、i_GDRAM();11 绘制128X64的图片 void disp_pictuie(uchar *img)uclw ij;for(j=0;j32j+)for(i=0;i8;i+) wi_cmd(0x34); wi_cmd(0x80+j); wi_cmd(0x80+i);wi_cmd(0x30);wi_data(imgj * 16+i*2); wi_data(imgj * 16+i*2+l );for(j=32j64j+)for(i=0;i8;i+) wi_cmd(0x34); wi_cmd(0x80+j-32); wr_cmd(0x80+(i+8);wi_cmd(0x30); wi_data

22、(imgj * 16+i*2);wi_data(imgj * 16+i*2+l );wi_cmd(0x36);12. 绘制128X64图的上半部分(128X32) void dispU_pictuie(uchai- *iing)uchai i.j;for(j=O;j32j+)fbr(i=O;i8;i+)wr_cmd(0x34);wr_cmd(0x80+j);wr_cmd(0x80+i);wr_cmd(0x30);wr_data(iingj * 16+i*2);wr_data(iingj * 16+i*2+l);wi_cmd(0x36);13. 绘制128X64图的下半部分(128X32) vo

23、id dispD_pictuie(uchai- *iing)uchai i.j;for(j=O;j32j+)fbr(i=O;i8;i+)wr_cmd(0x34);wr_cmd(0x80+j); wr_cmd(0x80+(i+8);wr_cmd(0x30);wr_data(iingj * 16+i*2);wr_data(iingj * 16+i*2+l);wi_cmd(0x36);14画点(该程序用于以下绘图程序的调用,必须写)void drawPoiiit(uchar x.uchai- y.uchai- color) uchai row,collum.cbite;uchai tempHjemp

24、L;wi_cmd(0x34);wi_cmd(0x36); collum=x4; cbite=x&OxOf;if(y32)row=y; elseiow=y-32; collum+=8;wi_cmd(0x80+row); wi_cmd(0x80+collum); read_data();tempH=read_dataQ; tempL=iead_dataQ; wi_cmd(0x80+row); wi_cmd(0x80+collum);if(color)if(cbite8)tempH|=( 1 (7-cbite);elsetempL|=(l(l 5-cbite); elseif(cbitexl)对xO

25、、xl大小进行排列,以便画图/x0128.xl12 &y0=xO);16 绘竖线void drawColluniLme(uchar xOuchar yO,uchai yLuchar color) uchai temp;/x0128,y064,yiyl)temp=yO;vO=yl;vl=tenip;wliile (yO=yl)drawPomt(xO,0,color);yo+;17.画任意线(本函数要调用绘横线和绘竖线函数,读者请自行添写) void drawLme(uchar xO,uchai vO.uchar xl,uchai vl.uchai color)mt dx; /直线x轴差值变量mt

26、dy;/直线y轴差值变量chardx_sym;x轴增长方向,为-1时减值方向,chardy_sym;y轴增长方向,为-1时减值方向,mtdx_2;/dx*2值变量,用于加快运算速度mtdy_2;/dy*2值变量,用于加快运算速度mtdi;/决策变量dx = xl-xO;/求取两点之间的差值为1时增值方向为1时增值方向dy = vl-yO;if (dx0) dx_sym=l; elsediawColluniLme(xO,yO,yl,color); return;if(dy0) dy_svm=l;elseif(dy=dy)di=dy_2-dx; while(xO!=xl) diawPomt(xO,

27、yO,color); xO+=dx_sym; if(di0) di+=dy_2; elsedi+=dy_2-dx_2;yO+=dy_sym;diawP omt(xO,yO,color);elsedi=dx_2-dy; while(yO!=yl)diawPomt(xO,yO,color); yO+=dy_sym;if(di0) di+=dx_2;elsedi+=dx_2dy_2; xO+=dx_sym;diawP omt(xO,yO,color);18 主函数说明显示数据(每行最多显示8个汉字,或16个字符,请读者注意)uclw code stnng_l=*你好”; void niain(void)lcd_imt();d isplay (12 s tnn j 1); wlule(l);说明:要同时显示汉字和字母时,偶数个字母可直接和汉字写在一起。当字母个数为奇数时,字母 在前,空一格再写汉字;若汉字在前,可以直接在汉字后写字母。uchai-codeliz=图形代码(请读者利用取模软件自行绘图添加); void niainQlcd_imt(); delay(20); wr_cmd(0x34); wi_cmd(0x36); disp_picture(liz);delay(5000); wlule(l);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!