51单片机控制0.96寸OLED(IIC接口)

视频地址:OLED视频

1. OLED初步认识

OLED(Organic Light-Emitting Diode),即有机发光二极管. OLED由于同时具备自发光,不需背光源,对比度高,厚度薄,视角广,反应速度快,可用于挠曲性面板,使用温度范围广,构造及制程简单等优异特性,被认为是下一代的平面显示器新兴应用技术。具有轻,薄,省电等特性,通信接口简单.

这里我们描述的是IIC接口的0.96寸OLED,其实对于其他接口的OLED,分析思路是一样的。前面讲了,显示模块我们就关心三个问题,显示模块初始化;在哪里显示;显示什么。对于OLED同样适用,相对于1602液晶模块,它只不过显示的地方比较多,显示内容更加丰富一点,但是思路基本相同。下面我们就从这个三个问题入手,简单讲述如何使用这款显示模块。


2. OLED初始化

关于OLED初始化,芯片手册上描述的非常清楚了,这没什么好讨论的,照做即可。

(1)Set MUX Ratio A8h, 3Fh  

(2)Set Display OffsetD3h, 00h

(3)Set Display StartLine 40h

(4)Set Segment re-mapA0h/A1h

(5)Set COM Output ScanDirection C0h/C8h

(6)Set COM Pinshardware configuration DAh,02h

(7)Set Contrast Control81h,7Fh

(8)Disable EntireDisplay On A4h

(9)Set Normal DisplayA6h

(10)Set Osc FrequencyD5h, 80h

(11)Enable charge pumpregulator 8Dh, 14h

(12)Display On AFh

3. 在哪里显示

与LCD1602的分析思路相同,要知道知道在哪里显示,就需要先知道哪些地方可能显示。oled模块的分辨率是128×64,也就是说一共能显示128×64这么多个“点”,下面我们用一个128列,64行的表格来描述更清晰一些,如下所示:

显示模块上的每一个点对应着这个表格的一个空格,假设你在某一个空格中放1表示这个‘点’亮,那么放0就表示这个‘点’暗。由于我们在写入数据时通常以字节为单位,那么现在把表格中的Col0这一列对应的Row0-Row7作为一个单位,一共8个空格,刚好对应一个字节。那么这个字节的高低位如何分配呢?最低位放到Row0-Col0对应的空格,最高位放到Row7-Col0对应的空格。这样当你写入一个字节的数据0x08时,对应的Col0-Row3这个‘点’就亮了,其他7个点为暗。那么这个数据0x08写到哪里去了?这个显示模块一定有个存储空间来存放这些写入的数据,暂且把它叫做PAGE0,PAGE1,...PAGE7. 这样每一个PAGE就对应着8行,比如PAGE0就对应着Row0-Row7.

经过以上分析,问题就变得简单了,就是如何访问PAGE0-PAGE7,然后往里面填数据就行了。这个就涉及到寻址模式了,一共三种,分别 是页寻址,水平寻址和垂直寻址模式。(叁议电子www.ppptalk.com)以下三幅图描述了这三种寻址模式

(1)页寻址模式


(2)水平寻址模式


(3)垂直寻址模式


下面就去查看OLED模块说明书的指令表确定其中任意一种寻址模式,然后根据需要显示的内容填数据就可以了。

4. 显示什么内容

(1)显示一个点

一幅图画是由各种线条构成的,一根线条是由很多点构成的,那么只要我们能在任意指定的位置显示一个点,从理论上讲,就能实现显示oled能力范围内的任何图形。现在我们来看看如何显示一个点。首先显示之前需要确定显示“点”的位置,这里我们以页寻址举例,先确定页地址。前面讲了,一共有8页,每一页对应显示模块的8行,也就是同一列的8个点。例如现在想在显示模块上显示一个点,坐标为(Row3, Col0),那么写入的数据为0x08(0b00001000)。注意写入数据字节的最高位和最低位对应显示模块的“点”。此后如果继续写入一个字节,那么col会自动加1,也就是会自动从Col0 跳到Col1,一直自动增加到Col127为止(注意这里设置的col end address为127)。如果此时继续写入数据,那么Col就会从Col127跳到Col0。那么现在想在Row8(也就是PAGE 1部分)写入数据怎么办呢?这个时候就需要重新设置page address了。

通过以上分析相信各位已经明白了如何在显示模块的任意位置显示一个“点”了。这样从理论上讲,就能实现显示任意形状了,比如字符,汉字,图片。但是很明显,这种方式非常复杂。以下提供的方法是借助“字模工具”来实现的。

(2)显示字符

打开“点阵取模”这个程序文件,并点击参数设置,主要配置两个方面,输入文字的大小(这里选择12号)和其他选项的配置。具体设置参考以下图片说明:



配置完毕后就可以输入字符了,如下图所示:


从以上内容可以看出,对于12号字体的字符,宽×高=8×16,表示一个字符占用8列,16行,也就是两个PAGE。这样很容易就能写出代码了,一定要注意,由于我们采用的是“页寻址模式”,在“写”完8列之后,一定要注意更换PAGE,否则它会自动将这16组数据写入同一个PAGE。

l

(3)显示汉字

显示一个汉字与字符的操作过程相同,在输入“字符”的时候,修改成输入“汉字”即可。“点阵生成区”产生的数据部分即为我们要写入的数据。



(4)显示一幅图片

显示一幅图与字符的操作过程基本类似。首先准备好一幅图,尺寸为128×64pix,注意保存为.bmp格式的文件。然后在字模工具中点击“打开图像图标”,之后生成数据并点击“点阵生成区”。生成的数据部分即为需要写入的数据




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,217评论 11 349
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • 《无穷》 宇宙是水分子 无数水分子汇成一条河 一个宇宙包着一条河 这也是宇宙 这也是河 更大的宇宙包着更大的河 再...
    大吕娘阅读 100评论 0 0
  • 赌气,冷战,流泪,这一幕发生了4次 第一次是婚前,具体因为什么事情已经不记得了,那个时候我们买了房,两个人凑的首付...
    Little懒妞阅读 224评论 0 0
  • 最近几天广州终于感觉到冷,一旦有冷的感觉就喜欢独自走在大街上,今天依旧在外不想坐车回,就一路走回到家,一方面感受着...
    洪雅昕阅读 238评论 0 1