网站大量收购独家精品文档,联系QQ:2885784924

首先,谈1下自己的感想.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
首先,谈1下自己的感想

首先,谈一下自己的感想: 刚开始不懂得怎么驱动1602液晶,不知道如何去驱动它,所以就去查资料,而我查到的资料都是罗列式的讲述关于1602的指令操作,显得不是很系统,所以我刚开始看了一遍感觉收获不多,而且有的中文翻译还不是很正确,有的指令和英文的原意有差别,也就是翻译错误!所以,鼓励尽量看英文文档! 所以,我就结合自己编写1602驱动的经历写一篇系统的文档! 一 入门篇 主要技术参数: 一般我们使用一个器件都要先大体了解它的一些技术参数 显示容量: 16×2 字符(两行) 芯片工作电压: 4.5~5.5V 工作电流: 2.0mA(5.0V) 模块最佳工作电压: 5.0V 字符尺寸: 2.95(W)×4.35(H)mm 接口的功能说明: 知道了一些具体的参数,我们就要知道应用道我们的工程中如何控制它的引脚,也就是 如何设计电路 编号 符号 引脚说明 1 VSS 电源地 2 VDD 电源正极 3 VL 液晶显示偏压信号 4 RS 数据/命令选择端(H/L) 5 R/W 读/写选择端(H/L) 6 E 使能信号 7~14 D0~D7 Data I/O (0~7) 15 BLA 背光正极 16 BLK 背光负极 其实外形尺寸,我们去查参考资料就可以啦,通过看了1602的介绍,它的显示原理就是:规定一个字符是由2.95(W)×4.35(H)mm的点阵组成,我们通过控制点阵中的哪些点显示出灰度来显示不同的字符! 到了这里没有具体介绍这些字符的来源,不过看技术资料就可以了!我们知道1602的RAM存储区有字符库,而和这些字符库通信的是 Data I/O口,这些字符库大体的编码规则是I/O口的高4位和低4位组成一个矩阵,不同字符的显示就是通过控制I/O 口的高低电平,然后形成不同的字符!所以我们可以在程序的控制下,给Data I/O赋值(要显示的字符),然后根据赋的值查字符库,对应的显示在屏幕上! 所以,我们只是大体知道1602的显示原理,没有必要太深入,只要知道这一点,我们就应该有点思路,下面我们要掌握的就是如何编程序,因为不只是简单的给Data I/O一个值他就可以显示的,这是要通过一些控制指令来实现的! 第2步说到给Data I/O赋值,也就是 “写数据”,而这些数据写到了哪里呢? 通过看液晶的内部结构,知道它的控制器里有80×8位(80字节)的RAM缓存区,但是如何访问呢? 规定:控制器内部有一个数据地址指针,可以通过它来访问! 而数据指针的设置是由“指令码”来完成的! 指令码是如何构成的呢? 数据指针设置如下: 指令码 功能 80H+地址码 设置数据地址指针 也就是说只要确定了地址码就OK了! 从图中看出,1602 第一行的地址码为00-27H 第二行的地址码为40-67H 但是从前面知道,1602的屏幕长度只能显示16个字符,所以 第一行能显示出字符的地址为00-0FH 第二行能显示出字符的地址为40-4FH 所以,当要设置数据地址指针也即在LCD上的哪行显示字符时,由80H+加地址码构成指令码,如 写入到第一行, 则80H+00H=80H,(00h为RAM的首地址对应LCD的第一行首地址) 写入到第二行, 则80H+40H=C0H,(40h为RAM的首地址对应LCD的第二行首地址) 其实,我刚开始不会驱动1602就是因为不知道向1602的RAM缓存区写数据的原理,现在搞通了,剩下的就是来掌握控制1602显示的一些指令! 因为,生手可能看得懂这些指令,但是不知道如何下手来些驱动程序,下面我就结合一下我写过的程序讲一下使用这些指令的思路,记住:指令是固定的,就那么些,我们要作的就是掌握调用这些指令的顺序,让1602按我们的主观意愿来显示出我们想要的东西! 二 指令篇 1. 先来说一下1602的基本操作时序(中文版的资料,一些时序参数不精确,尽量看英文的) 读状态: 输入:RS=L RW=H(读) E=H 输出:D0~D7=状态字 读数据: 输入:RS=H RW=H(读) E=H 输出:D0~D7=数据 (时序图参考英文的技术文档) 写命令: 输入: RS=L RW=L(写) D0~D7=指令码,E=高脉冲 输出:无 写数据: 输入: RS=H RW=L(写) D0~D7=数据, E=高脉冲 输出:无 (时序图参考英文的技术文档) 2. 状态字(STATUS) STA7 STA6 STA5 STA4 STA3 STA2 STA1

文档评论(0)

jyf123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6153235235000003

1亿VIP精品文档

相关文档