1、什么是IIC协议
2、模拟IIC协议
51单片机上面是没有与IIC协议相关的寄存器的(没有相关的硬件),不像串口可以配置对应的寄存器达到目的(比如修改波特率9600 or 115200),要配置IIC只能够根据用户手册里面的时序图,DHT11也是一样的配置法(也就是软件配置法)
3、IIC协议的起始和终止信号
在代码中模拟
4、IIC协议的应答信号
在代码中模拟
5、数据发送的时序
写代码
6、OLED写入指令和数据
看图写话
6、OLED显示一个点
思路:
地址模式:
代码:
7、OLED列地址和雪花BUG解决
OLED列地址
列寻址;
雪花清屏
有雪花的原因是因为寄存器里面还留有其他的数据在里面
清屏函数
8、显示一个字符A
这里的话要借助字符工具
烧录:
9、显示一串汉字
烧录:
10、OLED显示图片
配置图片(bmp格式,128x64个像素)
代码表示:
这个函数其实和清屏函数很像,拿来改一改就行了!
编译运行烧录: