怎样用oled12864画一个点?我的是淘宝上常见的0.96‘的OLED。求51单片机的程序。

怎样用oled12864画一个点?我的是淘宝上常见的0.96‘的OLED。求51单片机的程序。,第1张

首先建个显存数组,将要显示的数据写入显存里,再将整个显存通过显示图片的方式写入5110的RAM里显示就OK啦!我的12864OLED也读不出内部的DDRAM,但我刚用这种方法给12864OLED打点了。

unsigned char xdata memory[128] //显存

 

 

//在随意坐标上画点

void OLED_Drawpoint(unsigned char x, unsigned char y,bit dat)

{//x,y,行列坐标;dat,1写,0擦除 

unsigned char rdata

rdata=memory[y/8*128+x] //先将对应的字节数据从显存数组读出来

if(dat==1){

memory[y/8*128+x]=rdata|(0x01<<(y%8))//将读出来的数据加上添加点的数据

}

else{

memory[y/8*128+x]=rdata-(0x01<<(y%8))

}

}

 

 

OLED_DrawBMP(0,0,128,8,memory)//(显示图片函数)将显存的数据导入显示屏

1.确定电路连接是否正确

2.确定电源是否正常,复位是否正常,D/C使能是否正常

3.确定SPI的是否有输出

在初始化SPI后加入下面语句,用示波器测量MOSI,SCK,是否有输出,数值是否正确,触发波形是否正确(一般是SCK上升沿输入MOSI数据)

while(1)

{

LCD_WrDat(0xca)

}

4.OLED初始化是否正确

详细参考:

http://blog.csdn.net/wisepragma/article/details/26968093

根据液晶屏所使用的控制器不同而有所区别,通常12864的控制器有KS0107/KS0108, ST7920, 早期的12864还有使用T6963的,相同控制器的接口定义及功能都是基本相同的,只是管脚顺序不同,以上都是针对COB,SMT封装而言的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11098599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存