本帖最后由 IdeaMing 于 2019-6-12 10:51 編輯
前言: 項目中用到了段碼LCD屏選用自帶驅動的STM8L052C6,為了加快各位研發人員的開發進度,避免浪費大量的時間走別人踩過的坑,寫出個人代碼調試的經驗。水平有限,如有錯誤,還請指正mr.li.ming@qq.com。
使用的液晶屏
液晶屏.png (49.7 KB, 下載次數: 71)
下載附件
2019-6-12 10:37 上傳
對應的使用的單片機
stm8l052c6lcd.png (34.3 KB, 下載次數: 97)
下載附件
2019-6-12 10:37 上傳
對應關系 ------LCD----------------MCU---------- PIN1(COM1)——LCD_COM0(PA4) PIN2(COM2)——LCD_COM1(PA5) PIN3(COM3)——LCD_COM2(PA6) PIN4(COM4)——LCD_COM3(PD1) PIN5—————LCD_SEG11(PB1) PIN6—————LCD_SEG18(PD4) PIN7—————LCD_SEG19(PD5) PIN8—————LCD_SEG20(PD6) PIN9—————LCD_SEG21(PD7)
默認LSI(內部低速時鐘)是打開的,一般不作操作,如果被關閉了,要先打開LSI。 所以先看看程序。 - void LCD_GLASS_Init(void)
- {
- /* Enable LCD/RTC clock */
- CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);//打開RTC時鐘
- CLK_PeripheralClockConfig(CLK_Peripheral_LCD, ENABLE);//打開LCD時鐘
- CLK_RTCClockConfig(CLK_RTCCLKSource_LSI, CLK_RTCCLKDiv_1);//設置RTC時鐘源
-
- /* Initialize the LCD */
- LCD_Init( LCD_Prescaler_1,//
- LCD_Divider_31, //
- LCD_Duty_1_4, //使用的4個COM所以是1/4
- LCD_Bias_1_3, //
- LCD_VoltageSource_Internal);//內部電壓源
-
- LCD_PortMaskConfig(LCD_PortMaskRegister_1, 0x08);//SEG11 0X08
- LCD_PortMaskConfig(LCD_PortMaskRegister_2, 0x3C);//SEG18,SEG19,SEG20,SEG21 0X3C
-
- /* To set contrast to mean value */
- LCD_ContrastConfig(LCD_Contrast_3V1);//設置對比度
- LCD_DeadTimeConfig(LCD_DeadTime_0);//設置死區時間
- LCD_PulseOnDurationConfig(LCD_PulseOnDuration_1);//設置延時時間
-
- /* Enable LCD peripheral */
- LCD_Cmd(ENABLE);
- }
復制代碼
然后在對應的位置寫1顯示,寫0清除。比如下面的清屏- void LCD_GLASS_Clear(void)
- {
- uint8_t counter = 0;
- for (counter = 0; counter <= LCD_RAMRegister_13; counter++)
- {
- LCD->RAM[counter] = 0x00;
- }
- }
復制代碼
要是想全部顯示看看段碼都有沒有壞,就把清屏的修改一下 - void LCD_GLASS_Check(void)
- {
- uint8_t counter = 0;
- for (counter = 0; counter <= LCD_RAMRegister_13; counter++)
- {
- LCD->RAM[counter] = 0xff;
- }
- }
復制代碼
下面著重記錄一下踩過的坑: LCD_Init();函數里面的最后一個參數是LCD_VoltageSource_Internal還是LCD_VoltageSource_External
官方STM8L-DISCOVERY的原理圖上
VLCD.png (163.58 KB, 下載次數: 83)
下載附件
2019-6-12 10:37 上傳
R25這個0R電阻沒有焊接,所以代碼里使用的是LCD_VoltageSource_Internal 如果焊接了,代碼里就要使用LCD_VoltageSource_External
希望對各位看官有所幫助。
|