void OLED_Init(void) { //OLED Pins gpio_init (PORTA,12,GPO,1); gpio_init (PORTA,13,GPO,1); gpio_init (PORTA,15,GPO,1); gpio_init (PORTA,16,GPO,1); D0=1; //CS=1; //预制SLK和SS为高电平 RST=0; DLY_ms(50); RST=1; //从上电到下面开始初始化要有足够的时间,即等待RC复位完毕 Set_Display_On_Off(0x00); // Display Off (0x00/0x01) Set_Display_Clock(0x80); // Set Clock as 100 Frames/Sec Set_Multiplex_Ratio(0x3F); // 1/64 Duty (0x0F~0x3F) Set_Display_Offset(0x00); // Shift Mapping RAM Counter (0x00~0x3F) SetStartLine(0x00); // Set Mapping RAM Display Start Line (0x00~0x3F) Set_Charge_Pump(0x04); // Enable Embedded DC/DC Converter (0x00/0x04) SetAddressingMode(0x02); // Set Page Addressing Mode (0x00/0x01/0x02) Set_Segment_Remap(0x01); // Set SEG/Column Mapping 0x00左右反置 0x01正常 Set_Common_Remap(0x08); // Set COM/Row Scan Direction 0x00上下反置 0x08正常 Set_Common_Config(0x10); // Set Sequential Configuration (0x00/0x10) SetContrastControl(Brightness); // Set SEG Output Current Set_Precharge_Period(0xF1); // Set Pre-Charge as 15 Clocks & Discharge as 1 Clock Set_VCOMH(0x40); // Set VCOM Deselect Level Set_Entire_Display(0x00); // Disable Entire Display On (0x00/0x01) Set_Inverse_Display(0x00); // Disable Inverse Display On (0x00/0x01) Set_Display_On_Off(0x01); // Display On (0x00/0x01) OLED_Fill(0x00); //初始清屏 OLED_Set_Pos(0,0); }
void LED_Init(void) { unsigned char i; LEDPIN_Init(); // LED_PORT=0X0F; //LED_SCLH;;; //LED_RSTL;;; digitalWrite(SCL_PIN,HIGH);;; digitalWrite(RST_PIN,LOW);;; // for(i=0;i<100;i++)asm("nop"); LED_DLY_ms(50); //LED_RSTH;;; digitalWrite(RST_PIN,HIGH); Set_Display_On_Off(0x00); // Display Off (0x00/0x01) Set_Display_Clock(0x80); // Set Clock as 100 Frames/Sec Set_Multiplex_Ratio(0x3F); // 1/64 Duty (0x0F~0x3F) Set_Display_Offset(0x00); // Shift Mapping RAM Counter (0x00~0x3F) SetStartLine(0x00); // Set Mapping RAM Display Start Line (0x00~0x3F) Set_Charge_Pump(0x04); // Enable Embedded DC/DC Converter (0x00/0x04) SetAddressingMode(0x02); // Set Page Addressing Mode (0x00/0x01/0x02) Set_Segment_Remap(0x01); // Set SEG/Column Mapping Set_Common_Remap(0x08); // Set COM/Row Scan Direction Set_Common_Config(0x10); // Set Sequential Configuration (0x00/0x10) SetContrastControl(0xCF); // Set SEG Output Current Set_Precharge_Period(0xF1); // Set Pre-Charge as 15 Clocks & Discharge as 1 Clock Set_VCOMH(0x40); // Set VCOM Deselect Level Set_Entire_Display(0x00); // Disable Entire Display On (0x00/0x01) Set_Inverse_Display(0x00); // Disable Inverse Display On (0x00/0x01) Set_Display_On_Off(0x01); // Display On (0x00/0x01) LED_Fill(0x00); //clear all LED_Set_Pos(0,0); }
/***************************************************************************** 函 数 名 : OLED_Init 功能描述 : OOLED初始化 输入参数 : void 输出参数 : NONE 返 回 值 : NONE *****************************************************************************/ void OLED_Init(void) { uchar8 i; OLED |=OLED_SCL; OLED &=~OLED_RST; for(i = 0; i < 100; i++) { _nop(); //从上电到下面开始初始化要有足够的时间,即等待RC复位完毕 } OLED |=OLED_RST; SetDisplayOnOff(0x00); // Display Off (0x00/0x01) SetDisplayClock(0x80); // Set Clock as 100 Frames/Sec SetMultiplexRatio(0x3F); // 1/64 Duty (0x0F~0x3F) SetDisplayOffset(0x00); // Shift Mapping RAM Counter (0x00~0x3F) SetStartLine(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) OLED_Fill(0x00); // 初始清屏 OLED_SetPos(0,0); return; }
void LED_Init(void) { LEDPIN_Init(); /*while(1) { //MB_Sleep(1000); LED_WrCmd(0xaa); //MB_Sleep(1000); XGpio_DiscreteWrite(&led2, reset_CHANNEL, 0x1); XGpio_DiscreteWrite(&led1, reset_CHANNEL, 0x0); }*/ XGpio_DiscreteWrite(&reset, reset_CHANNEL, 0x0); //usleep(800); MB_Sleep(80); XGpio_DiscreteWrite(&reset, reset_CHANNEL, 0x1); Set_Display_On_Off(0x00); // Display Off (0x00/0x01) Set_Display_Clock(0x80); // Set Clock as 100 Frames/Sec Set_Multiplex_Ratio(0x3F); // 1/64 Duty (0x0F~0x3F) Set_Display_Offset(0x00); // Shift Mapping RAM Counter (0x00~0x3F) SetStartLine(0x00); // Set Mapping RAM Display Start Line (0x00~0x3F) Set_Charge_Pump(0x04); // Enable Embedded DC/DC Converter (0x00/0x04) SetAddressingMode(0x02); // Set Page Addressing Mode (0x00/0x01/0x02) Set_Segment_Remap(0x01); // Set SEG/Column Mapping 0x00左右反置 0x01正常 Set_Common_Remap(0x08); // Set COM/Row Scan Direction 0x00上下反置 0x08正常 Set_Common_Config(0x10); // Set Sequential Configuration (0x00/0x10) SetContrastControl(0xCF); // Set SEG Output Current Set_Precharge_Period(0xF1); // Set Pre-Charge as 15 Clocks & Discharge as 1 Clock Set_VCOMH(0x40); // Set VCOM Deselect Level Set_Entire_Display(0x00); // Disable Entire Display On (0x00/0x01) Set_Inverse_Display(0x00); // Disable Inverse Display On (0x00/0x01) Set_Display_On_Off(0x01); // Display On (0x00/0x01) LED_Fill(0x00); //初始清屏 LED_Set_Pos(0, 0); }
void OLED_Configuration(void) { GPIO_InitTypeDef gpio; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE); gpio.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3; gpio.GPIO_Mode = GPIO_Mode_OUT; gpio.GPIO_OType = GPIO_OType_PP; gpio.GPIO_Speed = GPIO_Speed_100MHz; GPIO_Init(GPIOC, &gpio); LCD_SCL_1; LCD_RST_0; delay_ms(200); LCD_RST_1; Set_Display_On_Off(0x00); // Display Off (0x00/0x01) Set_Display_Clock(0x80); // Set Clock as 100 Frames/Sec Set_Multiplex_Ratio(0x3F); // 1/64 Duty (0x0F~0x3F) Set_Display_Offset(0x00); // Shift Mapping RAM Counter (0x00~0x3F) SetStartLine(0x00); // Set Mapping RAM Display Start Line (0x00~0x3F) Set_Charge_Pump(0x04); // Enable Embedded DC/DC Converter (0x00/0x04) SetAddressingMode(0x02); // Set Page Addressing Mode (0x00/0x01/0x02) Set_Segment_Remap(0x01); // Set SEG/Column Mapping Set_Common_Remap(0x08); // Set COM/Row Scan Direction Set_Common_Config(0x10); // Set Sequential Configuration (0x00/0x10) SetContrastControl(0xCF); // Set SEG Output Current Set_Precharge_Period(0xF1); // Set Pre-Charge as 15 Clocks & Discharge as 1 Clock Set_VCOMH(0x40); // Set VCOM Deselect Level Set_Entire_Display(0x00); // Disable Entire Display On (0x00/0x01) Set_Inverse_Display(0x00); // Disable Inverse Display On (0x00/0x01) Set_Display_On_Off(0x01); // Display On (0x00/0x01) OLED_Clear(); LCD_Set_Pos(0,0); }