首页
/
每日頭條
/
生活
/
stm32f103電源電壓範圍
stm32f103電源電壓範圍
更新时间:2026-11-16 04:24:27

幾乎每個嵌入式應用程序中都使用的一個常見功能是 ADC 模塊(模數轉換器)。這些模數轉換器可以從溫度傳感器、傾斜傳感器、電流傳感器、彎曲傳感器等模拟傳感器讀取電壓。現在,我們學習 如何使用 STM32F103C8 中的 ADC 讀取模拟電壓,我們将一個電位器連接到 STM32 Blue Pill 闆,通過改變電位器阻值為ADC提供不同的電壓,将讀取的電壓顯示在 1602 LCD 上。

STM32F103C8 中的 ADC

在 STM32F103C8有 10 個通道、12 位 ADC,輸入範圍為 0V -3.3V。它将 0 到 3.3 伏之間的輸入電壓映射為 0 到 4095 之間的整數值。

這裡的術語 10 通道意味着有 10 個 ADC 引腳可以用來測量模拟電壓。術語 12 位表示ADC 的分辨率,表示000000000000-111111111111(212即 4096)。這是我們 ADC 的采樣步數,因此我們的 ADC 值的範圍從 0 到 4095。該值将從 0 增加到4095基于每步電壓值,可通過方面方式計算

電壓 / 步數 = 參考電壓 / 4096 = (3.3/4096= 8.056mV) 每單位。

模拟信号如何轉換為數字格式

由于計算機僅存儲和處理二進制/數字值(1 和 0)。因此,模拟信号(如傳感器的伏特輸出)必須轉換為數字值以進行處理,并且轉換需要準确。當在模拟輸入端向 STM32 提供輸入模拟電壓時,模拟值被讀取并存儲在整數變量中. 使用以下方式将存儲的模拟值(0-3.3V)轉換為整數值(0-4096):

輸入電壓 = (ADC 值 / ADC 分辨率) * 參考電壓

分辨率 = 4096

參考電壓 = 3.3V

STM32F103C8T6 中的 ADC 引腳

STM32 中有 10 個ADC引腳,從 PA0 到 PB1。

stm32f103電源電壓範圍(如何在STM32F103C8中使用)1

電路圖及說明

stm32f103電源電壓範圍(如何在STM32F103C8中使用)2

LCD與STM32連接

stm32f103電源電壓範圍(如何在STM32F103C8中使用)3

1602 LCD根據上表進行連接。電路中有兩個電位器,第一個用于分壓器,用于改變電壓并為 STM32 提供模拟輸入。該電位器的左側引腳從 STM32(3.3V)獲得輸入正電壓,右側引腳接地,電位器的中心引腳連接到 STM32 的模拟輸入引腳(PA7)。另一個電位器用于改變 LCD 顯示屏的對比度。STM32 的電源由 PC的 USB 電源提供。

stm32f103電源電壓範圍(如何在STM32F103C8中使用)4

對 STM32 進行編程以讀取 ADC 值

通過 STM32 的 USB 端口将其連接到 PC 并開始使用 ARDUINO IDE 進行編程。在程序中,讀取模拟值并使用該值計算電壓,然後在 LCD 屏幕上顯示模拟值和數字值。

#include <LiquidCrystal.h> // LCD 庫 //首先 定義出 LCD 引腳。這些定義了 LCD 引腳連接到 STM32 的哪個引腳。 //你可以根據自己的要求進行修改。 const int rs = PB11, en = PB10, d4 = PB0, d5 = PB1, d6 = PC13, d7 = PC14; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); //初始化LCD const int analogip = PA7;//模拟輸入引腳 void setup() { lcd.begin(16, 2); //我們使用的是 16*2 LCD lcd.clear(); //清屏 lcd.setCursor(0, 0); //設置光标在第一行第一列 lcd.print("Hello Wrold!"); //LCD顯示這個 lcd.setCursor(0, 1); //設置光标在第二行第一列 lcd.print("STM32F103C8"); //LCD顯示這個 delay(2000);//等待兩秒 lcd.clear(); //清屏 lcd.setCursor(0, 0); //設置光标在第一行第一列 lcd.print("USING ADC IN");//打印這個 lcd.setCursor(0,1); //設置光标在第二行第一列 lcd.print("STM32F103C8");//打印這個 delay(2000); //等待兩秒 lcd.clear(); //清屏 } void loop() { int val = analogRead(PA7); // 從引腳 A7 讀取 ADC 值 float voltage = (float(val)/4096) * 3.3; //将 ADC 值轉換為電壓值 lcd.setCursor(0, 0); // 将光标設置到第 0 列第 0 行 lcd.print("ADC Val:"); lcd.print(val); //顯示ADC值 lcd.setCursor(0, 1); // 将光标設置到第 0 列第 1 行 lcd.print("Voltage:"); lcd.print(voltage);//顯示電壓 }

本文到此結束,錯誤之處歡迎指出。

,
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
推荐阅读
橫笛箫初學入門教程
橫笛箫初學入門教程
​​一、(以箫為例,笛子相似)1.一節箫和二節箫的區别?在同等條件下,一節箫音色因其材質完整性而發音更純,二節箫則方便調音2.長箫和短箫的區别?一般說箫,沒特别說明就是指洞箫,即長箫。它的長短與音準沒有任何關系。音質上,長箫比較渾厚低沉些。...
2026-11-16
換尿布有什麼技巧
換尿布有什麼技巧
換尿布有什麼技巧?注意點一:床上放塊毛巾換尿布的時候最好将寶寶放在床上或者是沙發上比較平坦的地方,然後先在上面墊上一塊毛巾,防止在換尿布的時候把床弄髒應該随時準備着一條毛巾可以專門用來給寶寶換尿布的時候用的,下面我們就來聊聊關于換尿布有什麼...
2026-11-16
女生什麼樣才吸引男生
女生什麼樣才吸引男生
【女生什麼行為會吸引男生?】1.吐舌頭或者是紮頭發,還要眨眼咬嘴那種。2.在他家說困了想睡覺,直接躺床上,天知道我真的隻是困了。3.竟然有男生覺得撩頭發是對他有意思?wtf???女生動不動就撩頭發好伐。4.撩頭發,舔唇,脫外套(裡面隻有一件...
2026-11-16
執行和解協議約定違約後另行起訴
執行和解協議約定違約後另行起訴
執行和解協議約定違約後另行起訴?案情簡介:2015年4月,陶某起訴李某要求歸還借款10萬元及利息經法院調解,雙方達成調解協議,約定李某于2015年10月1日前歸還借款本金10萬元及利息4萬元,法院出具民事調解書,後李某未能按調解協議歸還借款...
2026-11-16
榴蓮核種多久能掉殼
榴蓮核種多久能掉殼
本文看點:吃完榴蓮後,将成熟度高的榴蓮核清洗幹淨,将榴蓮核放進清水中進行催芽,找一些幹淨的沙土或者是腐殖土,澆水到濕潤,把已經發芽的榴蓮核埋進去。20攝氏度左右的話,那麼它很快就能夠出芽變成小苗。榴蓮營養成分高,口感特别好,被譽為水果之王,...
2026-11-16
Copyright 2023-2026 - www.tftnews.com All Rights Reserved