12864显示图形中上半屏和下半屏.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

最近买了一块12864液晶显示屏,淘宝给我的资料不算多,我就从网上下载了部分资料,通过研究别人的例程我发现了一些问题,并得出了自己的见解。

写程序一定要严谨,同时又要求精练,如果程序中多了些没用的语句不仅让学习的人看的一头雾水,而且又占用多余的空间,我想通过自己的实践来鄙视那些程序不严谨就挂到网上的人,给初学者很多困惑。

我就通过12864的绘图功能来说下,不对之处望求指正(附上绘图说明)

12864(ST7920驱动芯片)把屏幕分成上下两部分(如上图中把垂直坐标分成了两部分的00~1F)。水平坐标00到0F处于同一面,而不是上下屏的关系,[上半屏“07”后通过我标注的箭头连接是到下一个红色00行]。

在向GDRAM中写入要显示的图片时,我们先指定从X:00、Y:00处(也就是第①处)开始写入数据,我们先在第①处写图形数据(按照图片所标注,第15位在最左边,第0位在最右边,即在写入的时候LCD会先写高位字节,接着再写低位字节),接着LCD会自动把坐标定位到同一行第②处的开头,此时我们可以接着告诉LCD在这里写入图形数据,依此类推,当我们写满16次后,第00行(包括上半屏和下半屏的)就全写满了。那么我们接下去写入数据会出现什么情况呢?接着LCD又自动从第00行的第①处重新开始写了。这是因为ST7920控制芯片设计出来就这样,在写入的时候它只会在水平方向(X轴上)地址自增,并且在增加到0F地址之后就会变成00地址从头开始写。从这里我们可以明白,每次写满一行(共16部分)后就必须在程序里人为地把垂直方向(Y轴)的地址加1,不然就会造成只是在同一行重复写入的现象。

垂直(列)地址由AC6~AC0指定,共32行,列地址由AC3AC2AC1AC0指定,共16列

(00-0F),绘图程序如下:

通过以上所讲我想大家也明白了很多了吧,我看网上有很多教程说是要把屏幕分开两半来写程序,其实我觉得下半屏程序根本没必要再写出来,因为见上面的分析过程,其实“上半部分屏”程序已经完全把整个屏幕覆盖了,而下半部分屏相当于在原来的基础上又

重新覆盖了一部分。比如写第一行范围是00-0F,而下半部分屏第一行是从08-0F(重复部分就是08-0F),所以我把下半部分注释掉了,通过烧录进单片机发现绘出的图像依然一样,验证了我的想法。

文档评论(0)

hao187 + 关注
官方认证
内容提供者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地湖北
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档