12864图形显示原理分析_c程序.docVIP

  1. 1、本文档共21页,可阅读全部内容。
  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文档。上传文档
查看更多
12864图形显示原理分析_c程序

51单片机综合学习 12864液晶原理分析 1 辛勤学习了好几天,终于对 12864液晶有了些初步了解~没有视频教程学起来真有些累,基本上内部程序写入顺序都是根据程序自我变动,然后逆向反推出原理 …… 芯片:YM12864R P-1控制芯片 :ST7920A带中文字库 初步小结: 1、控制芯片不同,寄存器定义会不同 2、显示方式有并行和串行,程序不同 3、含字库芯片显示字符时不必对字符取模了 4、对芯片的结构地址一定要理解清楚 5、显示汉字时液晶芯片写入数据的顺序(即显示的顺序)要清楚 6、显示图片时液晶芯片写入数据的顺序(即显示的顺序)要清楚 7、显示汉字时的二级单元(一级为八位数据写入单元)要清楚 8、显示图片时的二级单元(一级为八位数据写入单元)要清楚 12864点阵液晶显示模块( LCM)就是由 128*64个液晶显示点组成的一个 128列*64行的阵列。每个显示点对应一位二进制数,1表示亮,0表示灭。存储这些点阵信息的 RAM称为显示数据存储器。要显 示某个图形或汉字就是将相应的点阵信息写入到相应的存储单元中。图形或汉字的点阵信息由自己设计,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。由于多数液晶显 示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以 12864液晶屏实际上是由左右两块独立的 64*64液晶屏拼接而成,每半屏有一个 512*8 bits显示数据 RAM。左右半屏驱动电路及存储器分别由片 选信号 CS1和 CS2选择。显示点在 64*64液晶屏上的位置由行号( line,0~63)与列号( column,0~63)确定。 512*8 bits RAM中某个存储单元的地址由页地址( Xpage,0~7)和列地址( Yaddress,0~63)确定。 每个存储单元存储 8个液晶点的显示信息。 为了使液晶点位置信息与存储地址的对应关系更直观关,将 64*64液晶屏从上至下 8等分为 8个显示块,每块包括 8行*64列个点阵。每列中的 8行点阵信息构成一个 8bits二进制数,存储在一个存储单元中。(注 意:二进制的高低有效位顺序与行号对应关系因不同商家而不同)存放一个显示块的 RAM区称为存储页。即 64*64液晶屏的点阵信息存储在 8个存储页中,每页 64个字节,每个字节存储一列(8行)点阵信息。 因此存储单元地址包括页地址(Xpage,0~7)和列地址(Yaddress,0~63)。例如点亮 128*64的屏中(20,30)位置上的液晶点,因列地址 30小于 64,该点在左半屏第 29列,所以 CS1有效;行地址 20除以 8取整得 2,取余得 4,该点在 RAM中页地址为 2,在字节中的序号为 4;所以将二进制数据也可能是高低顺序取决于制造商)写入 Xpage=2,Yaddress=29的存储单元中即点亮( 20, 30)上的液晶点。 芯片的结构一定要清楚! 点阵 LCD的显示原理 在数字电路中,所有的数据都是以 0和 1保存的,对 LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要 8位(一字节)即可。而对于中文,常用 却有 6000以上,于是我们的 DOS前辈想了一个办法,就是将 ASCII表的高 128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低 128位则留给英文字符使用,即英文的内码。 那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英 文或汉字的形状,如英文的A在字模的记载方式如图 1所示: 图 1 “A”字模图 而中文的“你”在字模中的记载却如图 2所示: 图 2 “你”字模图 图 3 图 4 字符二级单元(图 3中阴影部分) 一个汉字的二级单元是一个 16*16的区域,因些 128*64液晶可以显示 4行 8列共 32个汉字(如图 3)。而它的一个二级单元如图 4(在无字库时,对汉字的取模有横向跟纵向两种,要注意),对于并行含有 子库芯片的显示,只要设定好这个二级单元的地址(如 0X80+i,这样设定 i的范围为 0~31,这里注意第一行会直接跳到第三行;或者根据自己需要如第二行 0X90+i,i范围为 0~7;第三行 0X88+i,i范围为 0~ 7;),然后直接把汉字写入就 OK了~(串行无字符库的后面再做分析) 图 5:垂直坐标:上半屏 00~1F,总共为 32 水平坐标:上半屏水平坐标分别为 0X80+(00~07) 下半屏 00~1F,总共为 32 下半屏水平坐标分别为 0X

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档