您的位置 首页 数字

克己单片机之六……LCD12864的驱动

LCD12864的驱动LCD12864在市面上主要分为两种,一种是采用st7920控制器的,它一般带有中文字库字模,价格略高一点。另一种是采用KS0108控制…

LCD12864驱动

LCD12864在市面上首要分为两种,一种是选用st7920操控器的,它一般带有中文字库字模,价格略高一点。另一种是选用KS0108操控器,它仅仅点阵形式,不带字库。很可惜,我的这块便是KS0108操控器不带汉字库的,不过不计划用它专门显现文本,也就无所谓了。
LCD12864模块的20个引脚界说如下:
1。Vss 逻辑电源
2。VDD 逻辑电源正 5v
3。V0  LCD驱动电压
4。RS  数据/指令挑选:高电平为数据,低电平为指令
5。R/W 读/写挑选:高电平为读数据,低电平为写数据
6。E  读写使能,高电平有用,下降沿确认数据
7。DB0 数据输入输出引脚
8。DB1 数据输入输出引脚
9。DB2 数据输入输出引脚
10。DB3 数据输入输出引脚
11。DB4 数据输入输出引脚
12。DB5 数据输入输出引脚
13。DB6 数据输入输出引脚
14。DB7 数据输入输出引脚
15。CS1 片挑选号,低电平时挑选前64列
16。CS2 片挑选号,低电平时挑选后64列
17。RET 复位信号,低电平有用。
18。VEE 输出-15v电源给V0供给驱动电源
19。A  背光电源LED正极
20。K  背光电源LED负极
详细电路图如下:
制做如下:
接口阐明:
装上12864
详细的电路仍是两个电阻。一个背光限流电阻。一个液晶驱动电压调理电阻。背光电阻仍是任何时候在19、20脚与电源之间串上个100欧电位器接上电源。调理电位器到适宜亮度。详细值最好是到调试完程序能够正常显现后再将阻值确认换成固定电阻。液晶驱动电压的调整在数据线、电源线接好的前提下是在Vee(-15v)和地之直接一个电位器。中直接V0,经过调理电位器来调理V0上的电压。当V0上为-15V时为全暗(液晶显现为全黑)。当V0为0V时为全亮。调理电位器使屏幕从全暗刚好变到亮时,便可进行程序的调试。待屏幕显现正常后,进行对比度的细调,然后丈量这两头的阻值在地和V0之间、V0和Vee之间换成两个固定电阻焊上就好了。注意在V0的电压是在一个很小的规模有用。我的便是在-2.2——-2.5这个规模。细心调理V0和地之间的电阻使V0上的电压在2.3V。
更换为固定电阻后的装配图:
下面说说详细的驱动:
先来了解一下LCD12864的内部操控结构:见图
能够看出12864屏是分为左、右两块操控的。一切对屏幕的操作要受片选CS1、CS2来操控。
咱们再来看一看对屏幕操作数据与屏幕点阵的排布联系:见下图。
从上图能够看出数据按字节在屏幕上是竖向摆放的。上方为低位,下方为高位。因此在横向上(也便是Y)就总共是128列数据。分为CS1和CS2两个64列来写入。在竖方向上(也便是X)一字节数据显现8个点,竖向64个点分为8个字节,称做8页(X=0-7)。了解这些后咱们就知道要满屏显现一张图就要从y=0…127、X=0…7总共写128×8=1024个字节的数据。同样在AT89S51中存一张图就要1024个字节的空间。
好!下面咱们来了解对LCD12864进行操作的一些指令。
下面对上图的指作解说:
1.显现开关操控(DISPLAY ON/OFF)
D=1:开显现(DISPLAY ON) 意即显现器能够进行各种显现操作
D=0:关显现(DISPLAY OFF) 意即不能对显现器进行各种显现操作
2.设置显现起始行(DISPLAY START LINE)
前面在Z地址计数器一节现已描绘了显现起始行是由Z地址计数器操控的。A5~A0 6位地址主动送入Z地址计数器,起始行的地址能够是0~63的恣意一行。
例如: 挑选A5~A0是62,则起始行与DDRAM行的对应联系如下:
DDRAM 行:62 63 0 1 2 3 ·················28 29
屏幕显现行: 1 2 3 4 5 6················· 31 32
3.设置页地址(SET PAGE “X ADDRESS”)
所谓页地址便是DDRAM的行地址,8行为一页,模块共64行即8页,A2~A0表明0~7页。读写数据对地址没有影响,页地址由本指令或RST信号改动复位后页地址为0。页地址与DDRAM的对应联系见DDRAM地址表。
4.设置Y地址(SET Y ADDRESS)
此指令的效果是将A5~A0送入Y地址计数器,作为DDRAM的Y地址指针。在对DDRA M进行读写操作后,Y地址指针主动加1,指向下一个DDRAM单元。
5.读状况(STATUS READ)
当R/W=1 D/I=0时,在E信号为“H”的效果下,状况别离输出到数据总线(DB7~DB0)的相应位。
BF: 前面已叙说过(见BF标志位一节)。
ON/OFF: 表明DFF触发器的状况(见DFF触发器一节)。
RST: RST=1表明内部正在初始化,此刻组件不接受任何指令和数据。
6.写显现数据(WRITE DISPLAY DATE)
D7~D0为显现数据,此指令把D7~D0写入相应的DDRAM单元,Y地址指针主动加1。
7.读显现数据(READ DISPLAY DATE)
此指令把DDRAM的内容D7~D0读到数据总线DB7~DB0,Y地址指针主动加1。
再帖一下接口时序图
1.写操作时序
2.读操作时序
时序参数表:
又帖了这么多指令呀时序图什么的,看了就头晕。我也和你相同不爱看这些单调的东西。
下面实践写些程序让屏幕亮起来。
运转:
不要走开哦!我会不断补全的。。。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/272106.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部