首页
/
每日頭條
/
圖文
/
stm32驅動lcd電路
stm32驅動lcd電路
更新时间:2026-08-05 05:47:18

大家好,我是老耿,高職青椒一枚,一直從事單片機、嵌入式、物聯網等課程的教學。對于高職的學生層次,同行應該都懂的,老師在課堂上教學幾乎是沒什麼成就感的。正是如此,才有了借助頭條平台尋求認同感和成就感的想法。在這裡,我準備陸續把自己花了很多心思設計的教學課件分享出來,如果您正是一名單片機愛好者或是一名同行,歡迎點贊 關注,各位的支持是本人持續輸出的動力,多謝多謝!#30天學會STM32##單片機#

stm32驅動lcd電路(我在高職教STM32LCD液晶顯示)1

前邊我們講解了LED、按鍵和蜂鳴器的應用,這三類器件本身工作原理十分簡單,因此我們的重點是放在STM32的GPIO上面。這一章我們來學習一下開發闆配套的那塊厚厚的液晶屏——LCD1602,聚焦的是這個器件本身的特點和工作時序。因此,我們需要熟讀它的數據手冊,因為手冊裡告訴了編程的要點、參數、時序等。閱讀器件手冊是做單片機和嵌入式開發必備的基本能力,我們就從這一章開始鍛煉起來吧。為了不讓篇幅太長,本章打算分四個部分來講解,本文是第四部分。

【學習目标】

  1. 了解LCD1602的工作原理
  2. 掌握LCD1602的工作時序
  3. 領悟軟件模拟時序的思路和方法

四、字符跳動顯示實驗

我們在前面的液晶指令描述中可以看到,LCD1602還支持光标和屏幕移動,下面我們就通過兩個實驗來感受一下動态顯示的效果。

4.1 任務描述

這個實驗是讓字符串裡的每個字符逐個跳出來顯示,我們将實驗效果分解在圖18中,中間部分做了一些省略,同時也通過視頻進行了展現。

stm32驅動lcd電路(我在高職教STM32LCD液晶顯示)2

圖18 字符跳動顯示效果

4.2 工程源碼剖析

對于底層的lcd1602.c和lcd1602.h驅動文件來說,我們盡量不去改動。控制字符跳出的代碼在主程序裡實現,見如下代碼清單15。

stm32驅動lcd電路(我在高職教STM32LCD液晶顯示)3

代碼清單15 字符跳動顯示主程序源碼

五、液晶滾動顯示實驗5.1 任務描述

這個實驗是讓整個屏幕畫面整體向左或向右滾動顯示,我們将實驗效果分解在圖19中,中間部分做了一些省略,同時也通過視頻進行了展現。

stm32驅動lcd電路(我在高職教STM32LCD液晶顯示)4

圖19 液晶滾動顯示效果

5.2 工程源碼剖析

同理,還是隻修改主程序裡的控制代碼,見如下代碼清單16。

stm32驅動lcd電路(我在高職教STM32LCD液晶顯示)5

代碼清單16 液晶滾動顯示主程序源碼

六、液晶顯示功能的擴展

在上面的實驗中,我們通過Lcd1602_ShowStr()函數實現了字符串信息的顯示。但不知你是否考慮過,倘若顯示的内容不是字符的類型,比如傳感器采集溫濕度值、ADC采集的電壓值等,這些數據都是浮點類型的,也想通過液晶顯示出來,該如何處理呢?

針對以上問題,我們補充一個顯示函數Lcd1602_printf(),來實現多種數據類型的顯示,就像使用printf()函數那樣,可以通過%d、%f、%s這樣的形式來指定顯示内容的數據類型。該函數用到了C語言中解決變參問題的操作方式,想詳細了解這部分知識的同學請自行搜索查閱,這裡不展開。源碼見如下代碼清單17。

stm32驅動lcd電路(我在高職教STM32LCD液晶顯示)6

代碼清單17 Lcd1602_Printf()函數源碼

有了這個函數,我們就可以在主程序中像使用printf()函數那樣在液晶屏上“打印”需要的内容了,代碼清單18給了一個簡單示例。

stm32驅動lcd電路(我在高職教STM32LCD液晶顯示)7

代碼清單18 使用帶變參顯示函數示例

可以看到,帶變參的Lcd1602_Printf()函數更靈活通用,使我們不必再糾結顯示内容究竟是什麼數據類型,這是它的優勢。那有沒有劣勢呢?當然有了,在顯示同樣内容的情況下,使用Lcd1602_Printf()函數比用Lcd1602_ShowStr()函數編譯出來的代碼量大了不是一點兒,如圖20所示。

stm32驅動lcd電路(我在高職教STM32LCD液晶顯示)8

圖20 編譯的代碼量對比

(第四部分完,共四部分)

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
ve對口腔潰瘍有效嗎
ve對口腔潰瘍有效嗎
維生素E(VitaminE)是脂溶性維生素,為生育酚,是人體内最主要的抗氧化劑之一,發揮着舉足輕重的作用。①提高生育能力生育酚能促進性激素分泌,提高男女的生育能力,預防流産,可用于防治男性不育症、更年期綜合症等問題;②抗氧化,防衰老維生素E...
2026-08-05
檢查出肺結節到肺癌最快多久
檢查出肺結節到肺癌最快多久
肺結節現在發現的越來越多,很多肺結節需要定期觀察,其中有些患者心态很焦慮,他們恨不得出來結果,馬上有醫生給看到。今天是周一,下午是我出門診,從1:30開始出門診,一直看到了6:15,門診上服務了50位患者,其中大部分是肺結節的患者。有些患者...
2026-08-05
高尿酸血症患者應該怎樣飲食
高尿酸血症患者應該怎樣飲食
随着社會經濟發展,人們生活方式及飲食結構改變,我國高尿酸血症的患病率逐年增高,并呈年輕化趨勢,已成為僅次于糖尿病的第二大代謝性疾病。根據近年各地的報道,目前我國約有高尿酸血症者1.2億,約占總人口的10%,高發年齡為中老年男性和絕經後女性,...
2026-08-05
仰卧起坐怎麼減肚子贅肉
仰卧起坐怎麼減肚子贅肉
原創内容,擅自搬運者必究!很多人由于營養過剩,缺乏運動,飯後又習慣了久坐,導緻身材發胖,肚腩贅肉明顯。而有的人四肢不胖,單單有個小肚腩。而肚腩的出現,除了讓你形象分下降,穿衣難看外,還意味着你的内髒脂肪超标。内髒脂肪超标,代表你的内髒器官周...
2026-08-05
哪裡能找到做電商微信群
哪裡能找到做電商微信群
11月29日,微信發布《關于〈微信外部鍊接内容管理規範〉的更新聲明》,新互聯互通方案包括:點對點聊天場景中,将可直接訪問外部鍊接;群聊場景将試行開放電商類外部鍊接的直接訪問;後續計劃開發自主選擇模式,為用戶提供外鍊管理功能。騰訊内部人士表示...
2026-08-05
Copyright 2023-2026 - www.tftnews.com All Rights Reserved