久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8823|回復: 6
收起左側

STM8L052C6T6驅動段碼LCD液晶屏

[復制鏈接]
ID:276663 發表于 2019-6-12 10:41 | 顯示全部樓層 |閱讀模式
本帖最后由 IdeaMing 于 2019-6-12 10:51 編輯

前言:
         項目中用到了段碼LCD屏選用自帶驅動的STM8L052C6,為了加快各位研發人員的開發進度,避免浪費大量的時間走別人踩過的坑,寫出個人代碼調試的經驗。水平有限,如有錯誤,還請指正mr.li.ming@qq.com

使用的液晶屏
液晶屏.png

對應的使用的單片機
stm8l052c6lcd.png
對應關系
------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
所以先看看程序。
  1. void LCD_GLASS_Init(void)
  2. {
  3. /* Enable LCD/RTC clock */
  4.   CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);//打開RTC時鐘
  5.   CLK_PeripheralClockConfig(CLK_Peripheral_LCD, ENABLE);//打開LCD時鐘
  6.   CLK_RTCClockConfig(CLK_RTCCLKSource_LSI, CLK_RTCCLKDiv_1);//設置RTC時鐘源
  7.   
  8.   /* Initialize the LCD */
  9.   LCD_Init( LCD_Prescaler_1,//
  10.             LCD_Divider_31, //
  11.             LCD_Duty_1_4,   //使用的4個COM所以是1/4
  12.             LCD_Bias_1_3,   //
  13.             LCD_VoltageSource_Internal);//內部電壓源
  14.             
  15.   LCD_PortMaskConfig(LCD_PortMaskRegister_1, 0x08);//SEG11  0X08
  16.   LCD_PortMaskConfig(LCD_PortMaskRegister_2, 0x3C);//SEG18,SEG19,SEG20,SEG21 0X3C
  17.   
  18.   /* To set contrast to mean value */
  19.   LCD_ContrastConfig(LCD_Contrast_3V1);//設置對比度
  20.   LCD_DeadTimeConfig(LCD_DeadTime_0);//設置死區時間
  21.   LCD_PulseOnDurationConfig(LCD_PulseOnDuration_1);//設置延時時間
  22.   
  23.   /* Enable LCD peripheral */
  24.   LCD_Cmd(ENABLE);
  25. }
復制代碼

然后在對應的位置寫1顯示,寫0清除。比如下面的清屏
  1. void LCD_GLASS_Clear(void)
  2. {
  3.     uint8_t counter = 0;
  4.     for (counter = 0; counter <= LCD_RAMRegister_13; counter++)
  5.     {
  6.         LCD->RAM[counter] = 0x00;
  7.     }
  8. }
復制代碼



要是想全部顯示看看段碼都有沒有壞,就把清屏的修改一下
  1. void LCD_GLASS_Check(void)
  2. {
  3.     uint8_t counter = 0;
  4.     for (counter = 0; counter <= LCD_RAMRegister_13; counter++)
  5.     {
  6.         LCD->RAM[counter] = 0xff;
  7.     }
  8. }
復制代碼



下面著重記錄一下踩過的坑:
LCD_Init();函數里面的最后一個參數是LCD_VoltageSource_Internal還是LCD_VoltageSource_External


官方STM8L-DISCOVERY的原理圖上
VLCD.png
R25這個0R電阻沒有焊接,所以代碼里使用的是LCD_VoltageSource_Internal
如果焊接了,代碼里就要使用LCD_VoltageSource_External


希望對各位看官有所幫助。
STM8L052C6T6液晶LCD驅動.pdf (621.48 KB, 下載次數: 172)






評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:385637 發表于 2019-6-14 08:14 | 顯示全部樓層
沒用過STM8單片機,之前只是用STC的,看STM8性價比更高,請問學起來容易嗎?
回復

使用道具 舉報

ID:276663 發表于 2019-6-17 14:54 | 顯示全部樓層
shenyuqiu 發表于 2019-6-14 08:14
沒用過STM8單片機,之前只是用STC的,看STM8性價比更高,請問學起來容易嗎?

很多人建議STM8像STC一樣直接操作寄存器,可能是我用STM32庫習慣了,所以STM8也是使用庫方式。學習起來沒什么問題。想要實現什么功能先百度一下,肯定會有所收獲。
性價比確實比STC高。輕松實現在線調試。
回復

使用道具 舉報

ID:601763 發表于 2019-9-4 17:31 | 顯示全部樓層
最近也準備搞液晶,這個寄存器里面值和具體的段碼是怎么聯系的呢?
回復

使用道具 舉報

ID:465227 發表于 2020-2-5 00:22 | 顯示全部樓層
感謝樓主分享!
回復

使用道具 舉報

ID:694926 發表于 2020-2-18 23:18 | 顯示全部樓層
不錯,正要用到,謝謝
回復

使用道具 舉報

ID:735272 發表于 2020-4-29 14:01 | 顯示全部樓層
樓主有沒有stm8串口通信的文章,我在這遭遇到問題
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 宅女噜噜66国产精品观看免费 | 国产福利视频网站 | 久久夜视频 | 久在线 | 一区二区视频在线观看 | 成人国产精品免费观看视频 | 久久久91精品国产一区二区三区 | 日韩不卡在线 | 天天插天天搞 | 日韩欧美不卡 | 伊人久久在线 | 欧美一级在线视频 | 91大片| 精品亚洲永久免费精品 | 国产日韩精品视频 | 在线观看中文字幕 | 狠狠干网站 | 国产免费一区二区三区 | 亚洲成人av | 成人福利电影 | 久色视频在线 | 日韩中出| 伊人春色成人网 | 91九色网站 | 日韩在线精品强乱中文字幕 | 观看av| 日韩精品免费视频 | 日本在线精品视频 | 日本一二三区高清 | 亚洲一区二区三区在线视频 | 91porn国产成人福利 | 在线视频第一页 | 久久亚洲一区二区三区四区 | 99精品久久 | 精品国产欧美一区二区三区成人 | 久久tv在线观看 | 亚洲精品电影网在线观看 | 国产成人精品一区二区三区在线 | 欧美男人天堂 | 99久久婷婷国产综合精品电影 | 国产精品久久久久久久久久久久冷 |