LCD

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

无字库12864液晶的驱动方法

12864是单片机比较常用的黑白液晶,驱动的关键点有一下几点:

(1)串行或者并行驱动方式:一般买到的lcd模块(lcd板+引出板)都引出了插针或插座,方便单片机接插,如果只有8pin,一定是串行方式了。如果是16pin或者20pin,估计是能串行或者并行选择的。哪个类型其实无所谓的,串行的屏不能读lcd的ram内容,也就是在同一个page的列里,不能定位到单个点来话,因为读不到以前这个列的信息,但是办法是可以用单片机的ram做备份,之后读写单片机ram,之后copy到lcd模块即可。

(2)行地址、列地址、页地址:不像pc或其他彩色lcd,一个像素使用一个字节(8bit)以上内存来描述,单色lcd其实就是2颜色,如果用8bit描述一个像素的话,未免浪费,1bit 即可。也就是说,要每次寻址一个像素是做不到的,选址的最小力度是8bit,即一个字节,用(列、行)(x、y)这样的方式是做不到的单位是1的。所以有了页,每个页包含了8行,就是说没写8bit进入,就会在相应的页里的8个行里、相应的列上写上8bit的数据,看上去是竖着的。意思就是12864中,定位了(列、页)之后,写8bit(不能只写1bit)数据,会影响相应页里、列里,8行的像素都会写上,这时候如果不能读,意味着会覆盖原来的值。这时候有人会有疑问,为什么每次写的多行,而不是多列呢?如果是多列的话,意味着我们的是每次写一小行,如果是字模的话,写完一个字,意味着我们要切换页,因为多数时候我们的习惯是横着写字的,而列地址又能自动的增加,这时候我们只要一直写,就能写满整个页,不用切换了。

那么行地址干嘛用的呢?可以初始化成0,不使用。作用也很明显,比如我们写了12864的缓冲区,但是我不想从第一行就开始显示,我想通第二行开始显示,这个时候就用上了行地址,前边写的(列、页)这样的东西,其实是逻辑上的写到了内存里,lcd真正显示的时候,会根据行地址的偏移来刷到lcd上显示出来,行地址的作用很明显,可以用来卷屏。

(3)字模:因为(列、页)这样的形式,写字形是竖着写的,就要注意字模的数组中,挨着保存的是字模的每个竖条的点阵信息。工具支持这样取的。

一下这篇文章是比较好,比较全面的关于12864驱动的介绍。

转载地址:/autooo/mu/moni/2011-12-28/85417.html

在制作单片机系统时,一般都需要用显示器件来显示单片机的工作状态并显示输出结果,如LED、数码管和液晶显示器等。LED最简单,但能给出的信息很少。数码管能清晰地显示数字和部分字母,但是耗电较大,不适合使用电池供电的装置

在制作单片机系统时,一般都需要用显示器件来显示单片机的工作状态并显示输出结果,如LED、数码管和液晶显示器等。LED最简单,但能给出的信息很少。数码管能清晰地显示数字和部分字母,但是耗电较大,不适合使用电池供电的装置。

常见的液晶显示器有段式液晶、字符液晶和图形液晶等。其中,段式液晶最省电,但对于通用显示使用起来不很方便,只能显示固定式数字或符号,而且需要专用驱动电路或特殊的单片机。

字符液晶(如1602)用得比较多,容易和单片机配合,但是一般都需要5V工作电压,虽然

现在也有3V就可以工作的模块,但是体积还是较大,而且只能显示数字和西文字符,无法显示图形和汉字。

点阵液晶模块既可以显示ASCII字符,又可以显示汉字和图形,相对于前面几种,具有更大的灵活性,所以使用得越来越多。不过常用的图形液晶因为显示面积增加,体积比字符液晶(如1602)更大,价格也更贵。初学者要注意的是,12864图形点阵液晶随着厂家设计使用的驱动芯片不同,驱动程序有所区别,不像1602那样基本通用。

几种常见的12864图形点阵模块

12864点阵液晶模块分为带汉字库和不带汉字库两大类,目前带汉字库的通常是ST7920驱动,它可以工作在汉字字符方式和图形点阵方式,很多制作都用它,如果需要显示较多汉字,用它最为方便。

在显示汉字数量很少的场合,我们可以使用更加廉价的、不带字库的点阵液晶模块,这正是本文重点介绍的。它们的控制电路有KS0108和ST7565两种:KS0108很简单,一共只有7条指令,可是它没有串行接口;ST7565有20多条指令(最常用的也就几条),有串行接口,可选串行或并行工作。KS0108和ST7565的指令和上述带字库的ST7920区别较大,所以初学者买液晶时一定要搞清楚是哪种驱动电路。即使同样的驱动电路,不同厂家或者不同型号的产品,具体细节仍可能不同。例如有的片选信号是高电平有效,有的却是低电平有效,有的把显示区分为左右两半分别选取,有的却不加区分。所以使用前要仔细看厂家说明,如果没有,就要看液晶模块背面给出的具体型号,根据这个型号去查找使用手册。

笔者最近在淘宝网上搜寻到一款12864的图形点阵液晶,只有4cm宽、3.5cm高,显示面积为3.2cm宽、1.95cm高,非常小巧。更加难能可贵的是它可以在3V低电压工作,很适合我们制作小型便携装置。该液晶模块型号是SP12864FPD-12CSBE,由北京集粹电子设备公司出品,它的外形见图1。

图2、图3所示为笔者用它制作的一个小小日历钟,它的特点是具有可以随意转换的文字和图形界面。文字界面除了显示年月日时分秒,在右上角还有一个小鸡啄米的小动画,图形界面用指针在刻度上指示出时分秒,是不是有点新意呢?图4所示是调频收音机的显示屏,用进度条指示音量,用刻度尺显示信号强度,比1602只能显示数字和字母要生动多了。没有字库用起来是否很麻烦?其实搞清了图形点阵的基本工作原理,用起来并不麻烦却更灵

活,不带字库我们就按需要打造字符!

下面就谈谈这个液晶的驱动方法,以后将给出一些制作实例,以帮助初学者用它做出具有个性的东西。

液晶模块SO12864-12C简介

此型号小液晶包括一系列子型号。这次所用的SO12864FPD-12CSBE只是其中的一种,我们先来了解一下它的主要特性:

◆逻辑或电源电压2.8~5.5V;

◆蓝色背光,背光电压3V;

◆串行接口,用8个焊盘引出包括电源、背光、地和控制线数据线;

◆不带字库,需要自己编辑外部字模数组;

◆速度较快,用时钟1MHz的A VR单片机驱动,编程时无须附加脉冲额外延时;

◆使用ST7565电路,命令代码一共23条。

显然,它十分适合低压小尺寸场合应用,串行接口最大限度减少了液晶和单片机的连线,虽说比并行慢一点,实际上如果不是频繁刷屏影响并不大。要自己编制字库确实比较麻烦,但是只要显示的文字量少,制作小字模也不困难,反而可以自己打造个性化的字体,使得显示具有特色。

把液晶模块翻过来,如图5所示,发现电路板上没有通常液晶模块的黑胶封装集成电路,原来这个液晶采用的是“COG”封装,就是把集成电路直接绑定在液晶玻璃板上。

它的8个接口焊盘位于模块上方,定义如下:

1. 片选CS:它为低电平才能进行操作,在加载数据后至少维持40ns低电平。

2. 复位RES:启动时至少维持1μs低电平以使液晶内部复位,然后升高,再过1μs完成复位,以后才能对液晶进行操作。

3. 命令数据选择A0:高电平为数据,低电平为命令。

4. 串行时钟SCL:顶底宽度至少25ns,低时A0和SI至少稳定20ns,然后在上升沿加载数据

相关文档
最新文档