微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > LCD12864怎么显示一般的曲线?

LCD12864怎么显示一般的曲线?

时间:10-02 整理:3721RD 点击:

最近我在做一个需要在LCD上显示随机曲线的设计,但是以前都是使用字库显示的,不知道怎么在LCD上做随机曲线的显示。


哪位大神有相关的设计经验,请指导一下,在此无比感谢!


曲线就是描点呀

要想使用12864实现曲线的显示,必须先实现能够自由控制12864中的任意一个像素点的亮灭,而不能影响到相邻其他点的状态。
因为对12874液晶进行写操作的话,写入数据的最小单位也是一个16进制数,是8位的,能够控制8个像素点,所以,对液晶进行操作时,能够一次控制液晶的最少像素点数为8个。
所以要想控制液晶中的某一个点的亮灭,必须找到一种办法,使这一个点的数据的写入由写入这个16进制数来实现,而基本原则是不能影响其他7位数据的状态。所以要想实现控制某一个像素点,必须先知道目前液晶中在这个像素点左右其他7位的目前数据,然后把该点的数据按位加到这个数据上,而不能影响其他7位数据的状态。
实现知道目前显示的数据的方法有两种:1,实现液晶的读操作,把GDRAM中的对应的数据读出来,就可以了;2,人工构建一个虚拟的缓存寄存器(其实也就是一个二维数组),保存液晶GDRAM最后一次写入的数据,即是目前液晶显示的数据,因为保存的是8位的16进制数,所以128*64个像素点只需要16*64的数组就可以存储完了。在写12864的同时写虚拟寄存器,写之前读出虚拟寄存器的值与点位置相或,这样才不会覆盖之前的点。

楼上正解!12864就这点不好,连续写。没办法就是读出来在和新数据与。

谢谢您的详细分析,我也现在 正在纠结怎么保留之前写入的数据,下面我尝试一下你的方法,应该没有问题。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top