⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oled.c

📁 PIC串口程序  可以帮助你编写串口程序  里面还有我自己做的协议 很方便
💻 C
字号:
 
#include "..\includes\includes.h"

TYPE_OLED_PARAM oledParam;

const INT8U OLED_PARAM[OLED_SET_REG_MAX]=
{
/*INIT_STAT*/			   0x00,
/*INIT_RED_GAIN*/          _OLED_GAIN,  
/*INIT_RED_OFFSET*/        _OLED_OFFSET, 
/*INIT_GREEN_GAIN*/        _OLED_GAIN, 
/*INIT_GREEN_OFFSET*/      _OLED_OFFSET, 
/*INIT_BLUE_GAIN*/         _OLED_GAIN, 
/*INIT_BLUE_OFFSET*/       _OLED_OFFSET, 
/*INIT_MONO_GAIN*/         _OLED_GAIN, 
/*INIT_MONO_OFFSET*/       _OLED_OFFSET, 
/*INIT_V_MODE_SVGAPLUS*/  0x00,
/*INIT_H_MODE_SVGAPLUS*/  0x02,  
/*INIT_BRIGHTNESS_L*/     0x00, 
/*INIT_BRIGHTNESS_U*/     0x02, 
/*INIT_H_RATE_L*/         0x00, 
/*INIT_H_RATE_U*/         0x80, 
/*INIT_PLL_L*/            0x1E,
/*INIT_PLL_U*/            0x0C, 
/*INIT_PIF*/              0x0C, 
/*INIT_PI2*/              0x00, 
/*INIT_H_START*/          0xD4, 
/*INIT_V_START*/          0x19,
/*INIT_HBLK*/             0xD8, 
/*INIT_HDEL*/             0x0C, 
/*INIT_PDWN*/             0x02, 
/*INIT_ATB*/              0x80,
/*INIT_AMTEST*/           0x00, 
/*INIT_TRIM*/             0x00
};





/*
函数名称:oLedOperator
功能:OLED亮度对比度调节
接口参数:bVALUE,gVALUE,参数位于OLED控制的数据结构中。
*/

void oLedOperator(INT8U type)
{	
	INT8U data;
	INT8U addr;
	INT8U i;
	switch(type)
	{	case TYPE_OLED_BRIGHT:
		{	data =oledBright;
		 	addr=0x00;
			I2C_WriteNByte(I2C_CHIP_DIGPOT1,ONE_BYTE_SUBA,addr,&data,1);
			break;
		}
		case TYPE_OLED_GRAY:
		{	data =oledGray;
			addr=0x80;	
			I2C_WriteNByte(I2C_CHIP_DIGPOT1,ONE_BYTE_SUBA,addr,&data,1);
			break;	
		}
		case TYPE_OLED_GAIN:
		{	data =oledGain;
			addr= 0x01;
			for(i=0;i<4;i++)
			{	I2C_WriteNByte(I2C_CHIP_OLED,ONE_BYTE_SUBA,addr+i*2,&data,1);
			 	DelayNms(10);
			}
			break;	
		}
		case TYPE_OLED_OFFSET:
		{	data =oledOffset;
			addr= 0x02;
			for(i=0;i<4;i++)
			{	I2C_WriteNByte(I2C_CHIP_OLED,ONE_BYTE_SUBA,addr+i*2,&data,1);
				DelayNms(10);	
			} 
           break;
		}	  		  	
		default: return;
	}
}

void InitOled(void)
{
	INT8U i; 
	INT8U data;
	Oled_Reset_On();
	DelayNms(10);	//引脚复位并延时
	Oled_Reset_Off();
	DelayNms(10);
	for (i=0;i<OLED_SET_REG_MAX;i++)
	{	data =OLED_PARAM[i];
		I2C_WriteNByte(I2C_CHIP_OLED,ONE_BYTE_SUBA,i,&data,1);
	DelayNms(2);
	}
	oLedOperator(TYPE_OLED_GAIN);
	DelayNms(2);
	oLedOperator(TYPE_OLED_OFFSET);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -