IIC OLED驱动
时间:11-11
来源:互联网
点击:
- age(UCHAR8 d);
- VOIDSetCommonRemap(UCHAR8 d);
- VOIDSetDisplayOffset(UCHAR8 d);
- VOIDSetDisplayClock(UCHAR8 d);
- VOIDSetPrechargePeriod(UCHAR8 d);
- VOIDSetCommonConfig(UCHAR8 d);
- VOIDSetVCOMH(UCHAR8 d);
- VOIDSetNop(VOID);
- /*----------------------------------------------------------------------------*
- * 外部函数原型 *
- *----------------------------------------------------------------------------*/
- /**********************************************
- //IIC Start
- **********************************************/
- voidIIC_Start()
- {
- LED_SCL=1;
- //Delay_us(1);
- LED_SDA=1;
- //Delay_us(1);
- LED_SDA=0;
- // Delay_us(1);
- LED_SCL=0;
- // Delay_us(1);
- }
- /**********************************************
- //IIC Stop
- **********************************************/
- voidIIC_Stop()
- {
- LED_SCL=0;
- //Delay_us(1);
- LED_SDA=0;
- //Delay_us(1);
- LED_SCL=1;
- //Delay_us(1);
- LED_SDA=1;
- //Delay_us(1);
- }
- /**********************************************
- // IIC Write byte
- **********************************************/
- voidWrite_IIC_Byte(unsignedcharIIC_Byte)
- {
- unsignedchari;
- for(i=0;i<8;i++)
- {
- if(IIC_Byte&0x80)//1?0?
- LED_SDA=1;
- else
- LED_SDA=0;
- //Delay_us(1);
- LED_SCL=1;
- //Delay_us(1);
- LED_SCL=0;
- //Delay_us(1);
- IIC_Byte<=1;//loop
- }
- LED_SDA=1;
- //Delay_us(1);
- LED_SCL=1;
- //Delay_us(1);
- LED_SCL=0;
- //Delay_us(1);
- }
- /*****************************************************************************
- 函 数 名 : LED_WrDat
- 功能描述 : 向OLED写数据
- 输入参数 : UCHAR8 ucData
- 输出参数 : NONE
- 返 回 值 : NONE
- *****************************************************************************/
- VOIDLED_WrDat(UCHAR8 ucData)
- {
- IIC_Start();
- Write_IIC_Byte(0x78);
- Write_IIC_Byte(0x40);//write data
- Write_IIC_Byte(ucData);
- IIC_Stop();
- }
- /*****************************************************************************
- 函 数 名 : LED_WrCmd
- 功能描述 : 向OLED写命令
- 输入参数 : UCHAR8 ucCmd
- 输出参数 : NONE
- 返 回 值 : NONE
- *****************************************************************************/
- VOIDLED_WrCmd(UCHAR8 ucCmd)
- {
- IIC_Start();
- Write_IIC_Byte(0x78);//Slave address,SA0=0
- Write_IIC_Byte(0x00);//write command
- Write_IIC_Byte(ucCmd);
- IIC_Stop();
- }
- /*****************************************************************************
- 函 数 名 : LED_SetPos
- 功能描述 : 设置坐标
- 输入参数 : UCHAR8 ucIdxX
- UCHAR8 ucIdxY
- 输出参数 : NONE
- 返 回 值 : NONE
- *****************************************************************************/
- VOIDLED_SetPos(UCHAR8 ucIdxX,UCHAR8 ucIdxY)
- {
- LED_WrCmd(0xb0+ucIdxY);
- LED_WrCmd(((ucIdxX&0xf0)>>4)|0x10);
- LED_WrCmd((ucIdxX&0x0f)|0x00);
- }
- /*****************************************************************************
- 函 数 名 : LED_Fill
- 功能描述 : 对全屏写入同一个字符函数
- 如 LED_Fill(0x01); 对于某一位0为不亮 1为亮
- ------------------------------------------------------
- 共128列
- 1 1 1
- 共 0 0 0
- 8 0 0 0
- 组 0 ……0 ………… 0
- 字 0 0 0
- 符 0 0 0
- 即 0 0 0
- 8 0 0 0
- 页 1 1 1
- 64 0 0 0
- 行 . . .
- . . ………… .
- . . .
- . . .
- 0 0 0
- ------------------------------------------------------
- 输入参数 : UCHAR8 ucData
- 输出参数 : NONE
- 返 回 值 : NONE
- *****************************************************************************/
- VOIDLED_Fill(UCHAR8 ucData)
- {
- UCHAR8 ucPage,ucColumn;
- for(ucPage=0;ucPage<8;ucPage++)
- {
- LED_WrCmd(0xb0+ucPage);//0xb0+0~7表示页0~7
- LED_WrCmd(0x00);//0x00+0~16表示将128列分成16组其地址在某组中的第几列
- LED_WrCmd(0x10);//0x10+0~16表示将128列分成16组其地址所在第几组
- for(ucColumn=0;ucColumn<128;ucColumn++)
- {
- LED_WrDat(ucData);
- }
- }
- }
- VOIDSetStartColumn(UCHAR8 ucData)
- {
- LED_WrCmd(0x00+ucData%16);// Set Lower Column Start Address for Page Addressing Mode
- // Default => 0x00
- LED_WrCmd(0x10+ucData/16);// Set Higher Column Start Address for Page Addressing Mode
- // Default => 0x10
- }
- VOIDSetAddressingMode(UCHAR8 ucData)
- {
- LED_WrCmd(0x20);// Set Memory Addressing Mode
- LED_WrCmd(ucData);// Default =>LED_WrCmd(ucData
IICOLED驱 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)