7针OLED屏幕使用iic接口

7针OLED屏幕使用iic接口,第1张

将模块背面的电阻 R3 换到 R1 位置,此时将模块切换为 IIC 接口电阻 R8 可以用 0 欧姆

  电阻或是用焊锡短接电阻两端。

CS 脚接地。

DC 脚的处理:在 IIC 通信中 DC 的高低电平是用来选择 IIC 通信地址的当 DC 接地时 IIC

从机地址为:0x78,当 DC 接高电平时 IIC 地址为 0x7A测试程序中所用的为 0x78也就是

说大家需要将 DC 接地

关于 RES 的处理。RES 这个脚是 OLED 屏的复位脚大家在用 OLED 屏的时候会发现所

有 OLED 本身都会有一个复位脚因为 OLED 在被 *** 作之前需要在将寄存作一次复位

然后才能对期进行初始货 *** 作否则 OLED 可能会出现水稳定的情况。

RES 处理办法:

1>  简单的验证办法:将RES接电源正这样可以把屏点亮但是会不稳定,在快速测

试时可以这么 *** 作

2>  将RES脚与开发板的复位脚连接通过开发板的复位来对OLED进行复位

3>  通过一个IO脚来对OLED进行复位,这个 *** 作放在对屏初始化之前先将RES拉低

延迟 200ms 左右然后再拉高一直处于高电平状态

4>  通过一个RC复位电路来控制RES

5.D0 为 IIC 时钟线,D1 为 IIC 数据线

首先建个显存数组,将要显示的数据写入显存里,再将整个显存通过显示图片的方式写入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)//(显示图片函数)将显存的数据导入显示屏

SPI线数稍多, 全双工, 速度可以较快.

IIC的线数少, 半双工, 适合串接共用介面.

不同的介面其特性不同, 依照应用而做出选择, 这两种介面都是常用的, 可以花点时间好好学习一下.


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

原文地址: https://outofmemory.cn/yw/8065005.html

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

发表评论

登录后才能评论

评论列表(0条)

保存