[LAUNCHXL-F28027F] 通过28027简单使用OLED模块的分享

[复制链接]

1

主题

4

帖子

473

积分

二氧化硅

Rank: 2

积分
473
楼主
查看: 4060回复: 0 发表于 2021-4-24 13:15:58   只看该作者
本帖最后由 项羽鑫 于 2021-4-24 13:15 编辑

首先我想说我自己原来是负责硬件的工作,软件代码上接触的不多,是最近才开始学着写代码的,我们在LaunchPadXL-F28027F平台上移植使用32的库时发现了一些问题,所以我萌生了自己修改一个OLED库的想法。并且大家可以看到,最后我成功地完成了显示功能。
从某种程度上说我也是软件上面的初学者,所以我的学习经验对于同样是初学者的你可能会更有帮助。



   我先介绍所使用的控制器与显示模块,开发板用的是TILaunchPadXL-F28027F,开发环境是CCS(10.1.0.00010),程序框架直接套用了软件内可下载的C2000Ware (3.04.00.00)中的28027driverlib例程,OLED使用常见的4针脚IIC协议SSD1306驱动,128*64分辨率,通信方式选择了通过IO口模拟IIC通信。

使用OLED其实就是使用它的驱动芯片,也就是如何通过控制器与SSD1306的通信使其工作,只要深入了解过这点你就可以自己完成常用的功能设计。接下来我会按照自己的学习轨迹来简单介绍如何使用OLED。下面讲述的所有内容都有代码与之对应,所以稍显简略,可以与代码对照起来阅读。还有其它疑惑请自行查阅相关资料。
1、IIC通信
因为OLED只需要作为总线上的从机,所以通信过程可以做相应的简化。我们只需要完成DSP发起通信,发送字节数据,结束通信这三个过程,不用DSP去接收任何来自从机的信号。一次完整的通信过程包括开始、发送地址、发送通信内容、结束。
2、SSD1306数据格式
向SSD1306发送前需要先声名此数据为设置指令还是图像数据,在发送图像数据时可以一次声名后连续发送,而设置指令每发送一个字节就要重新发送声名。
有关设置指令在代码中有不少注释,也可以查阅手册或这其它地方的分享,一般保持默认即可,可以尝试修改刷新率、亮度、反转显示这些。
3、显示寻址方式
这点非常重要!!!图像数据最小单位为8bit,也就是一个page上的一列。实际上OLED的显示是通过发送一个屏幕的坐标初始地址,然后开始发送8bit图像数据,SSD1306写入,然后坐标地址自动按某种规律移动,再次写入、再移动,直到发送结束。总共有三种寻址方式:按页寻址、按行寻址、按列寻址,后两个还可以限定结束的坐标位置。相信图片已经足够形象地演示了这三种方式。我比较倾向于使用列寻址。
页寻址:
行寻址:
列寻址:
*通过限定行列地址,还可以在任意限定矩形区域内显示:
我的logo显示就是限定了一幅64*90的图片,然后旁边还可以显示其它内容,比较灵活
实际函数里可以更具图片和需求更改显示位置与大小。


*附件的.c文件包含了主程序以及自己修改的库和若干字库,注释很丰富但是也很啰嗦,
可以直接复制替换ccs例程使用

然后呢...其实我是第一次写这么长的代码,也是第一次通过这种方式和别人分享东西,
很不熟练,如果有什么出错的地方,希望多多见谅

上面所有图片来自于我自己的拍摄或者SSD1603手册的截图编辑
附件中的手册与软件来源于网络,源文件为我自己编写

其他的像图片及文字取模软件这些就要靠自己摸索了,文中图片好像看不清,我附件里也放了

最后还要感谢TI和竞赛培训网送的开发板和螺丝刀
感谢工作者的勤劳付出
中景园电子0.96OLED显示屏_驱动芯片手册.pdf (1.35 MB, 下载次数: 12)


中景园电子OLE显示屏专用取模工具_Image2Lcd_32.rar (1.43 MB, 下载次数: 1)

中景园电子OLE显示屏专用取模工具_PCtoLCD2002.rar (701.79 KB, 下载次数: 0)

4pOLED_Hello.zip (9.48 KB, 下载次数: 33)

网页活动oled图片.zip (321.53 KB, 下载次数: 4)


)`FSVD{LW1EVM{}YJK6H2DF.png (32.83 KB, 下载次数: 264)

)`FSVD{LW1EVM{}YJK6H2DF.png

]277)$G@0@7I2_1}3%7OH}G.png (32.06 KB, 下载次数: 279)

]277)$G@0@7I2_1}3%7OH}G.png

7I@[E%J}PQWDGJ{U%3KUKU8.png (58.09 KB, 下载次数: 289)

7I@[E%J}PQWDGJ{U%3KUKU8.png

D60S{`$OAE~$AXUDO6}3AX4.png (46.32 KB, 下载次数: 299)

D60S{`$OAE~$AXUDO6}3AX4.png

B7WTJ~6L0SEF2~VL9JP9ZE0.png (41.59 KB, 下载次数: 289)

B7WTJ~6L0SEF2~VL9JP9ZE0.png

)`FSVD{LW1EVM{}YJK6H2DF.png (32.83 KB, 下载次数: 280)

)`FSVD{LW1EVM{}YJK6H2DF.png

NJOHAKUU74R`N(]9A%XZ0KD.png (32.91 KB, 下载次数: 287)

NJOHAKUU74R`N(]9A%XZ0KD.png

W[JWF_7P$Q4E@EIW_~6O3BR.png (77.95 KB, 下载次数: 293)

W[JWF_7P$Q4E@EIW_~6O3BR.png

QZR%ON8}2PP84DN]~WO0D[G.png (77.95 KB, 下载次数: 287)

QZR%ON8}2PP84DN]~WO0D[G.png
快速回复 返回顶部 返回列表