今天來跟大家普及一下stm32f103單片機的最小系統組成和各部分功能。
一、什麼叫最小系統
最小系統就像我們人,我們活着每天都要吃飯,喝水。
飯和水就是我們的」燃料」,離開它們我們就掛逼了。
其實在芯片的世界也一樣,單片機想要正常運行,它也需要」燃料」,這些燃料的組成就是最小系統。
一、「燃料」都由什麼組成?
1.電源

拿STM32F103C8T6這個型號來說,總共有5個接電源正極和4個接地引腳,分別給內部不用的模塊供電。
VDD:就是單片機的供電電壓。
VDDA:VDD後面有個A,A=Analog,表示模擬的意思,就是芯片內部模擬器件的工作電壓。
VSSA:表示模擬器件的公共端地。
VBAT:給後備區域供電,維持RTC/BKP寄存器這些數據掉電保存,一般是接紐扣電池,如果不需要可以直接接電源。

根據數據手冊的說明,這幾個引腳的供電電壓最大不能超過3.6V。
說到數據手冊,作為一個英語渣,這裡多說一句,不要怕全是英文,不用全看懂,抓關鍵的地方看,其實來來去去就那幾個英文。
2.複位電路

複位電路的作用就是,板子上電的瞬間給單片機複位引腳(NRST)一個短暫的低電平,讓單片機程序複位,把除了備份區域寄存器以外所有寄存器狀態恢復原始狀態。
簡單來說就是讓程序重頭開始跑。
複位電路的原理是利用RC電路的充放電原理,在上電瞬間為NRST引腳產生一個短暫的低電平。
剛上電的時候電流會通過R19和C20到地,為C20充電,此時NRST的引腳為低電平。
當C20充滿電以後,C20就處於」斷路」的狀態,此時NRST由低變高電平。
3.系統時鐘


系統時鐘一般是加外部晶振電路,相當於給單片機一個心跳。
就跟人的心跳一樣,沒心跳肯定就GG了。
同樣,單片機沒心跳也跑不起程序。
這個心跳也是一個時機基準,為單片機系統時鐘、定時器之類的提供時間的基準。
我們最終計算定時器的時間,都跟這個晶振息息相關。
4.燒錄口

燒錄口的作用就是給單片機燒錄程序,注入靈魂。
STM32的燒錄方式有幾種,實際產品開發一般用SWD接口燒錄,佔用尺寸空間少,一般只需要5根線,也有些用4根線的,就是vdd不接,不接vdd燒錄要單獨給板子供電。
5.Boot0和Boot1
Boot0和Boot1是用來選擇STM32單片機的啟動方式的。

如果上圖你看不懂什麼意思,不要慌,正常的。
簡單來說,大家要想正常跑程序就要把Boot0和Boot1都接到地,就是正常工作模式。
如果我們要使用串口燒錄,也就是ISP,就需要把BOOT0接到電源,BOOT1接到地,燒錄完以後再全部接到地,相對麻煩很多。
這也就是為什麼我只用SWD燒錄的原因,直接全部接地就行了。

通過上面這些電路的組合,單片機就能正常跑程序了。
如何驗證你程序有沒有正常在跑?
我一般在開發產品的時候,首先會把LED的驅動調出來獲取安全感,讓它每秒閃一次。
防止程序死機了我還傻乎乎繼續寫程序,寫到後面程序大了,找起問題來更浪費時間。
Ok,我是無際單片機編程,今天就先給大家普及到這,字不多,但是加上配圖賊耗時間(意思可以安排三連了)。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/233025.html
微信掃一掃
支付寶掃一掃