学习LCD编程的起步.pdfVIP

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

在发表之前首先声明,这篇文章是我大一时候写的,最早以“雷风”的名字发表 在21ic的论坛中,现在不少人转贴根本不著名“转”,甚至自己还标一个“原 创”,还有人写个“作者不详”,拜托大家转贴还是要有点专业精神好不好。 之所以产生写这个东西的想法,是因为趁着大一寒假这段时间看了看学习板的源 程序,在看lcd的时候很不顺利,花了五个晚上才看完(白天偷懒了^_^!,毕 竟在春节嘛)。联想起还有很多水平和我差不多甚至可能还低一点的菜鸟,就觉 得有义务把五个晚上的学习心得写出来。 这个心得是针对学习板上的lcd 驱动芯片SSD181X 系列写的,当然思想应该是相通的。其 实是我没有用过其他系列lcd (众人呕吐ing…… )。好了,接下来进入正题。 准备工作 文件下载 首先你要去网上下载一个SSD181X系列的PDF文件,这种文件网上到处都是,偶 就不多说了。刚开始需要借用51论坛电子白菜的文章作为总领,因为偶比较懒, 不想写这么多拉~~~(不要飞鸡蛋……)当然还是有部分内容增加的哈。 lcd介绍 我介绍的这个是MOTO的手机屏,大小为96*54(96列54行)。不过这个小小的 LCD屏也是很不错的。对比度可调,而且还有背光:)具体驱动器是: SSD1815, 是黑白点阵驱动芯片,最多支持132个SEG和64个COM,还有一个ICON(功能 设置)行。说起SEG,COM,也许很多人没接触 过,其实玻璃屏的LCD都是使用 SEG,COM的扫描来驱动的,为使需要点亮的内容呈显示状态,须将交流驱动电 压加在LCD的段电极与公共电极之间。原理 涉及物理化学问题,这里就不多说, 只打个比喻:一个‘井’字,是两行两列组成的,共有四个交点,其实就好比是 2个SEG,2个COM,要驱动一个固定的 点,要相应的一条COM和一条SEG都有 效如果要几个点亮,几个点灭,就需要用到扫描的原理,还记得行列键盘的原理 吗?其实它的驱动原理就差不多了:) 上面说的它支持132个SEG,64个COM,所以它支持最多132*64个点的LCD。但 实际上如果我们的LCD没有那么多个点话,就需要在上电的时候 对1815进行初 始化,指定COM和SEG的数目,还有BIAS数,说到BIAS,唉,又是个专业问题 了,LCD的驱动波形由几级电平组成,为防止对比度 不均匀,在不点亮象素对 应的电极上仍加有一定电压,这对降低点亮象素产生 的交叉干扰和防止对比度 不均匀很重要。LCD中非点亮象素(非选点)的电压有效值与点亮象素(选择点) 电压有效值之比(1/n)称为偏压比。确实比较难以 理解,你可以这样看:BIAS 是电平强度,和COM有关的东西。以上这些都要在LCD上电的时候初始化好,才 能正确地显示图文。 1815还自带显示RAM,英文是Graphic Display Data Ram就是图象显示数据存 储器,简称GDRAM。对于现在很多现成的LCM屏来说,控制芯片都带有了GDRAM 的,大小就和他的最大显示点数相当。 我估计你看到现在还是一头雾水,呵呵,没关系,当初我看的时候也是一头雾水, 看到后面你就会明白他们的原理了。 接口介绍 接着是1815的接口问题了,它支持8080,6800,I2C总线。8080,就是和我们 51一样的总线,有CS,WR,RD,然后是数据地址线;6800又叫摩托罗拉总线, 有R/W,E,然后是地址数据线;I2C总线,呵呵,当然就是I2C总线咯,还用说 么? 由于这个是摩托罗拉的LCD屏,出厂的时候已经配置为6800总线了,所以我们 不能用正常的51总线来驱动,但实际上6800是可以兼容8080总线的,先等我 介绍下这个总线吧: R/W脚:读写脚,为1的时候是读,0的时候是写。 E脚:使能脚,功能如同51总线的CS,也是低有效的,但数据D0-D7在高的时 候锁存。 D/C脚,这个是数据,命令选择脚,1的时候代表总线传输的是数据(不论是读 还是写),0的时候代表总线传输命令(不论是读还是写)。 D0-D7:理所当然的数据脚咯。 驱动原理很简单,在E为低的时候对R/W脚输入读写信号,读就是1,写就是0; 然后选择你读写的是数据还是命令,D/C脚1为数据,0为命令;最后就是数据 脚的数据了。 以上原理,用单片机IO做是很简单的事情,不过使用IO的缺点就是不能复用, 浪费了很多的资源,所以在学习板上是使用总线驱动LCD的。之前说了,某些 6800总线是可以用8080总线模拟的,而这个LCD就是可以使用8080总线的了。 6800总线读写控制只需要1只脚R/W,1为读0为写,而8080总线是两只脚RD, WR,其中的某个脚为低

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档