SSD1306驱动的0.91寸OLED屏上手(128*32)
2020-04-20 12:53
197 查看
附帧驱动代码
花了几天时间去看驱动手册和IIC协议,终于把程序写出来了。到上手的时候,本以为128x32像素的是只接入了COM0~COM31,结果是接入了全部COM脚但只用一半(COM反置之后可以用另一半),一个PAGE的一列SEG里只显示4个像素(原本是8个),搞得我又去写了个程序转换数据格式。。。
不过这么搞也有个好处,一帧数据可以通过切换COM反置来达成显示两帧。通过COM反置命令可以在一帧里的两半数据里自由切换,达成“显示隐藏数据”的效果。
随后会发布介绍IIC和SSD1306的文章,后面打算买个128x64的7Pin SPI版,熟悉下STC12C5A的SPI模块,然后联合ESP8266来做一个WIFI无线显示。
点阵数据由PCtoLCD2002取模
帧驱动代码(C51)
void OLED_Frame(unsigned char P[8][128]) { unsigned char i,j; OLED_WriteCMD(0X20); // 设置GDDRAM寻址模式 OLED_WriteCMD(0X00); // 水平寻址模式 OLED_WriteCMD(0X21); // 设置列起始和结束地址 OLED_WriteCMD(0X00); // 列起始地址 0 OLED_WriteCMD(0X7F); // 列终止地址 127 OLED_WriteCMD(0X22); // 设置页起始和结束地址 OLED_WriteCMD(0X00); // 页起始地址 0 OLED_WriteCMD(0X07); // 页终止地址 7 for(i=0; i<8; i++) // 写入一帧数据 for(j=0; j<128; j++) OLED_WriteData(P[i][j]); }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 16位LED恒流源芯片TC5020A,32*128点阵屏驱动函数
- STM8 模拟I2C驱动0.91寸OLED屏
- JS28F128 Nor Flash的驱动
- 【OLED屏】4针 OLED显示屏(IIC协议)底层驱动(库封装)
- VC6编译驱动的方法(含32和64位)
- AVR128驱动MPU6050
- Arduino驱动SSD1306 OLED
- 关于C语言的宏定义,题目为编写一个带参数的宏,判断一个数是否在下列数列中:1 2 4 8 16 32 64 128 256 512 1024
- MongoDB Java驱动快速上手
- 一款基于ssd1306驱动的12864屏简介
- lcd128*32液晶程序
- 为OLED屏增加GUI支持1:OLED驱动
- [原创] WINDOWS 7 精简教程之驱动精简 可用于64和32
- 32.读书笔记收获不止Oracle之表链接的驱动顺序
- Linux那些事儿 之 戏说USB(32)驱动的生命线(四)
- 解决出现 'ascii' codec can't encode characters in position 32-34: ordinal not in range(128)问题
- [笔记].图解在Windows 7 32操作系统下安装USB-Blaster驱动
- 基于MT6572/32平台 Android 版本驱动移植日志
- 在64位系统下安装32位ODBC驱动问题How to install and configure a 32 bit ODBC driver on a 64 bit Operating System?
- Reply from XXX.XXX.X.X: bytes=32 time<1ms TTL=128什么意思