完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
10个回答
|
|
|
|
|
|
|
|
|
|
|
|
|
|
可以不用74HC595,,12864液晶支持4位/8位并行或2线/3线串行
|
|
|
|
|
|
|
|
|
|
点阵LCD的显示原理
在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。 那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模的记载方式如图1所示: 图1 “A”字模图 而中文的“你”在字模中的记载却如图2所示: 图2 “你”字模图 12864点阵型LCD简介 12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。可完成图形显示,也可以显示8×4个(16×16点阵)汉字。 管脚号 管脚名称 LEVER 管脚功能描述 1 VSS 0 电源地 2 VDD +5.0V 电源电压 3 V0 - 液晶显示器驱动电压 4 D/I(RS) H/L D/I=“H”,表示DB7∽DB0为显示数据 D/I=“L”,表示DB7∽DB0为显示指令数据 5 R/W H/L R/W=“H”,E=“H”数据被读到DB7∽DB0 R/W=“L”,E=“H→L”数据被写到IR或DR 6 E H/L R/W=“L”,E信号下降沿锁存DB7∽DB0 R/W=“H”,E=“H”DDRAM数据读到DB7∽DB0 7 DB0 H/L 数据线 8 DB1 H/L 数据线 9 DB2 H/L 数据线 10 DB3 H/L 数据线 11 DB4 H/L 数据线 12 DB5 H/L 数据线 13 DB6 H/L 数据线 14 DB7 H/L 数据线 15 CS1 H/L H:选择芯片(右半屏)信号 16 CS2 H/L H:选择芯片(左半屏)信号 17 RET H/L 复位信号,低电平复位 18 VOUT -10V LCD驱动负电压 19 LED+ - LED背光板电源 20 LED- - LED背光板电源 表1:12864LCD的引脚说明 在使用12864LCD前先必须了解以下功能器件才能进行编程。12864内部功能器件及相关功能如下: 1. 指令寄存器(IR) IR是用于寄存指令码,与数据寄存器数据相对应。当D/I=0时,在E信号下降沿的作用下,指令码写入IR。 2.数据寄存器(DR) DR是用于寄存数据的,与指令寄存器寄存指令相对应。当D/I=1时,在下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7∽DB0数据总线。DR和DDRAM之间的数据传输是模块内部自动执行的。 3.忙标志:BF BF标志提供内部工作情况。BF=1表示模块在内部操作,此时模块不接受外部指令和数据。BF=0时,模块为准备状态,随时可接受外部指令和数据。 利用STATUS READ指令,可以将BF读到DB7总线,从检验模块之工作状态。 4.显示控制触发器DFF 此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY OFF),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。 DDF的状态是指令DISPLAY ON/OFF和RST信号控制的。 5.XY地址计数器 XY地址计数器是一个9位计数器。高3位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。 X地址计数器是没有记数功能的,只能用指令设置。 Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。 6.显示数据RAM(DDRAM) DDRAM是存储图形显示数据的。数据为1表示显示选择,数据为0表示显示非选择。DDRAM与地址和显示位置的关系见DDRAM地址表。 7.Z地址计数器 Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于显示行扫描同步。当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。 Z地址计数器可以用指令DISPLAY START LINE预置。因此,显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。此模块的DDRAM共64行,屏幕可以循环滚动显示64行。 12864LCD的指令系统及时序 该类液晶显示模块(即KS0108B及其兼容控制驱动器)的指令系统比较简单,总共只有七种。其指令表如表2所示: 指令名称 控制信号 控制代码 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 显示开关 0 0 0 0 1 1 1 1 1 1/0 显示起始行设置 0 0 1 1 X X X X X X 页设置 0 0 1 0 1 1 1 X X X 列地址设置 0 0 0 1 X X X X X X 读状态 1 0 BUSY 0 ON/OFF RST 0 0 0 0 写数据 0 1 写数据 读数据 1 1 读数据 表2:12864LCD指令表 各功能指令分别介绍如下。
DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 00 00111111/0 当DB0=1时,LCD显示RAM中的内容;DB0=0时,关闭显示。 2、显示起始行(ROW)设置指令 R/WRS DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 00 11显示起始行(0~63) 该指令设置了对应液晶屏最上一行的显示RAM的行号,有规律地改变显示起始行,可以使LCD实现显示滚屏的效果。 3、页(PAGE)设置指令 R/WRS DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 00 10111页号(0~7) 显示RAM共64行,分8页,每页8行。 4、列地址(Y Address)设置指令 R/WRS DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 00 01显示列地址(0~63) 设置了页地址和列地址,就唯一确定了显示RAM中的一个单元,这样MPU就可以 用读、写指令读出该单元中的内容或向该单元写进一个字节数据。 5、读状态指令 R/WRS DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 10 BUSY0ON/OFFREST0000 该指令用来查询液晶显示模块内部控制器的状态,各参量含义如下: BUSY:1-内部在工作0-正常状态 ON/OFF:1-显示关闭0-显示打开 RESET:1-复位状态0-正常状态 在BUSY和RESET状态时,除读状态指令外,其它指令均不对液晶显示模块产生作用。 在对液晶显示模块操作之前要查询BUSY状态,以确定是否可以对液晶显示模块进行操作。 6、写数据指令 R/WRS DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 01 写数据
DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 11 读显示数据 读、写数据指令每执行完一次读、写操作,列地址就自动增一。必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。 |
|
|
|
http://blog.chinaunix.net/uid-1701560-id-2837813.html
|
|
|
|
|
|
|
|
感谢众大神的解答,我会仔细看看的
|
|
|
|
只有小组成员才能发言,加入小组>>
692 浏览 0 评论
1106 浏览 1 评论
2473 浏览 5 评论
2808 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2646 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
653浏览 9评论
649浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
781浏览 6评论
628浏览 5评论
668浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 05:19 , Processed in 1.242791 second(s), Total 100, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号