IIC操作
void OLED_WR_Byte(u8 dat,u8 cmd)
{
IIC_Start();
IIC_Send_Byte(0x78);
IIC_Wait_Ack();
if(cmd == OLED_CMD)
IIC_Send_Byte(0x00);
else
IIC_Send_Byte(0x40);
IIC_Wait_Ack();
IIC_Send_Byte(dat);
IIC_Wait_Ack();
IIC_Stop();
}
OLED 初始化
OLED_WR_Byte(0xAE,OLED_CMD); //¹Ø±ÕÏÔʾ
OLED_WR_Byte(0xD5,OLED_CMD); //ÉèÖÃʱÖÓ·ÖÆµÒò×Ó,Õðµ´ÆµÂÊ
OLED_WR_Byte(80,OLED_CMD); //[3:0],·ÖƵÒò×Ó;[7:4],Õðµ´ÆµÂÊ
OLED_WR_Byte(0xA8,OLED_CMD); //ÉèÖÃÇý¶¯Â·Êý
OLED_WR_Byte(0X3F,OLED_CMD); //ĬÈÏ0X3F(1/64)
OLED_WR_Byte(0xD3,OLED_CMD); //ÉèÖÃÏÔÊ¾Æ«ÒÆ
OLED_WR_Byte(0X00,OLED_CMD); //ĬÈÏΪ0
OLED_WR_Byte(0x40,OLED_CMD); //ÉèÖÃÏÔʾ¿ªÊ¼ÐÐ [5:0],ÐÐÊý.
OLED_WR_Byte(0x8D,OLED_CMD); //µçºÉ±ÃÉèÖÃ
OLED_WR_Byte(0x14,OLED_CMD); //bit2£¬¿ªÆô/¹Ø±Õ
OLED_WR_Byte(0x20,OLED_CMD); //ÉèÖÃÄÚ´æµØÖ·Ä£Ê½
OLED_WR_Byte(0x02,OLED_CMD); //[1:0],00£¬ÁеØÖ·Ä£Ê½;01£¬ÐеØÖ·Ä£Ê½;10