遇到问题了,求大神给思路。。。(12864液晶)
怎样点亮LCD(12864)的一个像素点啊,有的话给发一个驱动函数吧(最好是凌阳的^-^,51,PIC也可以,),谢谢了,
[解决办法]
这样的液晶屏,能常一个字节就控制8个点,因为一个字节有8位,所以就这样被“合理”利用了
如果想要控制屏上的某个点,需要把它读回来,然后再写出去
比如
uint8_t pix = read(addr);
pix |= 0x80; // 点亮最高位,不影响低七位
write(pix, addr);
这样的话,液晶通常处于图型模式
处理方法基本上就是这样了,自己想想怎么实现吧
对了,如果CPU RAM空间大的话,在RAM区开一个显示缓冲区,可以提高LCD访问速度
[解决办法]
套路:
别管屏本身的型号,乱七八糟的厂子做的屏型号多了去了,命名没有统一规范,可以忽略。直接找屏所用控制器的型号。搭配屏本身的datasheet阅读,如果厂子写了datasheet的话。
带字库的控制器会提供图形模式的编程指令,照着它提供的时序和指令顺序向指定显存地址写字节就行了。至于点亮一个像素,无非就是根据横向取模或者纵向取模的规律算一算对应第几个字节的第几位。
[解决办法]
通常屏花了离成功就不远了。一般这种现象是因为上电复位后显存内部是随机数据,在开启图形显示模式前应当先清显存。有的控制器提供清除显存的指令,有的需要手动填充全0或全1。