基於 STM32 嵌入式接口與傳感器應用開發
內容描述
本書主要介紹在嵌入式系統和物聯網系統開發中常用的STM32微處理器的接口技術、常見傳感器的應用,由淺入深地對STM32接口技術和傳感器的應用進行講解。全書採用任務式開發的學習方法,精選了28個貼近社會和生活的案例,每個案例均有完整的開發過程,分別是生動的開發場景、明確的開發目標、深入淺出的原理學習、詳細的系統設計過程、詳細的軟/硬件設計和功能實現過程,最後進行開發驗證和總結拓展,將理論學習和開發實踐結合起來。每個案例均附有完整的開發代碼和配套PPT課件,讀者可在源代碼的基礎上快速地進行二次開發。
目錄大綱
目錄
第1部分嵌入式系統基本原理和開發知識
任務1認識嵌入式系統(2)
1.1學習場景:嵌入式系統有哪些應用(2)
1.2學習目標(2)
1.3原理學習:嵌入式系統的發展與應用(2)
1.3.1嵌入式系統概述(2)
1.3.2嵌入式操作系統(5)
1.3.3嵌入式系統的發展與應用(7)
1.4任務小結(9)
1.5思考與拓展(9)
任務2 ARM嵌入式開發平台(10)
2.1學習場景:ARM嵌入式開發平台有哪些應用(10)
2.2開發目標(11)
2.3原理學習:ARM微處理器(11)
2.3.1 ARM微處理器簡介及其產品系列(11)
2.3.2 ARM微處理器的組成及結構(13)
2.3.3 STM32系列微處理器(14)
2.3.4 STM32開發平台(17)
2.4任務小結(21)
2.5思考與拓展(21)
任務3工程創建與調試(22)
3.1開發場景:如何進行項目開發(22)
3.2開發目標(22)
3.3原理學習:軟件開發環境(22)
3.3.1 IAR for ARM開發環境(22
3.3.2 STM32標準函數庫(24)
3.3.3 IAR ARM開發環境的使用(36)
3.3.4 IAR ARM程序的開發及在線調試(39)
3.4任務實踐(44)
3.4.1開發設計(44)
3.4.2功能實現(45)
3.5任務小結(45)
3.6思考與拓展(45)
第2部分STM32嵌入式接口開發技術
任務4設備指示燈的設計與實現(48)
4.1開發場景:如何控制設備指示燈(48)
4.2開發目標(48)
4.3原理學習:STM32的GPIO功能與應用(48)
4.3.1 STM32的GPIO (48)
4.3.2 STM32的GPIO寄存器(53)
4.3.3常見GPIO的位操作(59)
4.4任務實踐:設備指示燈控制的軟/硬件設計(60)
4.4.1開發設計(60)
4.4.2功能實現(62)
4.5任務驗證(65)
4.6任務小結(65)
4.7思考與拓展(65)
任務5競賽搶答器的設計與實現(66)
5.1開發場景:如何實現搶答器(66)
5.2開發目標(66)
5.3原理學習:STM32微處理器的中斷(67)
5.3.1中斷基本概念與定義(67)
5.3.2 STM32中斷應用概述(70)
5.3.3 STM32的外部中斷機制(74)
5.4任務實踐:搶答器的軟/硬件設計(79)
5.4.1開發設計(79)
5.4.2功能實現(80)
5.5任務驗證(82)
5.6任務小結(83)
5.7思考與拓展(83)
任務6電子時鐘的設計與實現(84)
6.1開發場景:如何實現電子時鐘(84)
6.2開發目標(84)
6.3原理學習:STM32定時/計數器(84)
6.3.1定時/計數器的基本原理(84)
6.3.2 STM32定時器(85)
6.4任務實踐:電子時鐘的軟/硬件設計(93)
6.4.1開發設計(93)
6.4.2功能實現(94)
6.5任務驗證(96)
6.6任務小結(96)
6.7思考與拓展(96)
任務7汽車電壓指示器的設計與實現(97)
7.1開發場景:如何實現汽車電壓指示器(97)
7.2開發目標(97)
7.3原理學習:STM32 ADC (98)
7.3.1 A/D轉換(98)
7.3.2 STM32的A/D轉換器(99)
7.4任務實踐:汽車電壓指示器的軟/硬件設計(108)
7.4.1開發設計(108)
7.4.2功能實現(109)
7.5任務驗證(111)
7.6任務小結(112)
7.7思考與拓展(112 )
任務8環境監測點自複位的設計與實現(113)
8.1開發場景:如何實現自複位設計(113)
8.2開發目標(113)
8.3原理學習:STM32看門狗(114)
8.3.1看門狗基本原理(114)
8.3.2 STM32看門狗(115)
8.3.3 STM32看門狗庫函數的使用(119)
8.4任務實踐:環境監測點自複位的軟/硬件設計(121)
8.4.1開發設計(121)
8.4.2功能實現(123)
8.5任務驗證(125)
8.6任務小結(125)
8.7思考與拓展(125)
任務9視頻監控中三維控制鍵盤的設計與實現(126)
9.1開發場景:如何實現視頻監控中三維控制鍵盤(126)
9.2開發目標(126)
9.3原理學習:STM32串口(126)
9.3.1串口(126)
9.3.2 STM32的USART (129)
9.3.3 STM32串口庫函數 (137)
9.4任務實踐:視頻監控中三維控制鍵盤的軟/硬件設計(138)
9.4.1開發設計(138)
9.4.2功能實現(139)
9.5任務驗證(142)
9.6任務小結(143)
9.7思考與拓展(143)
任務10農業大棚環境信息採集系統的設計與實現(144)
10.1開發場景:如何採集溫濕度信息(144)
10.2開發目標(144)
10.3原理學習:STM32的I2C模塊和溫濕度傳感器(145 )
10.3.1 I2C總線(145)
10.3.2 STM32的I2C模塊(148)
10.3.3 STM32的I2C庫函數的使用(152)
10.3.4溫濕度傳感器(153)
10.4任務實踐:農業大棚環境信息採集系統的軟/硬件設計(157)
10.4.1開發設計(157)
10.4.2功能實現(159)
10.5任務驗證(166)
10.6任務小結(167)
10.7思考與拓展(167)
任務11高速動態數據存取的設計與實現(168)
11.1開發場景:如何實現高速動態數據的存取(168)
11.2開發目標(168)
11.3原理學習:SPI總線協 和Flash存儲器(168)
11.3.1 SPI總線協議(168)
11.3.2 Flash存儲器(178)
11.4任務實踐:高速動態數據存取的軟/硬件設計(184)
11.4.1開發設計(184)
11.4.2功能實現(185)
11.5任務驗證(194)
11.6任務小結(195)
11.7思考與拓展(195)
任務12車載顯示器的設計與實現(196)
12.1開發場景:如何實現車載顯示器(196)
12.2開發目標(196)
12.3原理學習:STM32的FSMC模塊和LCD模塊(196)
12.3.1顯示器(196)
12.3.2 STM32的FSMC模塊(198)
12.3.3 STM32的FSMC模塊庫函數(205)
12.3.4 ILI93xx系列TFT LCD (207)
12.4任務實踐:車載顯示器的軟/硬件設計(211)
12.4.1開發設計(211)
12.4.2功能實現(213)
12.5任務驗證(225)
12.6任務小結(226)
12.7思考與拓展(226)
第3部分基於STM32和常用傳感器開發
任務13傳感器應用技術(228)
13.1學習場景:日常生活傳感器的應用有哪些(228)
13.2開發目標(229)
13.3原理學習:傳感器應用和發展趨勢(229)
13.3.1傳感器簡述(229)
13.3.2傳感器與物聯網應用(231)
13.4任務小結(236)
13.5思考與拓展(236 )
任務14溫室大棚光照度測量系統的設計與實現(237)
14.1開發場景:如何實現光照度的測量(237)
14.2開發目標(237)
14.3原理學習:光敏傳感器和I2C (238)
14.3.1光敏傳感器( 238)
14.3.2 BH1750FVI -TR型光敏傳感器(240)
14.3.3 I2C總線和光照傳感器(242)
14.4任務實踐:光照度測量系統的軟/硬件設計(242)
14.4.1開發設計(242)
14.4. 2功能實現(243)
14.5任務驗證(250)
14.6任務小結(250)
14.7思考與拓展(251)
任務15探空氣球測海拔的設計與實現(252)
15.1開發場景:如何實現氣壓海拔的測量( 252)
15.2開發目標(252)
15.3原理學習:氣壓海拔傳感器的工作原理與測量方法(253)
15.3.1 壓海拔傳感器(253)
15.3.2氣壓海拔傳感器的工作原理(253)
15.3.3氣壓海拔傳感器的海拔計算方法(253)
15.3.4 FBM320型氣壓海拔傳感器(254)
15.4任務實踐:探空氣球測海拔的軟/硬件設計(256)
15.4.1開發設計(256)
15.4 .2功能實現(257)
15.5任務驗證(263)
15.6任務小結(264)
15.7思考與拓展(264)
任務16建築工地揚塵監
作者介紹
廖建尚,男,副教授,畢業於廣東工業大學通信與信息系統專業,碩士,先任職於廣東交通職業技術學院。長期從事物聯網技術的開發和教學工作。