[原创] 【R7F0C809】+驱动0.96寸OLED

人民币的幻想   2015-9-2 16:51 楼主
今天抽出时间更新下设计进度。由于本人项目是血氧饱和度的测量,既然有测量,那么就需要显示来进行人机交互。我根据自己的存货和板子资源粗略得出如下几种方案:
1.      用随套件带的4位数码管。
2.      用LCD1602。
3.      用LCD12864。
4.      用OLED。
下面就来仔细说说这几种方案的利弊。
数码管虽然显示效果出众,但是可以显示的信息极其有限,因此排除掉;1602占用面积很大,加上其占用IO口数目相当可观,因此排除。LCD12864虽然显示信息很丰富,并且带了中文字库,但基于其占用面积比1602还要大3倍左右的事实,我只好无情的排除掉它了。最后说说我用的这款0.96寸具备128*64像素点的OLED。可以通过取字模的方式实现中文、图片的显示。对比度好,低功耗。在阳光下依然有很出色的显示效果。当然,最重要的是OLED只占用4个IO口。
先贴出一张特写的谍照:
OLED 特写.png
方案选定后,就开始调试。我在原先定时器+闪灯工程上改的。按照51时代的思路,直接IO口模拟的方式实现单片机和OLED的通信。同调试其他的单色液晶一样,我们需要实现写数据、写命令、清屏、定位等函数。实现这些基本函数后,按照所使用屏的不同,设定取模软件。最终设定的取模方式是共阴、列行式、逆向输出。然后利用取模软件取出常见的ascii码和bmp图片以及用到的汉字点阵。详细代码请参看附件工程。
字模软件选项设定.jpg
至此,我们就实现了字符、汉字、图片在OLED的显示。在这个过程中,我碰到的最大难点是怎么找到一个ms级的精确延时函数。不过在逻辑分析仪的帮助下,我经过不断的调整参数,最终得到一个相对精确的延时函数。
调整1ms延时.jpg


调试图.png
在调试好代码以后,我想能不能脱机运行代码,经过几次尝试我发现,发现只要你断开仿真器,并且外部加电以后,单片机就能直接运行代码了,就不用再使用RFP下载了。
脱机 OLED.png
整个工作到此告一段落,接下来就开始购买血氧仪探头并且开始调试模拟部分了。
       脱机 LED.png

    OLED.rar (2015-9-2 16:50 上传)

    82.17 KB, 下载次数: 56

    OLED驱动代码

    取模软件.rar (2015-9-2 16:50 上传)

    704.12 KB, 下载次数: 40

    取模软件

作为一个菜逼,干货并没有多少。唯一会的就是水,所以回帖水分大。望见谅!

回复评论 (4)

点赞  2015-9-2 16:54
这个不错,我也用OLED鼓捣一下, ,,
分享铸就美好未来。。。
点赞  2015-9-2 21:35
点赞  2015-9-27 22:17
点赞  2016-11-29 22:15
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复