Hi,欢迎来到中国嵌入式培训高端品牌 - 华清远见嵌入式学院<北京总部官网>,专注嵌入式工程师培养13年!
当前位置: > 嵌入式学院 > 嵌入式学习 > 讲师博文 > 智能wifi小车- OLED显示屏驱动
智能wifi小车- OLED显示屏驱动
时间:2015-12-08作者:华清远见
OLED显示屏驱动简介
 
OLED,即有机发光二极管( Organic Light Emitting Diode)。 OLED 由于同时具备自发光,不需背 光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。
 
LCD 都需要背光,而 OLED 不需要,因为它是自发光的。这样同样的显示OLED效果要来得好一 些。以目前的技术,OLED的尺寸还难以大型化,但是分辨率确可以做到很高。在此我们使用的是0.96寸OLED显示屏,该屏有以下特点: 
 
1)屏上 1/4 部分为黄光,下3/4 为蓝;而且是固定区域显示固定颜色,颜色和显示区域均不能修改。
 
2)分辨率为128*64 
 
3)IIC 接口方式,只需要 2 根线就可以控制 OLED 了。
 
本屏所用的驱动IC为SSD1306;其具有内部升压功能;所以在设计的时候不需要再专一设计 升压电路;当然了本屏也可以选用外部升压,具体的请详查数据手册。SSD1306的每页包含了 128 个字节,总共 8 页,这样刚好是 128*64 的点阵大小。
 
IIC 接口: 
 
GND: 电源地
 
VCC: 2.2V~5.5V SCL: 
 
CLK: 时钟 (高电平 2.2V~5.5V) 
 
SDA: MOSI 数据 (高电平 2.2V~5.5V)
 
STM32CubeMX配置
 
我们的OLED使用的是I2C2,需要对其初始化配置

其它默认配置即可

OLED初始化

void OLED_Init(void)

{

HAL_Delay(100);

WriteCmd(0xAE); //display off

WriteCmd(0x20); //Set Memory Addressing Mode

WriteCmd(0x10); //00,Horizontal Addressing Mode;01,Vertical Addressing Mode;10,Page Addressing Mode (RESET);11,Invalid

WriteCmd(0xb0); //Set Page Start Address for Page Addressing Mode,0-7

WriteCmd(0xc8); //Set COM Output Scan Direction

WriteCmd(0x00); //---set low column address

WriteCmd(0x10); //---set high column address

WriteCmd(0x40); //--set start line address

WriteCmd(0x81); //--set contrast control register

WriteCmd(0xff); //亮度 0x00~0xff

WriteCmd(0xa1); //--set segment re-map 0 to 127

WriteCmd(0xa6); //--set normal display

WriteCmd(0xa8); //--set multiplex ratio(1 to 64)

WriteCmd(0x3F); //

WriteCmd(0xa4); //0xa4,Output follows RAM content;0xa5,Output ignores RAM content

WriteCmd(0xd3); //-set display offset

WriteCmd(0x00); //-not offset

WriteCmd(0xd5); //--set display clock divide ratio/oscillator frequency

WriteCmd(0xf0); //--set divide ratio

WriteCmd(0xd9); //--set pre-charge period

WriteCmd(0x22); //

WriteCmd(0xda); //--set com pins hardware configuration

WriteCmd(0x12);

WriteCmd(0xdb); //--set vcomh

WriteCmd(0x20); //0x20,0.77xVcc

WriteCmd(0x8d); //--set DC-DC enable

WriteCmd(0x14); //

WriteCmd(0xaf); //--turn on oled panel

}


发表评论

全国咨询电话:400-706-1880,双休日及节假日请致电值班手机:15010390966

在线咨询: 曹老师QQ(619366077), 余老师QQ(2657985593), 李老师QQ(2814652411), 徐老师QQ(1462495461)

企业培训洽谈专线:010-82600901,院校合作洽谈专线:010-82600350,在线咨询:QQ(248856300)

Copyright 2004-2017 华清远见教育集团 版权所有 ,沪ICP备10038863号,京公海网安备110108001117号