//全屏显示 -- Fill_Screen(0x00)可用作清屏
void CN_SSD1306::Fill_Screen(unsigned char fill_Data)
{
  unsigned char m,n;
  for(m=0;m<8;m++)
  {
    Write_IIC_Command(0xb0+m);	//page0-page1
    Write_IIC_Command(0x00);		//low column start address
    Write_IIC_Command(0x10);		//high column start address
    Begin_IIC_Data();
    for(n=0;n<128;n++)
    {
      Write_IIC_Byte(fill_Data);
    }
    IIC_Stop();
  }
}
예제 #2
0
void OLED_WR_Byte(unsigned dat,unsigned cmd)
{
    if(cmd)
    {
        Write_IIC_Data(dat);
    }
    else {
        Write_IIC_Command(dat);

    }
}
//SSD1306初始化
void CN_SSD1306::Initial()
{
  Write_IIC_Command(0xAE);//display off
  
  Write_IIC_Command(0x00);//set lower column address
  Write_IIC_Command(0x10);//set higher column address
  
  Write_IIC_Command(0x40);//set display start line
  
  Write_IIC_Command(0xB0);//set page address
  
  Write_IIC_Command(0x81);//对比度设置
  Write_IIC_Command(0xCF);//0~255(对比度值……效果不是特别明显)
  
  Write_IIC_Command(0xA1);//set segment remap
  
  Write_IIC_Command(0xA6);//normal / reverse
  
  Write_IIC_Command(0xA8);//multiplex ratio
  Write_IIC_Command(0x3F);//duty = 1/64
  
  Write_IIC_Command(0xC8);//Com scan direction
  
  Write_IIC_Command(0xD3);//set display offset
  Write_IIC_Command(0x00);
  
  Write_IIC_Command(0xD5);//set osc division
  Write_IIC_Command(0x80);
  
  Write_IIC_Command(0xD9);//set pre-charge period
  Write_IIC_Command(0xF1);
  
  Write_IIC_Command(0xDA);//set COM pins
  Write_IIC_Command(0x12);
  
  Write_IIC_Command(0xDB);//set vcomh
  Write_IIC_Command(0x40);
  
  Write_IIC_Command(0x8D);//set charge pump enable
  Write_IIC_Command(0x14);
  
  Write_IIC_Command(0xAF);//display ON
}