0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何將I2C LCD與STM32F103C8T6連接?

單片機(jī) ? 來源:?jiǎn)纹瑱C(jī) ? 2020-05-14 11:01 ? 次閱讀

在本教程中,我將向您展示如何將I2C LCD與基于STM32F103C8T6 MCU的STM32 Blue Pill Board接口。如果您還記得“將16X2 LCD與STM32F103C8T6接口”的教程,我已經(jīng)向您展示了將LCD與STM32連接并顯示一些信息有多么簡(jiǎn)單。該項(xiàng)目將非常有趣,因?yàn)槲覍⒗肐2C通訊與16×2 LCD進(jìn)行通訊。

介紹

小型的字母數(shù)字字符顯示器(如非常流行的16×2 LCD顯示器)是非常有用的小組件,因?yàn)槟梢允褂盟鼈儊盹@示與項(xiàng)目相關(guān)的一些重要信息。LCD上顯示的信息可以與項(xiàng)目本身相關(guān),如從溫度傳感器讀取的信息或特殊數(shù)據(jù)(如調(diào)試消息或錯(cuò)誤代碼)。

我在很多項(xiàng)目中都使用了16×2 LCD顯示模塊,其中包括8051,基于ARM7的LPC2148,ATmega8,Arduino UNO和PIC等各種微控制器

這一切都很好,但是對(duì)于16×2 LCD甚至更大的20×4 LCD顯示器來說,這是一個(gè)小問題,因?yàn)榕c微控制器接口需要很多引腳。即使在4位數(shù)據(jù)模式下,LCD至少也需要微控制器的6個(gè)引腳(假設(shè)操作為寫操作,即R / W連接到GND,則四個(gè)為數(shù)據(jù)引腳,一個(gè)為寄存器選擇引腳,一個(gè)為使能引腳)。

使用微控制器的六個(gè)引腳連接到字符顯示器似乎并不重要,但是如果您的項(xiàng)目非常復(fù)雜,則MCU的每個(gè)引腳似乎都非常重要。

如何將I2C LCD與STM32F103C8T6連接?

PCF8574 GPIO擴(kuò)展器IC來了。它是一個(gè)專用模塊,用于將16×2 LCD顯示屏與所有鈴聲連接起來,例如,用于LCD對(duì)比度調(diào)整的10KΩPOT,用于I2C通信的上拉電阻,用于與微控制器連接的I2C引腳等。

您可以簡(jiǎn)單地將此模塊連接到16×6 LCD顯示器的背面,然后將I2C引腳連接到STM32 Blue Pill Board的相應(yīng)I2C引腳。就這么簡(jiǎn)單。

PCF8574模塊

在本“將PCF8574與Arduino接口”教程中,我已經(jīng)討論過PCF8574 GPIO擴(kuò)展器IC。因此,我將不作詳細(xì)介紹,而只是簡(jiǎn)要概述。

PCF8574是一個(gè)16引腳IC,用作I2C至8位并行IO擴(kuò)展器。這意味著使用微控制器的I2C通信,可以有效地將微控制器的IO引腳數(shù)增加8。

購買PCF8574模塊時(shí)要記住的重要一點(diǎn)是,市場(chǎng)上有兩種類型的模塊可供選擇。一種是通用的IO擴(kuò)展器模塊,也可以用作IO擴(kuò)展器。

另一種類型的模塊也基于PCF8574 IC,但其設(shè)計(jì)方式使其只能與LCD顯示器(即16×2甚至20×4 LCD)一起使用。因此,對(duì)于該項(xiàng)目,您必須選擇后者,因?yàn)樗哂信c連接16X2 LCD顯示器有關(guān)的所有必要組件和連接。

所需組件

基于STM32F103C8T6 MCU的STM32藍(lán)色藥丸板

基于PCF8574 IC的LCD連接器模塊

16×2液晶顯示器

連接線

USB轉(zhuǎn)UART轉(zhuǎn)換器模塊(如果通過UART編程

電路圖

下圖顯示了I2C與基于STM32藍(lán)色藥丸板的STM32F103C8T6 MCU的接口電路圖。

連接說明

該項(xiàng)目的連接非常簡(jiǎn)單。只需將PCF8574模塊插入16×2 LCD的背面即可。連接之前,請(qǐng)檢查L(zhǎng)CD和PCF8574模塊的引腳。如果連接正確,將可在顯示屏右側(cè)輕松訪問PCF8574模塊上的I2C引腳。

現(xiàn)在,將PCF8574模塊的SDA引腳連接到STM32的PB7,并將模塊的SCL引腳連接到STM32的PB6。將PCF8574模塊的VCC和GND引腳連接到5V和GND。這樣就完成了必要的連接。

識(shí)別PCF8574模塊的從站地址

在為接口I2C LCD顯示器編程STM32之前,我們需要計(jì)算PCF8574模塊的從地址。由于I2C通信中的從地址非常重要,因此您必須事先知道它。

您可以參考PCF8574 IC的數(shù)據(jù)手冊(cè)以及PCF8574 I2C LCD模塊的示意圖來計(jì)算從機(jī)地址。如果您認(rèn)為這是一個(gè)乏味的過程,那么不用擔(dān)心。還有另一種使用以下代碼來計(jì)算從站地址的方法。該代碼將計(jì)算從機(jī)地址并將其顯示在串行監(jiān)視器上。

代碼

在我的情況下,從機(jī)地址為0X3F。因此,我必須在STM32的實(shí)際程序中使用此從站地址。

為I2C LCD顯示編程STM32

在將I2C LCD與STM32F103C8T6 MCU接口之后,我們現(xiàn)在可以編寫程序了。為此模塊開發(fā)了一個(gè)名為“ LiquidCrystal_I2C”的特殊庫。您可以從以下網(wǎng)站下載該庫這個(gè):https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library鏈接。提取下載的zip文件的內(nèi)容,并將其放在本地Arduino安裝的library文件夾中。

使用從先前代碼獲得的從站地址,并使用相同的地址初始化LCD模塊。還要指定LCD的每行字符數(shù)和LCD的行數(shù),即16和2。

使用庫的“打印”功能,可以在LCD上顯示所需的字符。

代碼

結(jié)論

此處實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的項(xiàng)目,用于演示如何將I2C LCD與基于STM32F103C8T6 MCU的Blue Pill Board接口。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8257

    瀏覽量

    149953
  • STM32
    +關(guān)注

    關(guān)注

    2258

    文章

    10828

    瀏覽量

    352482
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1452

    瀏覽量

    122250

原文標(biāo)題:如何將I2C LCD與STM32F103C8T6連接 - 【STM32教程】

文章出處:【微信號(hào):aidanpianji,微信公眾號(hào):?jiǎn)纹瑱C(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    第七章-V1.5 STM32超聲波測(cè)距STM32F103C8t6超聲波避障小車 超聲波避障模塊 STM32超聲波測(cè)距

    5STM32超聲波測(cè)距STM32F103C8t6超聲波避障小車
    的頭像 發(fā)表于 08-15 16:25 ?429次閱讀
    第七章-V1.5 <b class='flag-5'>STM32</b>超聲波測(cè)距<b class='flag-5'>STM32F103C8t6</b>超聲波避障小車 超聲波避障模塊 <b class='flag-5'>STM32</b>超聲波測(cè)距

    STMC32F103C8T6核心板原理圖

    STM32F103C8T6原理圖
    發(fā)表于 07-15 11:47 ?0次下載

    STM32F103C8T6燒錄程序后上電不工作是怎么回事?

    STM32F103C8T6 燒錄程序后上電不工作
    發(fā)表于 05-24 07:27

    學(xué)STM32為什么首選F103C8T6

    STM32F103C8T6是STMicroelectronics(ST)推出的一款基于ARMCortex-M3內(nèi)核的32位微控制器單片機(jī)(MCU)。它具有一系列優(yōu)勢(shì)和廣泛的應(yīng)用場(chǎng)景。這里就來介紹一下
    的頭像 發(fā)表于 05-18 08:04 ?2867次閱讀
    學(xué)<b class='flag-5'>STM32</b>為什么首選<b class='flag-5'>F103C8T6</b>?

    STM32F103c8t6 J-LINK無法下載的原因?

    STM32F103c8t6 J-LINK無法下載的原因?
    發(fā)表于 05-17 06:19

    STM32F030K6T6STM32F103C8T6的晶振換成25M的可以嗎?

    大神們,如果 把STM32F030K6T6STM32F103C8T6 的晶振換成25M的,可以嗎?
    發(fā)表于 04-26 06:12

    從程序STM32L151C8T6移植到STM32F103C8T6需要注意些什么?

    請(qǐng)問從程序STM32L151C8T6移植到STM32F103C8T6需要注意些什么?
    發(fā)表于 04-15 06:06

    STM32F103C8T6 CAN發(fā)送數(shù)據(jù)波形不正常的原因?

    大家好,STM32F103C8T6關(guān)于CAN發(fā)送數(shù)據(jù)波形不正常的問題。
    發(fā)表于 03-27 08:27

    stm32f103c8t6鬧鐘中斷無響是什么原因?qū)е碌模?/a>

    stm32f103c8t6鬧鐘中斷無響應(yīng)麻煩大佬幫忙看看
    發(fā)表于 03-26 07:29

    STM32F103C8T6燒錄程序后上電不工作的原因?如何解決?

    STM32F103C8T6 燒錄程序后上電不工作
    發(fā)表于 03-11 08:03

    用USB轉(zhuǎn)TTL線怎么把程序燒寫到stm32f103C8T6

    /V2編程器(可選,用于更高級(jí)的調(diào)試和燒寫) 接下來,我們按照以下步驟進(jìn)行燒寫程序的過程: 步驟一:USB轉(zhuǎn)TTL線連接到計(jì)算機(jī)和STM32F103C8T6
    的頭像 發(fā)表于 01-31 15:46 ?6223次閱讀

    stm32f103c8t6讀內(nèi)部溫度

    信息。本文詳盡、詳實(shí)、細(xì)致地介紹如何在STM32F103C8T6上讀取內(nèi)部溫度,并且探討如何使用這些溫度信息進(jìn)行溫控系統(tǒng)的開發(fā)。 首先,我們需要了解STM32F103C8T6的內(nèi)部溫度傳感器。該傳感器通過內(nèi)部引腳
    的頭像 發(fā)表于 01-08 13:48 ?2576次閱讀

    stm32f103c8t6怎么連接噪聲傳感器

    連接噪聲傳感器到STM32F103C8T6需要以下步驟: 確定傳感器和STM32F103C8T6之間的連接接口。噪聲傳感器通常使用模擬信號(hào)輸出,可以將其
    的頭像 發(fā)表于 12-21 16:10 ?1083次閱讀

    使用stm32f103c8t6怎么做指紋識(shí)別?

    使用stm32f103c8t6怎么做指紋識(shí)別
    發(fā)表于 11-10 08:21

    stm32f103c8t6的ucosii移植工程

    分享stm32f103c8t6 的ucosii 移植工程
    發(fā)表于 10-09 06:05