IIC OLED驱动
时间:11-11
来源:互联网
点击:
- artLine(0x00);// Set Mapping RAM Display Start Line (0x00~0x3F)
- SetChargePump(0x04);// Enable Embedded DC/DC Converter (0x00/0x04)
- SetAddressingMode(0x02);// Set Page Addressing Mode (0x00/0x01/0x02)
- SetSegmentRemap(0x01);// Set SEG/Column Mapping 0x00左右反置 0x01正常
- SetCommonRemap(0x08);// Set COM/Row Scan Direction 0x00上下反置 0x08正常
- SetCommonConfig(0x10);// Set Sequential Configuration (0x00/0x10)
- SetContrastControl(0xCF);// Set SEG Output Current
- SetPrechargePeriod(0xF1);// Set Pre-Charge as 15 Clocks & Discharge as 1 Clock
- SetVCOMH(0x40);// Set VCOM Deselect Level
- SetEntireDisplay(0x00);// Disable Entire Display On (0x00/0x01)
- SetInverseDisplay(0x00);// Disable Inverse Display On (0x00/0x01)
- SetDisplayOnOff(0x01);// Display On (0x00/0x01)
- LED_Fill(0x00);// 初始清屏
- LED_SetPos(0,0);
- return;
- }
- /*****************************************************************************
- 函 数 名 : LED_P6x8Char
- 功能描述 : 显示一个6x8标准ASCII字符
- 输入参数 : UCHAR8 ucIdxX 显示的横坐标0~122
- UCHAR8 ucIdxY 页范围0~7
- UCHAR8 ucData 显示的字符
- 输出参数 : NONE
- 返 回 值 : NONE
- *****************************************************************************/
- VOIDLED_P6x8Char(UCHAR8 ucIdxX,UCHAR8 ucIdxY,UCHAR8 ucData)
- {
- UCHAR8 i,ucDataTmp;
- ucDataTmp=ucData-32;
- if(ucIdxX>122)
- {
- ucIdxX=0;
- ucIdxY++;
- }
- LED_SetPos(ucIdxX,ucIdxY);
- for(i=0;i<6;i++)
- {
- LED_WrDat(F6x8[ucDataTmp][i]);
- }
- }
- /*****************************************************************************
- 函 数 名 : LED_P6x8Str
- 功能描述 : 写入一组6x8标准ASCII字符串
- 输入参数 : UCHAR8 ucIdxX 显示的横坐标0~122
- UCHAR8 ucIdxY 页范围0~7
- UCHAR8 ucDataStr[] 显示的字符串
- 输出参数 : NONE
- 返 回 值 : NONE
- *****************************************************************************/
- VOIDLED_P6x8Str(UCHAR8 ucIdxX,UCHAR8 ucIdxY,UCHAR8 ucDataStr[])
- {
- UCHAR8 i,j,ucDataTmp;
- for(j=0;ucDataStr[j]!=\0;j++)
- {
- ucDataTmp=ucDataStr[j]-32;
- if(ucIdxX>122)
- {
- ucIdxX=0;
- ucIdxY++;
- }
- LED_SetPos(ucIdxX,ucIdxY);
- for(i=0;i<6;i++)
- {
- LED_WrDat(F6x8[ucDataTmp][i]);
- }
- ucIdxX+=6;
- }
- return;
- }
- /*****************************************************************************
- 函 数 名 : LED_P8x16Str
- 功能描述 : 写入一组8x16标准ASCII字符串
- 输入参数 : UCHAR8 ucIdxX 为显示的横坐标0~120
- UCHAR8 ucIdxY 为页范围0~3
- UCHAR8 ucDataStr[] 要显示的字符串
- 输出参数 : NONE
- 返 回 值 : NONE
- *****************************************************************************/
- VOIDLED_P8x16Str(UCHAR8 ucIdxX,UCHAR8 ucIdxY,UCHAR8 ucDataStr[])
- {
- UCHAR8 i,j,ucDataTmp;
- ucIdxY<=1;
- for(j=0;ucDataStr[j]!=\0;j++)
- {
- ucDataTmp=ucDataStr[j]-32;
- if(ucIdxX>120)
- {
- ucIdxX=0;
- ucIdxY+=2;
- }
- LED_SetPos(ucIdxX,ucIdxY);
- for(i=0;i<8;i++)
- {
- LED_WrDat(F8X16[(ucDataTmp<4)+i]);
- }
- LED_SetPos(ucIdxX,ucIdxY+1);
- for(i=0;i<8;i++)
- {
- LED_WrDat(F8X16[(ucDataTmp<4)+i+8]);
- }
- ucIdxX+=8;
- }
- return;
- }
- /*****************************************************************************
- 函 数 名 : LED_P14x16Str
- 功能描述 : 写入一组14x16的中文字符串(字符串表格中需含有此字)
- 输入参数 : UCHAR8 ucIdxX 为显示的横坐标0~114
- UCHAR8 ucIdxY 为页范围0~3
- UCHAR8 ucDataStr[] 要显示的中文字符串
- 输出参数 : NONE
- 返 回 值 : NONE
- *****************************************************************************/
- VOIDLED_P14x16Str(UCHAR8 ucIdxX,UCHAR8 ucIdxY,UCHAR8 ucDataStr[])
- {
- UCHAR8 i,j;
- USHORT16 usAddress;
- ucIdxY<=1;
- j=0;
- while(ucDataStr[j]!=\0)
- {
- i=0;
- usAddress=1;
- while(F14x16_Idx[i]>127)
- {
- if(F14x16_Idx[i]==ucDataStr[j])
- {
- if(F14x16_Idx[i+1]==ucDataStr[j+1])
- {
- usAddress=i*14;
- break;
- }
- }
- i+=2;
- }
- if(ucIdxX>114)
- {
- ucIdxX=0;
- ucIdxY+=2;
- }
- if(usAddress!=1)// 显示汉字
- {
- LED_SetPos(ucIdxX,ucIdxY);
- for(i=0;i<14;i++)
- {
- LED_WrDat(F14x16[usAddress]);
- usAddress++;
- }
- LED_SetPos(ucIdxX,ucIdxY+1);
- for(i=0;i<14;i++)
- {
- LED_WrDat(F14x16[usAddress]);
- usAddress++;
- }
- j+=2;
- }
- else//显示空白字符
- {
- LED_SetPos(ucIdxX,ucIdxY);
- for(i=0;i<14;i++)
- {
- LED_WrDat(0);
- }
- LED_SetPos(ucIdxX,ucIdxY+1);
- for(i=0;i<14;i++)
- {
- LED
IICOLED驱 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)