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

📄 initdata.c

📁 用C语言编写的驱动程序,IC用三星S6B33B0
💻 C
字号:
/*******************************************************************************
  Initial.C
  Copyright (c) Billow Corp. All rights reserved.
*******************************************************************************/
#include <define.h>


void Initialize(void)
{RESET=0;         
 DelayX1ms(5);
 RESET=1;
 DelayX10ms(2);
//=======SUB
 Config_SSD1770();
 DelayX10ms(2);
 //======main
 Config_S6B33B0();
//================================sub
 DelayX10ms(2); 
 LED_TEST();
 
 
 }

/*==============================================================================
==============================================================================*/
void Init_Data(Byte CIndex, Byte Cdata)
{
 writec(CIndex);
 writed(Cdata); 
}
/*==============================================================================
==============================================================================*/

void Config_S6B33B0(void)
{DelayX1ms(10); //waiting for releasing reset

 writec(0x2C);//STANDBY MODE OFF
  DelayX1ms(1);
  Init_Data(0x02,0x01);//OSC on, EXT=0 internal clock mode 
  DelayX1ms(1);
  Init_Data(0x26,0x01);//DCDC1 on
  DelayX1ms(1); 
  Init_Data(0x26,0x09);//AMP on
  DelayX1ms(1); 
  Init_Data(0x26,0x0B);//DCDC2 on
  DelayX1ms(1); 
  Init_Data(0x26,0x0F);//DCDC3 on
  DelayX1ms(10);                         
   
 
 Init_Data(0x28,0x00);//temperature compensation set. TCS=00
 writec(0x2E);        //DDRAM Burst Mode OFF,MPU[0]=0;8bits/word


 Init_Data(0x2A,0x90);//contrast control(1). contrast value<=A9h V1=3.129V
// Init_Data(0x2B,0x80);//contrast control(2). 
 Init_Data(0x10,0x22);//Driver Output mode set .DLN=10,SDIR=0,SWP=0  1/160duty,8bits data bus
 //CDIR had been tied to vdd3. CDIR=1                       
 Init_Data(0x20,0x03);//dc-dc select.dc(2)=00,dc(1)=11, X=2.0
 Init_Data(0x22,0x01);//bias set.  1/5bias(-X4).bias(2)=00,bias(1)=01,
 Init_Data(0x24,0x00);//dcdc clock division set. fPCK=fOSC/4 ,div(2)=00,div(1)=00

        
 Init_Data(0x30,0x1D);//address mode set. GSM=00,DSG=1,SGF=1,SGP=10,SGM=1
 Init_Data(0x32,0x00);//Row vector mode set.INC=00,VEC=0
 Init_Data(0x34,0x0D);//N-block inversion set.FIM=0,FIP=0,N-block inversion=13
 Init_Data(0x40,0x00);//Entry mode set,HL=0,MDI=0,X/Y=0,RWM=0
 Init_Data(0x45,0x00);//RAM skip set. RSK=00,No skip
 Init_Data(0x53,0x00);//specified Display Pattern set.SDP=00,normal display

 Init_Data(0x55,0x01);//partial display mode set.PDM=0,PT=1,partial display mode 0 on
 Init_Data(0x56,0x00);//partial display start line set,com=0
 Init_Data(0x57,0x9F);//partial display end line set, com=159
 writec(0x50);//Display OFF
// writec(0x51);//Display ON
 }
 
    
void Power_OFF(void)                                         
{
 writec(0x50);//Display OFF
 Init_Data(0x26,0x0B);//DCDC3 oFF
 DelayX1ms(1);
 Init_Data(0x26,0x09);//DCDC2 oFF
 DelayX1ms(1);
 Init_Data(0x26,0x01);//AMP oFF
 DelayX1ms(1);
 Init_Data(0x26,0x00);//DCDC1 oFF
 DelayX1ms(1);
 Init_Data(0x02,0x00);//OSC oFF
 DelayX1ms(1);
 writec(0x2D);//STANDBY MODE ON
 DelayX1ms(100);  //waiting for discharge  100ms  
}

/*==============================================================================
==============================================================================*/
//====================================sub
void Config_SSD1770(void)
{

   SSD1770_Write_Command(0x94);//SLEEP mode off
   DelayX1ms(10);
   SSD1770_Write_Command(0xD1);//OSCILLATOR on
   
  
   SSD1770_Write_Command(0x20);//POWER set
   SSD1770_Write_Data(0x03);//0F:6x 0b:5x 07:4x,03:3x
 
   SSD1770_Write_Command(0x81);//CONTRAST
   SSD1770_Write_Data(0x22);//contrast set=00110000
   SSD1770_Write_Data(0x05);// set target gain,1+r2/r1=6.30 
  
   SSD1770_Write_Command(0xCA);//DUTY
   SSD1770_Write_Data(0x00);
   SSD1770_Write_Data(0x10);//1/68
   SSD1770_Write_Data(0x00);
 
   SSD1770_Write_Command(0xFB);//BIAS 
   SSD1770_Write_Data(0x04);//04   1/8bias,   (1/9)

   SSD1770_Write_Command(0xF7);//PWM
   SSD1770_Write_Data(0x28);
   SSD1770_Write_Data(0x2C);//4bit pwm
   SSD1770_Write_Data(0x05);  
//====== 
   SSD1770_Write_Command(0xF2);//FREQUENCY
   SSD1770_Write_Data(0x0B);//75Hz
   SSD1770_Write_Data(0x01);//n-line inversion */
//======
  /*SSD1770_Write_Command(0xA8);//partical display on
   SSD1770_Write_Data(0x00);
   SSD1770_Write_Data(0x43); //com 0-67*/


   SSD1770_Write_Command(0xBC);//DATA OUT
   SSD1770_Write_Data(0x02); //p11=1
   SSD1770_Write_Data(0x00);
   SSD1770_Write_Data(0x02);  //16gray  4096 color

   SSD1770_Write_Command(0xBB);//COM OUT
   SSD1770_Write_Data(0x02);
   
   SSD1770_Write_Command(0xA7);//INVERSE
 
   
   SSD1770_Write_Command(0xCE);  //256 co lut
   SSD1770_Write_Data(0x00);
   SSD1770_Write_Data(0x03);
   SSD1770_Write_Data(0x05);
   SSD1770_Write_Data(0x07);
   SSD1770_Write_Data(0x09);
   SSD1770_Write_Data(0x0b);
   SSD1770_Write_Data(0x0d);
   SSD1770_Write_Data(0x0f);
   SSD1770_Write_Data(0x00);
   SSD1770_Write_Data(0x03);
   SSD1770_Write_Data(0x05);
   SSD1770_Write_Data(0x07);
   SSD1770_Write_Data(0x09);
   SSD1770_Write_Data(0x0b);
   SSD1770_Write_Data(0x0d);
   SSD1770_Write_Data(0x0f);
   SSD1770_Write_Data(0x00);
   SSD1770_Write_Data(0x05);
   SSD1770_Write_Data(0x0a);
   SSD1770_Write_Data(0x0f); 
   SSD1770_Write_Command(0xAE);//display OFF
  // SSD1770_Write_Command(0xAF); //display ON  

}


void SSD1770_Power_off(void)
{SSD1770_Write_Command(0xAE);//display OFF
 DelayX1ms(10);
 SSD1770_Write_Command(0x20);//POWER set off
 SSD1770_Write_Data(0x00);
 DelayX1ms(10);
 SSD1770_Write_Command(0xD2);//OSCILLATOR off
 DelayX1ms(10);
 SSD1770_Write_Command(0x95);//SLEEP mode on
 DelayX1ms(100);
}

⌨️ 快捷键说明

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