STM32单片机入门学习(小菜鸟一枚,仅为记录个人学习)
學習STM32之前,先了解什么是單片機,以及它的組成。
單片機的基本組成
一、單片機介紹
1、什么是單片機?
將組成微型計算機的各功能部件:中央處理器、存儲器、I/O接口電路及定時/計數器等制作在一塊集成電路芯片中從而構成完整的微型計算機。故稱作單晶片微型計算機,簡稱單片機(Single chip microcomputer)。或稱微控制器(MCU:Microcontroller)
2、單片機用在什么地方?
機電一體化:電腦縫紉機
智能儀表:測量儀
實時控制:汽車
家電:智能控制
網絡通信:通信協議集成其中
計算機外設:鍵盤、打印機
保健產品:按摩器
3、單片機應用有什么特點?
體積小:基本功能部件滿足要求
可靠性高:BUS大多在內部;易采取電磁屏蔽
功能強:實時響應速度;I/O直接操作
使用方便:硬件設計簡單;提供開發工具資料
性能價格比高:電路板小;接插件少
易產品化:研制周期短
4、下圖為51單片機的一個簡單應用開發板。
二、單片機基本功能結構
下面以MCS—51系列單片機的基本功能結構方框圖來介紹單片機的基本組成
在一小塊芯片上,集成了一個微型計算機的各個組成部分,每一片單片機包括:
①一個8位的微處理器CPU。
②片內數據存儲器RAM(128B/256B),用以存放可以讀/寫的數據,如運算的中間結果、最終結果以及欲顯示的數據等。
③片內程序存儲器ROM/EPROM(4KB/8KB),用以存放程序、一些原始數據和表格。但也有一些單片機內部不帶ROM/EPBOM,如8031、8032、80C31等。
④四個8位并行I/O(輸入/輸出)接 口P0—P3,每個口可以用作輸入,也可以用作輸出。
⑤兩個或三個定時/計數器,每個定時/計數器都可以設置成計數方式,用以對外部事件進行計數,也可以設置成定時方式,并可以根據計數或定時的結果實現計算機控制。
⑥五個中斷源的中斷控制系統。
⑦一個全雙工UART(通用異步接收發送器)的串行I/O口,可實現單片機與單片機或其它微機之間串行通信。
⑧片內振蕩器和時鐘產生電路,但石英晶體和微調電容需要外接,最高允許振蕩頻率為12MHz。
注:新型的單片機晶振可達24MHz, 甚至更高!
以上各個部分通過內部數據總線相連接。
三、單片機內部結構
8051/8751/8031芯片的外部引腳和指令系統完全兼容,其內部結構除ROM/EPROM不同外其余完全相同。 805l單片機內部結構如圖所示。
一個完整的計算機應該由運算器、控制器、存儲器(RoM及RAM)和I/O接口組成。一般微處理器(如Z80)只包括運算器和控制器兩部分。和一般微處理器相比,805l增加了四個8位I/O口、一個串行口、4KB ROM、128B RAM和很多工作寄存器及特殊功能寄存器(SFR)。各部分的功能簡述如下:
1.運算器
包括一個可進行8位算術運算和邏輯運算的ALU單元,8位的暫存器1、暫存器2、8位的累加器ACC,寄存器B和程序狀態寄存器PSW等。
ALU:可對4位(半字節)、8位(一字節)和16位(雙字節)數據進行操作。如能做加、減、乘、除、加1、減1、BCD數十進制調整及比較等算術運算和邏輯與、或、異或、求補及循環移位等邏輯操作。
ACC:累加器ACC,經常作為一個運算數經暫存器2進入ALU的一個輸入端,與另一個進入暫存器l的運算數進行運算,運算結果又送回ACC。除此之外,ACC在8051內部經常作為數據傳送的中轉站,同一般微處理器一樣,它是最繁忙的一個寄存器了。在指令中用助記符A來表示。
PSW:程序狀態字寄存器,8位,用于標志指令執行后的信息狀態,相當于一般微處理器的標志寄存器。PSW中各位狀態供程序查詢和判別用。詳見特殊功能寄存器SFR中介紹。
B:8位寄存器,在乘、除運算時,B寄存器用來存放一個操作數;也用來存放運算后的一部分結果;若不作乘、除運算時,則可作為通用寄存器使用。
另外,805l片內還有一個布爾處理器,它以PSw中的進位標志位C為其累加器,專門用于處理位操作:可執行置位、位清0、位取反、位等于1轉移、位等于0轉移、位等于l轉移并清0以及進位標志位C與其他可位尋址的空間之間進行信息傳送等位操作,也能使C與其他可尋址位之間進行邏輯與、邏輯或操作,結果存放在進位標志位(位累加器)C中。
2.控制器
控制器包括程序計數器PC、指令寄存器IR、指令譯碼器ID、振蕩器及定時電路等。
程序計數器PC:它由兩個8位的計數器PCH及PCL組成,共16位。PC實際上是程序的字節地址計數器,PC中的內容是將要執行的下一條指令的地址。改變PC中的內容就可改變程序執行的流向。PC可對64K的ROM(程序存儲器)直接尋址,也可對8051片外RAM(數據存儲器)尋址。
指令寄存器IR及指令譯碼器ID:由PC中的內容指定ROM地址,取出來的指令經指令寄存器IR送至指令譯碼器ID,由ID對指令譯碼并送PLA產生一定序列的控制信號,以執行指令所規定的操作。例如,控制ALU的操作、傳送805l片內工作寄存器間數據,以及發出ACC與I/O口( P0口一F3口)或存儲器之間通信的控制信號等等。
振蕩器及定時電路:8051單片機片內有振蕩電路,只需外接石英晶體和頻率微調電容(2個30pF左右),其頻率范圍為1.2—12MHz,該脈沖信號就作為8051工作的最基本節拍,即時間的最小單位。805l同其他計算機一樣,在基本節拍的控制下協調地工作,就象一個樂隊按著指揮的節拍演奏一樣。
3.存儲器
805l片內有ROM(程序存儲器,只能讀)和RAM(數據存儲器,可讀、可寫)兩類,它們有各自獨立的存儲地址空間,與一般微機的存儲器配置方式很不相同。
(1) 程序存儲器(ROM)
8051及875l的片內程序存儲器容量為4K字節,地址從0000H開始,用于存放程序和表格常數。
(2) 數據存儲器(RAM)
8051/8751/8031片內數據存儲器均為128字節,地址為00H一7FH,用于存放運算的中間結果、數據暫存以及數據緩沖等。
在這128字節的RAM中,有32個字節單元可指定為工作寄存器,這同一般微處理器不同。8051的片內RAM和工作寄存器排在一個隊列里統一編址。
8051單片機內部中還有SP、DPTR、PCON、…、IE、IP等特殊功能寄存器,它們也同128字節RAM在一個隊列里編址,地址80H—FFH。在這128字節RAM單元中有21個特殊功能寄存器(SFR),這些特殊功能寄存器還包括P0—P3口鎖存器。
如何使用RAM中的32個工作寄存器和特殊功能寄存器,后面將詳細介紹。
4.I/O接口
8051有四個8位并行接口即P0—P3,它們都是雙向端口,每個端口各有8條I/O線,均可輸入/輸出。P0—P3口四個鎖存器同RAM統一編址,可以把I/O口當作一般特殊功能寄存器來尋址。
總結
以上是生活随笔為你收集整理的STM32单片机入门学习(小菜鸟一枚,仅为记录个人学习)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【GRNN调制识别】基于GRNN神经网络
- 下一篇: Verilog入门——Quartus2基