/************************************************************************************************** * @fn HalLcd_HW_Init * * @brief Initilize HW LCD Driver. * * @param None * * @return None **************************************************************************************************/ void HalLcd_HW_Init(void) { /* Initialize LCD IO lines */ halLcd_ConfigIO(); /* Initialize SPI */ halLcd_ConfigSPI(); /* Perform reset */ LCD_ACTIVATE_RESET(); HalLcd_HW_WaitUs(15000); // 15 ms LCD_RELEASE_RESET(); HalLcd_HW_WaitUs(15); // 15 us /* Perform the initialization sequence */ FUNCTION_SET(CGRAM | COM_FORWARD | THREE_LINE); /* Set contrast */ HalLcd_HW_SetContrast(15); /* Set power */ SET_POWER_SAVE_MODE(OSC_OFF | POWER_SAVE_ON); SET_POWER_CTRL(VOLTAGE_DIVIDER_ON | CONVERTER_AND_REG_ON); SET_BIAS_CTRL(BIAS_1_5); HalLcd_HW_WaitUs(21000);// 21 ms /* Clear the display */ HalLcd_HW_Clear(); HalLcd_HW_ClearAllSpecChars(); SET_DISPLAY_CTRL(DISPLAY_CTRL_ON | DISPLAY_CTRL_BLINK_OFF | DISPLAY_CTRL_CURSOR_OFF); }
/********************************************************************* * 函数名称:HalLcd_HW_Init * 功 能:LCD硬件初始化 * 入口参数:无 * 出口参数:无 * 返 回 值:无 ********************************************************************/ void HalLcd_HW_Init(void) { halLcd_ConfigIO(); // 初始化LCD IO口 halLcd_ConfigSPI();// 初始化 SPI 口 /* 复位LCD */ LCD_ACTIVATE_RESET(); HalLcd_HW_WaitUs(8000); LCD_RELEASE_RESET(); HalLcd_HW_WaitUs(30000); HalLcd_HW_WaitUs(30000); HalLcd_HW_SetBackLight(0); // 设置背光强度 HalLcd_HW_Clear(); // 清屏 HalLcd_HW_SetBackLight(100); HalLcd_HW_FontCharSet(0,1);// 字体设置 HalLcd_HW_FontMode(1,0); }
void HalLcd_HW_Init(void) { /* Initialize SPI */ UCB0CTL1 |= UCSWRST; UCB0CTL0 |= UCMST | UCSYNC | UCCKPH | UCMSB; /* MSB, Master mode, Sync mode, Data capture on the first UCLK edge */ UCB0CTL1 |= UCSSEL1; /* SMCLK */ UCB0BR0 = 4; UCB0BR1 = 0; LCD_SPI_INIT_PORTS(); LCD_SPI_END(); UCB0CTL1 &= ~UCSWRST; /* Init I/O */ LCD_CTRL_INIT_PORTS(); /* Perform reset */ LCD_ACTIVATE_RESET(); HalLcd_HW_Wait(15); // 15 ms LCD_RELEASE_RESET(); HalLcd_HW_Wait(15); // 15 us /* Perform the initialization sequence */ FUNCTION_SET(CGRAM | COM_FORWARD | THREE_LINE); /* Set contrast */ HalLcd_HW_SetContrast(15); /* Set power */ SET_POWER_SAVE_MODE(OSC_OFF | POWER_SAVE_ON); SET_POWER_CTRL(VOLTAGE_DIVIDER_ON | CONVERTER_AND_REG_ON); SET_BIAS_CTRL(BIAS_1_5); HalLcd_HW_Wait(20);// 21 ms /* Clear the display */ HalLcd_HW_Clear(); HalLcd_HW_ClearAllSpecChars(); SET_DISPLAY_CTRL(DISPLAY_CTRL_ON | DISPLAY_CTRL_BLINK_OFF | DISPLAY_CTRL_CURSOR_OFF); }