發表於2024-11-20
本書涵蓋瞭基於ARM的STM32係統的基本概念、基本原理、應用技術。硬件原理的闡述以"夠用、適用、易學”為原則,降低讀者入門和理解的難度。STM32的軟件設計基於固件庫,方便讀者上手。 本書在內容組織和框架設計上具有兩個鮮明特點:全案例、基於讀者學習。從讀者學習的角度,組織每個章節的內容體係,對STM32常用的典型外設模塊的原理及其應用設計均以若乾個完整案例呈現,同時也給齣瞭一個完整的綜閤性工程案例,這些都十分有利於學習者學習和模仿。 本書可作為計算機、電子、通信、機電、自動化及其相關專業的本、專科學生及研究生的教材,也可作為從事檢測、自動控製等領域工作的嵌入式係統開發的工程技術人員的參考用書。
瀋紅衛,曆任紹興文理學院自動化係副教授,紹興文理學院教務處處長(教授),現任紹興文理學院工學院院長。主要著作有《單片機應用係統設計實例與分析》、《基於單片機的智能係統設計與實現》等。
第1章 如何學習STM32 (1)
1.1 學習STM32必須具備的知識基礎 (1)
1.2 STM32的基本架構和基本原理 (2)
1.2.1 什麼是ARM (2)
1.2.2 什麼是STM32 (3)
1.2.3 STM32的內部結構 (3)
1.2.4 典型型號―STM32F103ZET6 (5)
1.2.5 STM32的時鍾樹 (5)
1.3 學習STM32的最好方法是什麼 (9)
1.4 學習STM32需要哪些工具或平颱 (9)
1.4.1 硬件平颱 (10)
1.4.2 軟件平颱 (11)
1.5 STM32程序開發的模式 (12)
1.5.1 基於寄存器的開發模式 (13)
1.5.2 基於ST固件庫的開發模式 (20)
1.5.3 基於操作係統的開發模式 (26)
1.5.4 三種編程模式的選用建議 (27)
思考題 (27)
第2章 如何調試STM32 (28)
2.1 STM32單片機的最小係統 (28)
2.2 STM32工程模闆的建立 (30)
2.2.1 STM32的固件庫(Standard Peripherals Library) (30)
2.2.2 新建工程模闆第一步―拷貝固件庫文件 (34)
2.2.3 新建工程模闆第二步―新建一個KEIL工程 (35)
2.2.4 關於創建工程模闆的簡單小結 (41)
2.3 程序的燒寫 (42)
2.3.1 基於串口的程序下載(燒寫)方式 (42)
2.3.2 基於JTAG(SWD)的程序下載(燒寫)方式 (44)
2.4 程序的調試 (46)
2.5 模闆的使用 (48)
2.6 三個GPIO輸齣的範例―STM32中實現 延時的三種常用方法 (48)
2.6.1 我的第一個LED工程―基於延時函數的延時 (48)
2.6.2 我的第二個LED工程―SysTick中斷延時 (50)
2.6.3 我的第3個工程―定時器中斷延時 (52)
2.7 GPIO口的各種輸齣方式及其應用 (55)
2.7.1 功能要求 (55)
2.7.2 程序實現 (56)
2.8 本章小結 (58)
思考題 (59)
第3章 GPIO及其應用―輸入 (60)
3.1 單功能按鍵輸入 (60)
3.1.1 實現思想 (60)
3.1.2 具體程序 (61)
3.2 復用功能按鍵輸入 (64)
3.2.1 按鍵復用的基本概念 (64)
3.2.2 程序實現舉例 (64)
3.3 非按鍵類開關信號輸入及其實現 (67)
3.3.1 GPIO的輸入方式及其特點 (67)
3.3.2 程序實現 (68)
3.4 GPIO輸入輸齣小結 (69)
思考題 (70)
第4章 TIMER與PWM (71)
4.1 關於STM32的定時器概述 (71)
4.2 STM32定時器的簡單應用 (72)
4.2.1 按周期輸齣方波的例子 (72)
4.2.2 實現原理 (72)
4.2.3 具體程序 (72)
4.3 STM32定時器的復雜應用―檢測輸入方波的頻率 (77)
4.3.1 STM32定時器的其他特性 (77)
4.3.2 本例設計要求 (78)
4.3.3 硬件接口設計與測量原理 (79)
4.3.4 具體程序 (79)
4.4 PWM原理及其應用一―一個LED呼吸燈的實現 (84)
4.4.1 PWM的基本概念及其基本應用 (84)
4.4.2 STM32的PWM的實現原理 (84)
4.4.3 基於PWM的LED呼吸燈的實現思路 (88)
4.4.4 呼吸燈的實現程序 (89)
4.5 PWM原理及其應用二―通過L298N控製電機轉速 (96)
4.5.1 硬件設計 (96)
4.5.2 直流電機調速與調嚮的原理 (97)
4.5.3 程序實現 (97)
思考題 (104)
第5章 USART及其應用 (105)
5.1 串行通信模塊USART的基本應用要點 (105)
5.1.1 STM32的USART及其基本特性 (105)
5.1.2 STM32的USART應用的基本要領 (106)
5.2 一個USART的通信實現(STM32與PC)―查詢法 (107)
5.2.1 功能要求 (107)
5.2.2 實現難點 (108)
5.2.3 程序實現 (108)
5.2.4 USART應用的有關事項 (114)
5.3 一個USART的通信實現(STM32與PC)―中斷法 (115)
5.3.1 功能要求及通信協議設計 (115)
5.3.2 程序算法 (115)
5.3.3 本例的源程序 (116)
5.4 兩個USART的通信實現 (124)
5.4.1 功能要求與通信協議 (124)
5.4.2 接口設計 (124)
5.4.3 程序實現 (125)
5.5 USART應用小結 (139)
思考題 (141)
第6章 人機界麵―按鍵輸入與液晶顯示 (142)
6.1 STM32與液晶模塊12864的接口實現 (142)
6.1.1 STM32與液晶模塊12864的接口實現―延時法 (142)
6.1.2 STM32與液晶模塊12864的接口實現―查詢“忙”狀態 (153)
6.2 基於液晶模塊12864的菜單實現 (173)
6.2.1 程序中菜單的種類與菜單化程序的優勢 (173)
6.2.2 基於液晶模塊12864的菜單實現實例 (173)
6.3 矩陣鍵盤的接口實現 (186)
6.3.1 矩陣鍵盤的應用與程序設計思想 (186)
6.3.2 4×4矩陣鍵盤的硬件設計 (186)
6.3.3 演示程序 (187)
6.4 本章小結 (198)
思考題 (199)
第7章 同步串行接口總綫SPI與I2C (200)
7.1 STM32的SPI (200)
7.1.1 SPI概述 (200)
7.1.2 STM32之SPI總綫的應用要點 (201)
7.2 SPI的接口應用及其實現 (202)
7.2.1 STM32與OLED12864液晶模塊的SPI接口 (202)
7.2.2 STM32的SPI1與OLED12864的接口程序 (203)
7.3 STM32的I2C總綫 (223)
7.3.1 I2C總綫的基本概念 (223)
7.3.2 STM32的I2C總綫應用要領 (226)
7.4 STM32的I2C總綫的應用舉例 (227)
7.4.1 具有I2C接口的DS3231時鍾模塊 (227)
7.4.2 STM32與DS3231時鍾模塊的硬件接口 (229)
7.4.3 STM32與DS3231的軟件接口及其演示實例 (229)
7.5 I2C總綫穩健性設計 (247)
思考題 (247)
第8章 ADC、DAC與DMA及其應用 (248)
8.1 STM32的DMA (248)
8.1.1 STM32的DMA及其基本特性 (248)
8.1.2 STM32的DMA原理及其配置要點 (249)
8.2 STM32的ADC (251)
8.2.1 STM32的ADC的基本特性 (251)
8.2.2 STM32的ADC的程序流程與編程要點 (253)
8.3 一個三通道A/D轉換的範例 (254)
8.3.1 功能要求與方案設計 (254)
8.3.2 實現程序 (256)
8.3.3 本例的中斷法實現 (263)
8.4 STM32的DAC (266)
8.4.1 DAC概述 (266)
8.4.2 DAC的配置要領 (266)
8.4.3 DAC應用實例 (268)
思考題 (277)
第9章 工程實例―基於綫性CCD的小車循跡係統 (278)
9.1 係統要求 (278)
9.2 綫性CCD的原理及其使用 (278)
9.2.1 綫性CCD傳感器原理 (279)
9.2.2 綫性CCD傳感器應用 (280)
9.2.3 硬件接口 (281)
9.3 自適應曝光的算法設計 (281)
9.3.1 自適應曝光算法 (281)
9.3.2 模塊化架構 (283)
9.4 具體程序 (285)
9.4.1 工程文件視圖―文件結構 (285)
9.4.2 程序源代碼 (286)
9.5 係統性能實測 (315)
9.5.1 係統實物與測試環境 (315)
9.5.2 係統實測結果 (316)
思考題 (318)
參考文獻 (319)
嵌入式係統的發展確實超乎我們的想象。從早起的8位單片機,到目前主流的32位單片機,其應用已深深滲透於生産生活的各個方麵。作為ARM的一個典型係列,STM32以其較高的性能和優越的性價比,毫無疑問地成為32位單片機市場的主流。把STM32引入大學的培養體係,已經成為高校廣大師生的普遍共識和共同實踐。
普遍都認為,基於ARM的嵌入式係統不僅難教而且難學。究其原因,無外乎三個方麵:①功能多導緻的問題。功能多導緻係統復雜,這樣給理解帶來諸多睏難,使得從傳統的8位單片機係統轉過來的學習者感覺難以適應,因為傳統的8位單片機,例如51單片機,功能相對單一,結構原理相對簡單。②芯片係列多導緻的問題。由於基於ARM的單片機係列較多,功能、性能差異又較大,開發環境又往往不一樣,尤其是與8位單片機學習者已熟悉的KEIL C差異較大,再者,由於ARM單片機齣現晚,發展曆史沒有8位單片機長,資料積纍遠不如8位單片機豐富,這些都對學習者提齣瞭挑戰、形成瞭恐慌。③開發模式不一樣導緻的問題。每個ARM係列單片機往往其開發環境、開發模式是不一樣的。以STM32為例,開發環境就有好幾種,開發模式又有寄存器模式、固件庫函數模式兩種,再加上各自又可對應基於操作係統和無操作係統的形式,工程模闆的配置很多初學者往往不得其要領,所有這些使得傳統的單片機學習者在從8位單片機嚮ARM遷移的過程中,感覺信心不足,不敢輕易涉足。
作者本身是傳統8位單片機的一個資深學習者和應用開發者,對上述這些感同身受、體會深厚。正因為如此,由於一個偶然的觸發,讓我在2014年暑假下定決心一定要破破這個邪,從而開始瞭長達近兩年的學習和教材撰寫過程,走上瞭一個人的朝聖之旅。
正是這不摺不扣的兩年學習和思考,引領我在本教材的框架構思和具體撰寫中,毫無覺察地將自己設置在學習者的立場和視野上。本教材的撰寫自始至終都堅定地遵循瞭“二二”思想。第一個“二”,即教材撰寫的兩個原則;第二個“二”,即教材撰寫的兩個特色。
教材撰寫的兩個原則。一是基於學習者學習的原則,而不是方便教授者教的原則;二是刪繁就簡、容易上手的原則,對傳統讀者感覺恐慌的部分,圍繞應用和實踐,采取夠用、適用的方式,將其簡化,降低學習恐懼,對諸如工程模闆配置等問題又往往從根本上、從本質上闡述到位,使學習者真正理解為什麼要這樣做,從而避免雲裏霧裏、一知半解,實現得心應手、運用自如。
教材撰寫的兩個特色。一是圍繞學習者學習,二是全案例驅動。具體地說,就是完全站在學習者學習的角度,設計整個教材的邏輯關係,組織每個章節的內容體係,在簡明扼要地闡述STM32常用的每一個典型外設模塊的原理的基礎上,圍繞其應用,均以一個以上完整案例的形式討論其設計精髓,並在教材的最後給齣瞭一個完整的工程案例,所有這些案例的硬件和軟件完全公開、毫無保留,因此十分有利於學習者學習和模仿。大量的教學實踐錶明,模仿是學習單片機最為成功的一種方式之一,它不僅可以讓學習産生成就感,而且可以較快地激發學習興趣和動力。
本教材的第一部分討論瞭怎麼學STM32的問題。分彆從學習STM32的基礎要求、STM32的基本架構和大緻原理、學習STM32的基本方法、學STM32需要哪些工具或平颱等幾個方麵加以闡述。
教材的第二部分圍繞一個GPIO輸齣的簡單案例,討論瞭STM32應用開發所必需的開發環境配置(包括模闆的建立)、程序的下載與調試、STM32程序開發的三種模式等問題。
教材的其餘部分,分彆通過一個及以上的完整案例,討論瞭STM32中最為典型的外設與功能模塊,即GPIO輸入輸齣、延時的實現(延時函數、SysTick、定時器中斷)、TIMER與PWM、USART、基於液晶和按鍵的人機界麵、I2C與SPI、A/D、D/A、DMA、中斷等的工作原理、應用設計、程序實現。
教材的最後部分,討論瞭一個基於綫性CCD路徑識彆的綜閤性工程案例。這個案例幫助學習者進一步建立模塊化思想,提高設計與開發STM32的綜閤應用係統的能力與信心。
本教材的所有案例均經過作者精心設計並一一實驗驗證。所有案例的功能要求完整、注釋完整、代碼完整,真正做到瞭全公開、全透明、無保留。
一點建議:從學習入門和一般應用的角度,我傾嚮於不要先花很多精力去學嵌入式實時操作係統(例如μC/OS),原因有二:一方麵,因其體係和概念過於復雜、抽象,初學者難以駕馭,學習起來會非常睏難,學習效率會異常低下,這樣反而影響最重要的最根本的內容的學習,可能會使原本不足的學習興趣和動力齣現“斷崖式”下降;另一方麵,對於一般的應用,多數是不需要基於操作係統的,況且,多數觀點認為STM32並不十分適閤嵌入操作係統。
教材的編寫是一個艱難和孤獨的過程,一本好的教材的齣版更是需要心無旁騖、摒棄雜念。在整整一年的撰寫和實驗驗證過程中,我更加對此深信不疑。本教材絕大多數內容均為作者原創,編寫風格也不同於大多數教材的模式,因為將顯得復雜的原理分解至各個功能模塊去闡述和討論,因此較好地迎閤瞭學習者的學習規律。可以不自謙地說,這是一本真正意義上以學習産齣(OBE)為導嚮的教材。
本教材得到瞭紹興文理學院浙江省新興特色專業自動化專業建設項目經費的資助,是2015年紹興市重點建設教材。
本教材由紹興文理學院瀋紅衛教授、任沙浦副教授、硃敏傑講師、盧雪萍講師,浙江工業職業技術學院楊亦紅講師等共同完成,紹興文理學院自動化專業13級項燁雯、12級陳劍泓等同學參與瞭部分圖錶的繪製。在教材的編寫過程中,參閱瞭許多資料,在此對本教材參考資料的作者錶示誠摯感謝,對不能一一標明來源的資料的作者錶示真誠的歉意和敬意。對直接、間接為本教材齣版傾注智慧、付齣心力、提供幫助的所有人,我都心懷滿滿的感謝!
由於水平所限,書中難免存在錯誤和不周之處,懇請同行專傢和讀者不吝指正。
瀋紅衛
於紹興風則江邊
2017年5月20日
STM32單片機應用與全案例實踐 下載 mobi pdf epub txt 電子書 格式 2024
STM32單片機應用與全案例實踐 下載 mobi epub pdf 電子書入門級
評分這本書還好 不能隻啃書
評分可以圖我弟看你的曹雨生藏去阿魯巴
評分這本書還好 不能隻啃書
評分垃圾
評分好
評分這本書還好 不能隻啃書
評分此用戶未及時填寫評價內容,係統默認好評!
評分不錯不錯不錯不錯不錯
STM32單片機應用與全案例實踐 mobi epub pdf txt 電子書 格式下載 2024