精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

如何將LCD與STM32F103C8T6 STM32開(kāi)發(fā)板連接并編程

科技觀察員 ? 來(lái)源:circuitdigest ? 作者:阿斯文斯·拉吉 ? 2022-11-09 16:18 ? 次閱讀

對(duì)于任何微控制器項(xiàng)目,將顯示單元與它連接將使項(xiàng)目更容易,并吸引用戶與之交互。微控制器最常用的顯示單元是 16×2 字母數(shù)字顯示器。這些類型的顯示器不僅可用于向用戶顯示重要信息,還可以在項(xiàng)目的初始開(kāi)發(fā)階段充當(dāng)調(diào)試工具。因此,在本教程中,我們將學(xué)習(xí)如何將16×2 LCD顯示器與STM32F103C8T6STM32開(kāi)發(fā)板連接,并使用Arduino IDE對(duì)其進(jìn)行編程

所需材料

STM32藍(lán)丸開(kāi)發(fā)板

16×2 液晶顯示屏

FTDI 程序員

連接線

液晶顯示器

16×2 點(diǎn)陣 LCD 顯示屏簡(jiǎn)介

如前所述,Energia IDE提供了一個(gè)漂亮的庫(kù),使接口變得輕而易舉,因此不一定要了解顯示模塊的任何信息。但是,展示我們正在使用的東西不是很有趣嗎!!

名稱 16×2 意味著顯示器有 16 列和 2 行,它們一起 (16*2) 形成 32 個(gè)框。一個(gè)盒子在下圖中看起來(lái)像這樣

poYBAGNrYl6AEsERAAAHJD9etI0942.jpg

單個(gè)框有 40 個(gè)像素(點(diǎn)),矩陣順序?yàn)?5 行 8 列,這 40 個(gè)像素共同構(gòu)成一個(gè)字符。同樣,可以使用所有框顯示 32 個(gè)字符。現(xiàn)在讓我們看一下引腳排列。

pYYBAGNrYl-AHTB9AAApmrSZMRU009.png

LCD共有16個(gè)引腳,如上圖所示,它們可以分為四組,如下所示

源引腳(1、2 和 3):這些引腳為顯示器提供功率和對(duì)比度水平

控制引腳(4、5 和 6):這些引腳設(shè)置/控制LCD接口IC中的寄存器(更多信息可在下面的鏈接中找到)

數(shù)據(jù)/命令引腳(7 至 14):這些引腳提供LCD上應(yīng)顯示哪些信息的數(shù)據(jù)。

LED 引腳(15 和 16):如果需要,這些引腳用于照亮LCD的背光(可選)。

電路圖和連接

16*2點(diǎn)陣LCD與STM32F103C8T6 STM32藍(lán)色藥丸板接口的電路圖如下所示。它是使用弗里辛軟件制作的。

pYYBAGNrYmSARdUXAAC9pnttl8Y503.png

如您所見(jiàn),完整的連接是通過(guò)面包板進(jìn)行的。我們需要一個(gè)FTDI板來(lái)對(duì)STM32微控制器進(jìn)行編程。因此,與我們之前的教程類似,我們將FTDI板連接到STM32,F(xiàn)DTI編程器的Vcc和接地引腳分別連接到STM32的5V引腳和接地引腳。這用于為STM32板和LCD供電,因?yàn)閮烧叨伎梢越邮?5V。FTDI 板的 Rx 和 Tx 引腳連接到 STM9 的 A10 和 A32 引腳,因此我們可以直接對(duì)電路板進(jìn)行編程,而無(wú)需引導(dǎo)加載程序。

接下來(lái),液晶屏必須連接到STM32板。我們將在4位模式下使用LCD,因此我們必須將4個(gè)數(shù)據(jù)位引腳(DB4至DB7)和兩個(gè)控制引腳(RS和EN)連接到STM32板,如上面的STM32F103C8T6 LCD接口電路圖所示。此外,下表將幫助您建立連接。

液晶屏引腳編號(hào) 液晶屏引腳名稱 STM32 引腳名稱
1 地面(錠) 地面 (G)
2 可變資本公司 5V
3 維伊 地面 (G)
4 寄存器選擇 (RS) PB11
5 讀/寫(xiě) (RW) 地面 (G)
6 啟用 (英文) PB10
7 數(shù)據(jù)位 0 (DB0) 無(wú)連接(常閉)
8 數(shù)據(jù)位 1 (DB1) 無(wú)連接(常閉)
9 數(shù)據(jù)位 2 (DB2) 無(wú)連接(常閉)
10 數(shù)據(jù)位 3 (DB3) 無(wú)連接(常閉)
11 數(shù)據(jù)位 4 (DB4) PB0
12 數(shù)據(jù)位 5 (DB5) PB1
13 數(shù)據(jù)位 6 (DB6) 電腦13
14 數(shù)據(jù)位 7 (DB7) 電腦14
15 正極指示燈 5V
16 負(fù)極指示燈 地面 (G)

連接完成后,我們可以打開(kāi)Arduino IDE并開(kāi)始編程。

使用 Arduino 對(duì) LCD 的 STM32 進(jìn)行編程

如本教程所述,我們將使用Arduino IDE對(duì)STM32微控制器進(jìn)行編程。但是,默認(rèn)情況下,Arduino IDE不會(huì)安裝STM32板,因此我們必須下載一個(gè)軟件包并為此準(zhǔn)備Arduino IDE。

一旦STM32板卡安裝在Arduino IDE中,我們就可以開(kāi)始編程了。該程序與Arduino板非常相似,唯一會(huì)改變的是引腳名稱,因?yàn)镾TM32和Arduino的符號(hào)不同。完整的程序在本頁(yè)末尾給出,但為了解釋該程序,我將其拆分為有意義的小片段,如下所示。

使用Arduino對(duì)我們的微控制器進(jìn)行編程的一個(gè)顯著優(yōu)勢(shì)是Arduino為幾乎所有著名的傳感器和執(zhí)行器提供了現(xiàn)成的庫(kù)。因此,在這里,我們通過(guò)包含LCD庫(kù)來(lái)啟動(dòng)我們的程序,這使編程變得更加容易。

#include // include the LCD library

在下一行中,我們必須指定已將LCD顯示控件和數(shù)據(jù)線連接到STM32的GPIO引腳。為此,我們必須檢查我們的硬件,為方便起見(jiàn),您還可以參考頂部給出的表格,其中列出了 LCD 與 STM32 的 GPIO 引腳的引腳名稱。提到引腳后,我們可以使用液晶功能初始化LCD。我們還將我們的LCD命名為“LCD”,如下所示。

const int rs = PB11, en = PB10, d4 = PB0, d5 = PB1, d6 = PC13, d7 = PC14; //mention the pin names to with LCD is connected to

LiquidCrystal lcd(rs, en, d4, d5, d6, d7); //Initialize the LCD

接下來(lái),我們進(jìn)入設(shè)置功能。在這里,我們首先提到我們使用的LCD類型。由于它是 16*2 LCD,我們使用 lcd.begin(16,2) 行。void 設(shè)置函數(shù)中的代碼只執(zhí)行一次。因此,我們使用它來(lái)顯示一個(gè)介紹文本,該文本在屏幕上顯示 2 秒鐘,然后被清除。要提及文本必須出現(xiàn)的位置,我們使用函數(shù)lcd.setcursor,并使用lcd.print函數(shù)打印文本。例如,lcd.setCursor(0,0) 會(huì)將光標(biāo)設(shè)置在我們打印“接口 LCD”的第一行和第一列,函數(shù) lcd.setCursor (0,1) 將光標(biāo)移動(dòng)到第二行第一列,我們?cè)谄渲写蛴 癈ircuitDigest”行。

void setup() { lcd.begin(16, 2);//We are using a 16*2 LCD lcd.setCursor(0, 0); //At first row first column lcd.print("Interfacing LCD"); //Print this lcd.setCursor(0, 1); //At secound row first column lcd.print("-CircuitDigest"); //Print this delay(2000); //wait for two secounds lcd.clear(); //Clear the screen }

顯示介紹文本后,我們通過(guò)創(chuàng)建延遲來(lái)保持程序 2 秒,以便用戶可以閱讀介紹消息。此延遲由行延遲 (2000) 創(chuàng)建,其中 2000 是以磨機(jī)秒為單位的延遲值。延遲后,我們使用lcd.clear()函數(shù)清除LCD,該函數(shù)通過(guò)刪除LCD上的所有文本來(lái)清除LCD。

最后在空循環(huán)中,我們?cè)诘谝恍酗@示“STM32 – Blue Pill”,在第二行顯示秒值。秒的值可以從 millis() 函數(shù)中獲得。millis() 是一個(gè)計(jì)時(shí)器,從 MCU 通電時(shí)開(kāi)始遞增。該值以毫秒的形式出現(xiàn),因此我們?cè)趯⑵滹@示在LCD上之前將其除以1000。

void loop() {

lcd.setCursor(0, 0); //At first row first column

lcd.print("STM32 -Blue Pill"); //Print this

lcd.setCursor(0, 1); //At secound row first column

lcd.print(millis() / 1000); //Print the value of secounds

}

將程序上傳到STM32F103C8T6板

按照電路圖中所示進(jìn)行連接,并在Arduino IDE上使用下面給出的代碼。轉(zhuǎn)到工具并確保在入門教程中選擇了正確的板。此外,在上傳程序之前,請(qǐng)確保將啟動(dòng) 0 跳線設(shè)置為 1,如下圖所示,然后按重置按鈕。按下上傳按鈕時(shí),應(yīng)上傳代碼,消息將顯示在LCD上,如下圖所示。

pYYBAGNrYmaABe2uAADR_DQxbFA928.jpg

在工作模式下驗(yàn)證輸出

如上一段所述,您應(yīng)該能夠在上傳代碼后立即注意到輸出。但是下次上電時(shí),該程序?qū)⒉黄鹱饔茫驗(yàn)殡娐钒迦蕴幱诰幊棠J健R虼耍坏┏绦蛏蟼鳎瑔?dòng) 0 上的跳線應(yīng)更改回 0 位置,如下所示。此外,由于程序已經(jīng)上傳到STM32板,我們不需要FTDI板,整個(gè)設(shè)置可以通過(guò)STM32板的micro-USB端口供電,如下所示。

pYYBAGNrYmiATrSBAADKff-HSqw059.jpg

這只是一個(gè)簡(jiǎn)單的接口項(xiàng)目,以幫助將LCD顯示器與STM32板一起使用,但您可以進(jìn)一步使用它來(lái)構(gòu)建很酷的項(xiàng)目。希望您理解本教程并從中學(xué)到一些有用的東西。

/*

Program to test 16*2 Alaphanumeric LCD with STM32 (Blue Pill)

The circuit:

* LCD RS pin to digital pin PB11

* LCD Enable pin to digital pin PB10

* LCD D4 pin to digital pin PB0

* LCD D5 pin to digital pin PB1

* LCD D6 pin to digital pin PC13

* LCD D7 pin to digital pin PC14

* LCD R/W pin to ground

* LCD VSS pin to ground

* LCD VCC pin to 5V

*/



#include // include the LCD library


const int rs = PB11, en = PB10, d4 = PB0, d5 = PB1, d6 = PC13, d7 = PC14; //mention the pin names to with LCD is connected to

LiquidCrystal lcd(rs, en, d4, d5, d6, d7); //Initialize the LCD


void setup() {

lcd.begin(16, 2);//We are using a 16*2 LCD

lcd.setCursor(0, 0); //At first row first column

lcd.print("Interfacing LCD"); //Print this

lcd.setCursor(0, 1); //At secound row first column

lcd.print("-CircuitDigest"); //Print this



delay(2000); //wait for two secounds

lcd.clear(); //Clear the screen

}


void loop() {


lcd.setCursor(0, 0); //At first row first column

lcd.print("STM32 -Blue Pill"); //Print this


lcd.setCursor(0, 1); //At secound row first column

lcd.print(millis() / 1000); //Print the value of secounds

}


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

    關(guān)注

    34

    文章

    4411

    瀏覽量

    167101
  • STM32
    +關(guān)注

    關(guān)注

    2266

    文章

    10872

    瀏覽量

    354826
  • STM32F103C8T6
    +關(guān)注

    關(guān)注

    107

    文章

    160

    瀏覽量

    83233
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32F103C8T6引腳圖

    本文介紹STM32F103C8T6引腳圖、STM32F103C8T6開(kāi)發(fā)板電路圖及各部分引腳功能圖介紹,STM32F103C8T6資料下載。
    發(fā)表于 08-03 15:53 ?43.8w次閱讀
    <b class='flag-5'>STM32F103C8T6</b>引腳圖

    STM32F103C8T6 開(kāi)發(fā)板電路圖

    STM32F103C8T6 開(kāi)發(fā)板電路圖,多用于畢業(yè)設(shè)計(jì)
    發(fā)表于 03-13 17:08 ?45次下載

    STM32F103C8T6開(kāi)發(fā)系統(tǒng)的電路原理圖免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STM32F103C8T6開(kāi)發(fā)系統(tǒng)的電路原理圖免費(fèi)下載。
    發(fā)表于 03-11 08:00 ?52次下載
    <b class='flag-5'>STM32F103C8T6</b><b class='flag-5'>開(kāi)發(fā)</b>系統(tǒng)<b class='flag-5'>板</b>的電路原理圖免費(fèi)下載

    怎樣用ArduinoIDE對(duì)STM32F103C8T6進(jìn)行編程

    STM32F103C8T6 - 也稱為Blue Pill - 是ARM Cortex的開(kāi)發(fā)板M3微控制器。它看起來(lái)與Arduino Nano非常相似,但它包含更多功能。
    的頭像 發(fā)表于 07-30 08:42 ?5.4w次閱讀
    怎樣用ArduinoIDE對(duì)<b class='flag-5'>STM32F103C8T6</b>進(jìn)行<b class='flag-5'>編程</b>

    STM32F103C8T6開(kāi)發(fā)板的電路原理圖免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STM32F103C8T6開(kāi)發(fā)板的電路原理圖免費(fèi)下載。
    發(fā)表于 12-24 11:57 ?412次下載
    <b class='flag-5'>STM32F103C8T6</b><b class='flag-5'>開(kāi)發(fā)板</b>的電路原理圖免費(fèi)下載

    STM32F103C8T6核心的資料合集免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STM32F103C8T6核心的資料合集免費(fèi)下載包括了:STM32F103C8T6核心測(cè)試程序(PC13閃爍),ST
    發(fā)表于 06-04 08:00 ?720次下載
    <b class='flag-5'>STM32F103C8T6</b>核心<b class='flag-5'>板</b>的資料合集免費(fèi)下載

    基于STM32F103C8T6開(kāi)發(fā)板控制的OLED顯示

    基于STM32F103C8T6開(kāi)發(fā)板控制的OLED顯示
    發(fā)表于 06-03 09:24 ?79次下載

    利用STM32F103C8T6最小系統(tǒng)點(diǎn)亮流水燈

    利用STM32F103C8T6最小系統(tǒng)點(diǎn)亮流水燈STM32F103C8T6芯片簡(jiǎn)介核心原理圖搭建流水燈電路修改工程模板代碼實(shí)現(xiàn)STM32F103
    發(fā)表于 11-17 17:06 ?59次下載
    利用<b class='flag-5'>STM32F103C8T6</b>最小系統(tǒng)<b class='flag-5'>板</b>點(diǎn)亮流水燈

    利用STM32F103C8T6最小系統(tǒng)點(diǎn)亮流水燈

    利用STM32F103C8T6最小系統(tǒng)點(diǎn)亮流水燈STM32F103C8T6芯片簡(jiǎn)介核心原理圖搭建流水燈電路修改工程模板代碼實(shí)現(xiàn)STM32F103
    發(fā)表于 11-17 18:06 ?97次下載
    利用<b class='flag-5'>STM32F103C8T6</b>最小系統(tǒng)<b class='flag-5'>板</b>點(diǎn)亮流水燈

    STM32F103C8t6程序下載

    STM32F103C8t6程序下載
    發(fā)表于 11-24 18:21 ?231次下載
    <b class='flag-5'>STM32F103C8t6</b>程序下載

    STM32開(kāi)發(fā),使用F103C8T6驅(qū)動(dòng)3.2寸SPI口LCD

    STM32開(kāi)發(fā),使用F103C8T6驅(qū)動(dòng)3.2寸SPI口LCD屏1 概述1.1 資源概述T1.2 實(shí)現(xiàn)功能2 硬件介紹2.1 最小系統(tǒng)
    發(fā)表于 12-22 19:30 ?39次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>開(kāi)發(fā)</b>,使用<b class='flag-5'>F103C8T6</b>驅(qū)動(dòng)3.2寸SPI口<b class='flag-5'>LCD</b>屏

    基于STM32f103c8t6LCD2004顯示完整項(xiàng)目文件

    基于STM32f103c8t6LCD2004顯示,完整項(xiàng)目文件免費(fèi)下載。
    發(fā)表于 06-08 09:33 ?19次下載

    STM32F103C8T6核心原理圖

    STM32F103C8T6核心原理圖免費(fèi)下載。
    發(fā)表于 04-23 09:47 ?409次下載

    stm32f103c8t6怎么連接噪聲傳感器

    (ADC引腳)。 在STM32F103C8T6上配置ADC功能。首先,你需要確定使用哪個(gè)ADC通道連接噪聲傳感器。然后,使用STM32開(kāi)發(fā)工具,如STCubeMX或者Keil等,配置
    的頭像 發(fā)表于 12-21 16:10 ?1387次閱讀

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

    用USB轉(zhuǎn)TTL線怎么把程序燒寫(xiě)到stm32f103C8T6中? 程序燒寫(xiě)到STM32F103C8T6芯片中需要使用USB轉(zhuǎn)TTL線連接計(jì)算機(jī)和開(kāi)
    的頭像 發(fā)表于 01-31 15:46 ?7062次閱讀