0.91英寸OLED初始化程序

一、采用的显示屏幕的型号

0.91寸OLED显示屏幕,分辨率为128*32,内部有控制器,采用I2C进行控制。如图为使用芯片特性:

0.91英寸OLED初始化程序_第1张图片
二、初始化代码
网上大多数的OLED屏幕初始化代码是0.96英寸分辨率为128X64,但是直接使用分辨率为128X64分辨率的屏幕的初始化代码,显示屏幕不能够正常显示。下图为128X32分辨率的初始化代码,结合芯片在128X64分辨率的屏幕代码的基础上修改的。

在这里插入代码片`
/******************************************************************************
  * @file    OLED init 
  * @author  zero Team
  * @version V1.0
  * @date    13-March-2019
  * @brief   初始化OLED显示屏幕  
  ******************************************************************************/
void OLED_Init(void)
{
	delay_ms(500);//初始化之前的延时 important
	//初始化指令 由厂商给定
	OLED_Write_cmd(0xAE);//display off
	OLED_Write_cmd(0xD5);//set memory addressing Mode
	OLED_Write_cmd(0X80);//分频因子
	OLED_Write_cmd(0xA8);//设置驱动路数
	OLED_Write_cmd(0x1F);//默认0X3f(1/64) 0x1f(1/32)
	OLED_Write_cmd(0xD3); //设置显示偏移
	OLED_Write_cmd(0x00);//默认值00
		
	OLED_Write_cmd(0x40);//设置开始行 【5:0】,行数
	
	OLED_Write_cmd(0x8D);//电荷泵设置
	OLED_Write_cmd(0x14);//bit2,开启/关闭
	
	OLED_Write_cmd(0x20);//设置内存地址模式
	OLED_Write_cmd(0x02);//[[1:0],00,列地址模式;01,行地址模式;10,页地址模式;默认10;
	OLED_Write_cmd(0xA1);//段重定义设置,bit0:0,0->0;1,0->127;
	OLED_Write_cmd(0xC8);//设置COM扫描方向
	
	OLED_Write_cmd(0xDA);//设置COM硬件引脚配置
	OLED_Write_cmd(0x02);//0.91英寸128*32分辨率
	
	OLED_Write_cmd(0x81);//对比度设置
	OLED_Write_cmd(0x8f);//1~255(亮度设置,越大越亮)
	
	OLED_Write_cmd(0xD9);//设置预充电周期
	OLED_Write_cmd(0xf1);//[3:0],PHASE 1;[7:4],PHASE 2;
	OLED_Write_cmd(0xDB);//设置VCOMH 电压倍率
	OLED_Write_cmd(0x40);//[6:4] 000,0.65*vcc;001,0.77*vcc;011,0.83*vcc;

	OLED_Write_cmd(0xA4);//全局显示开启;bit0:1,开启;0,关闭;(白屏/黑屏)
	OLED_Write_cmd(0xA6);//设置显示方式;bit0:1,反相显示;0,正常显示

	OLED_Write_cmd(0x2E);//停用滚动条

	OLED_Write_cmd(0xAF);//开启显示
	delay_ms(100);//延时一段时间
	OLED_Clear();//清除显示屏幕,防止屏幕中存在噪点
}`

你可能感兴趣的:(C语言)