Exemplo n.º 1
0
/****************************************************************************
*	函数名:oledWriteData
	输  入:void
	输  出:u8 dat	数据
	功  能:向OLED写数据
	备  注:无
*	日  期:2015.02.01
****************************************************************************/
void oledWriteData(unsigned char dat)
{	
	u8 i;			  		  
	OLED_CS_Clr();
	
	OLED_SCLK_Clr();
	OLED_SDA_Set();
	OLED_SCLK_Set();
	
	for(i=0;i<8;i++)
	{			  
		OLED_SCLK_Clr();
		if(dat&0x80)
			OLED_SDA_Set();
		else 
			OLED_SDA_Clr();
		OLED_SCLK_Set();
		dat<<=1;   
	}				 		  
	OLED_CS_Set();  	  
} 
Exemplo n.º 2
0
/*
*@功能:0:4线串行模式,向SSD1106写入一个字节。
*@输入:dat:要写入的数据/命令
*				cmd:数据/命令标志 0,表示命令;1,表示数据;
*/
void OLED_WR_Byte(uint8_t dat,uint8_t cmd)
{	
	uint8_t i;			  
	if(cmd)
	  OLED_DC_Set();
	else 
	  OLED_DC_Clr();		  
	OLED_CS_Clr();
	for(i=0;i<8;i++)		//从高位开始传送
	{			  
		OLED_SCLK_Clr();
		if(dat&0x80)
		   OLED_SDIN_Set();
		else 
		   OLED_SDIN_Clr();		//上升沿锁数据
		OLED_SCLK_Set();
		dat<<=1;   
	}				 		  
	OLED_CS_Set();
	OLED_DC_Set();   	  
} 
Exemplo n.º 3
0
//向SSD1106写入一个字节。
//dat:要写入的数据/命令
//cmd:数据/命令标志 0,表示命令;1,表示数据;
void OLED_WR_Byte(u8 dat,u8 cmd)
{	
  u8 i;			  
  if(cmd)
    OLED_DC_Set();
  else 
    OLED_DC_Clr();		  
  OLED_CS_Clr();
  for(i=0;i<8;i++)
  {			  
    OLED_SCLK_Clr();
    if(dat&0x80)
      OLED_SDIN_Set();
    else 
      OLED_SDIN_Clr();
    OLED_SCLK_Set();
    dat<<=1;   
  }				 		  
  OLED_CS_Set();
  OLED_DC_Set();   	  
} 
Exemplo n.º 4
0
void Write_IIC_Byte(unsigned char IIC_Byte)
{
    unsigned char i;
    unsigned char m,da;
    da=IIC_Byte;
    OLED_SCLK_Clr();
    for(i=0; i<8; i++)
    {
        m=da;
        //	OLED_SCLK_Clr();
        m=m&0x80;
        if(m==0x80)
        {
            OLED_SDIN_Set();
        }
        else OLED_SDIN_Clr();
        da=da<<1;
        OLED_SCLK_Set();
        OLED_SCLK_Clr();
    }


}
Exemplo n.º 5
0
void IIC_Wait_Ack()
{
    OLED_SCLK_Set() ;
    OLED_SCLK_Clr();
}