嵌入式技術(shù)與應(yīng)用開(kāi)發(fā)項(xiàng)目教程(STM32版)
定 價(jià):59.8 元
- 作者:郭志勇
- 出版時(shí)間:2019/5/1
- ISBN:9787115508263
- 出 版 社:人民郵電出版社
- 中圖法分類:TP332
- 頁(yè)碼:310
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)基于ST公司的STM32芯片,包括8個(gè)項(xiàng)目、19個(gè)任務(wù),分別介紹LED控制設(shè)計(jì)與實(shí)現(xiàn)、跑馬燈控制設(shè)計(jì)與實(shí)現(xiàn)、數(shù)碼管顯示設(shè)計(jì)與實(shí)現(xiàn)、控鍵控制設(shè)計(jì)與實(shí)現(xiàn)、定時(shí)器應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)、串行通信設(shè)計(jì)與實(shí)現(xiàn)、模數(shù)轉(zhuǎn)換設(shè)計(jì)與實(shí)現(xiàn)以及嵌入式智能車設(shè)計(jì)與實(shí)現(xiàn)等內(nèi)容,涵蓋了嵌入式系統(tǒng)的基本知識(shí)和嵌入式應(yīng)用開(kāi)發(fā)的基本內(nèi)容。
本書(shū)引入Proteus仿真軟件,采用“任務(wù)驅(qū)動(dòng)、做中學(xué)”的編寫(xiě)思路,每個(gè)任務(wù)均將相關(guān)知識(shí)和職業(yè)崗位技能融合在一起,將知識(shí)、技能的學(xué)習(xí)結(jié)合任務(wù)完成過(guò)程來(lái)進(jìn)行。
本書(shū)可作為高等院校嵌入式技術(shù)與應(yīng)用、物聯(lián)網(wǎng)應(yīng)用技術(shù)等電子信息類專業(yè)嵌入式課程的教材,也可作為廣大智能電子產(chǎn)品制作愛(ài)好者的自學(xué)用書(shū)。
1、名師打造精品教材,提供與教材配套的微課資源和基于STM32的實(shí)訓(xùn)模塊。
2、采用“項(xiàng)目引入、任務(wù)驅(qū)動(dòng)”的編寫(xiě)思路,從職業(yè)崗位技能出發(fā),項(xiàng)目銜接緊湊且螺旋上升,成為知識(shí)點(diǎn)的有效支撐,逐漸深化知識(shí)點(diǎn)。
3、全新的仿真教學(xué)模式,可以作為技能大賽“嵌入式技術(shù)與應(yīng)用開(kāi)發(fā)”賽項(xiàng)訓(xùn)練教材。
郭志勇,教授,任職于安徽電子信息職業(yè)技術(shù)學(xué)院信息與智能工程系,編寫(xiě)過(guò)多本計(jì)算機(jī)教材!秵纹瑱C(jī)應(yīng)用技術(shù)項(xiàng)目教程(C語(yǔ)言版)》前兩版被多所學(xué)校選用,銷量穩(wěn)定。
項(xiàng)目一 LED控制設(shè)計(jì)與實(shí)現(xiàn) 1
1.1 任務(wù)1 新建一個(gè)基于STM32固件庫(kù)的工程模板 1
1.1.1 新建基于STM32固件庫(kù)的Keil μVision4工程模板 1
1.1.2 認(rèn)識(shí)STM32固件庫(kù) 11
1.1.3 STM32固件庫(kù)關(guān)鍵子目錄和文件 12
1.2 任務(wù)2 點(diǎn)亮一個(gè)LED 15
1.2.1 用Proteus設(shè)計(jì)第 一個(gè)STM32的LED控制電路 15
1.2.2 開(kāi)發(fā)第 一個(gè)基于工程模板的Keil μVision4工程 23
1.2.3 位操作 25
1.3 認(rèn)識(shí)Arm-STM32 26
1.3.1 嵌入式系統(tǒng) 26
1.3.2 Arm Cortex-M3處理器 28
1.3.3 STM32系列處理器 29
1.4 任務(wù)3 LED閃爍控制 31
1.4.1 LED閃爍控制設(shè)計(jì)與實(shí)現(xiàn) 31
1.4.2 extern 變量聲明 32
1.4.3 Keil μVision4文本美化 33
【技能訓(xùn)練1-1】音頻產(chǎn)生器 35
關(guān)鍵知識(shí)點(diǎn)小結(jié) 36
問(wèn)題與討論 38
項(xiàng)目二 跑馬燈控制設(shè)計(jì)與實(shí)現(xiàn) 39
2.1 任務(wù)4 LED循環(huán)點(diǎn)亮控制 39
2.1.1 認(rèn)識(shí)STM32的I/O口 39
2.1.2 STM32的GPIO初始化和輸入輸出庫(kù)函數(shù) 45
2.1.3 LED循環(huán)點(diǎn)亮控制設(shè)計(jì) 47
【技能訓(xùn)練2-1】GPIO_SetBits ()和GPIO_ResetBits ()函數(shù)應(yīng)用 49
2.2 Cortex-M3的編程模式 50
2.2.1 Cortex-M3工作模式及狀態(tài) 50
2.2.2 Cortex-M3寄存器組 51
2.2.3 Cortex-M3特殊功能寄存器組 54
2.3 任務(wù)5 跑馬燈設(shè)計(jì)與實(shí)現(xiàn) 56
2.3.1 跑馬燈電路設(shè)計(jì) 56
2.3.2 跑馬燈程序設(shè)計(jì)、運(yùn)行與調(diào)試 57
2.3.3 C語(yǔ)言中的預(yù)處理 59
2.3.4 結(jié)構(gòu)體 61
【技能訓(xùn)練2-2】結(jié)構(gòu)體應(yīng)用——GPIO端口初始化 62
2.4 STM32結(jié)構(gòu) 63
2.4.1 Cortex-M3處理器結(jié)構(gòu) 63
2.4.2 STM32系統(tǒng)結(jié)構(gòu) 65
2.4.3 STM32時(shí)鐘配置 67
【技能訓(xùn)練2-3】基于寄存器的跑馬燈設(shè)計(jì) 72
關(guān)鍵知識(shí)點(diǎn)小結(jié) 73
問(wèn)題與討論 75
項(xiàng)目三 數(shù)碼管顯示設(shè)計(jì)與實(shí)現(xiàn) 76
3.1 任務(wù)6 數(shù)碼管靜態(tài)顯示設(shè)計(jì)與實(shí)現(xiàn) 76
3.1.1 認(rèn)識(shí)數(shù)碼管 76
3.1.2 數(shù)碼管靜態(tài)顯示電路設(shè)計(jì) 78
3.1.3 數(shù)碼管靜態(tài)顯示程序設(shè)計(jì) 79
【技能訓(xùn)練3-1】共陽(yáng)極LED數(shù)碼管應(yīng)用 81
3.2 STM32存儲(chǔ)器映射 83
3.2.1 認(rèn)識(shí)Cortex-M3存儲(chǔ)器 83
3.2.2 Cortex-M3存儲(chǔ)器映射 84
3.2.3 STM32存儲(chǔ)器映射 86
【技能訓(xùn)練3-2】編寫(xiě)外部設(shè)備文件 89
3.3 任務(wù)7 數(shù)碼管動(dòng)態(tài)掃描顯示設(shè)計(jì)與實(shí)現(xiàn) 91
3.3.1 數(shù)碼管動(dòng)態(tài)掃描顯示電路設(shè)計(jì) 92
3.3.2 數(shù)碼管動(dòng)態(tài)掃描顯示程序設(shè)計(jì)、運(yùn)行與調(diào)試 92
3.3.3 Keil μVision4代碼編輯 94
3.4 I/O口的位操作與實(shí)現(xiàn) 99
3.4.1 位帶區(qū)與位帶別名區(qū) 99
3.4.2 位帶操作 100
3.4.3 I/O口位帶操作的宏定義 102
3.4.4 I/O口的位操作實(shí)現(xiàn) 105
【技能訓(xùn)練3-3】I/O口的位操作應(yīng)用 106
關(guān)鍵知識(shí)點(diǎn)小結(jié) 107
問(wèn)題與討論 108
項(xiàng)目四 按鍵控制設(shè)計(jì)與實(shí)現(xiàn) 109
4.1 任務(wù)8 按鍵控制LED設(shè)計(jì)與實(shí)現(xiàn) 109
4.1.1 認(rèn)識(shí)嵌入式應(yīng)用技術(shù)與開(kāi)發(fā)的核心板 109
4.1.2 按鍵控制LED電路設(shè)計(jì) 110
4.1.3 按鍵控制LED程序設(shè)計(jì) 113
4.1.4 按鍵控制LED運(yùn)行與調(diào)試 118
【技能訓(xùn)練4-1】一鍵多功能按鍵識(shí)別設(shè)計(jì)與實(shí)現(xiàn) 120
4.2 GPIO和AFIO寄存器地址映射 122
4.2.1 GPIO寄存器地址映射 122
4.2.2 端口復(fù)用使用 125
4.2.3 端口復(fù)用重映射 126
【技能訓(xùn)練4-2】串口1(USART1)重映射實(shí)現(xiàn) 129
4.3 任務(wù)9 中斷方式的按鍵控制設(shè)計(jì)與實(shí)現(xiàn) 130
4.3.1 STM32中斷 130
4.3.2 STM32外部中斷編程 134
4.3.3 中斷方式的按鍵控制程序設(shè)計(jì) 137
4.3.4 中斷方式的按鍵控制工程搭建、編譯與調(diào)試 141
【技能訓(xùn)練4-3】中斷方式的聲光報(bào)警器 141
關(guān)鍵知識(shí)點(diǎn)小結(jié) 144
問(wèn)題與討論 145
項(xiàng)目五 定時(shí)器應(yīng)用設(shè)計(jì)與實(shí)現(xiàn) 146
5.1 任務(wù)10 基于SysTick定時(shí)器的1秒延時(shí)設(shè)計(jì)與實(shí)現(xiàn) 146
5.1.1 SysTick定時(shí)器 146
5.1.2 庫(kù)函數(shù)中的SysTick相關(guān)函數(shù) 149
5.1.3 SysTick的關(guān)鍵函數(shù)編寫(xiě) 151
5.1.4 基于SysTick定時(shí)器的1秒延時(shí)設(shè)計(jì)與實(shí)現(xiàn) 153
5.2 任務(wù)11 STM32定時(shí)器的定時(shí)設(shè)計(jì)與實(shí)現(xiàn) 156
5.2.1 認(rèn)識(shí)STM32定時(shí)器 156
5.2.2 STM32定時(shí)器與定時(shí)相關(guān)的寄存器 157
5.2.3 STM32定時(shí)器相關(guān)的庫(kù)函數(shù) 162
5.2.4 STM32定時(shí)器的定時(shí)設(shè)計(jì) 165
【技能訓(xùn)練5-1】基于寄存器的STM32定時(shí)器定時(shí)設(shè)計(jì)與實(shí)現(xiàn) 167
5.3 任務(wù)12 PWM輸出控制電機(jī) 169
5.3.1 STM32的PWM輸出相關(guān)寄存器 169
5.3.2 STM32的PWM輸出編程思路 172
5.3.3 STM32的PWM輸出相關(guān)庫(kù)函數(shù) 174
5.3.4 PWM輸出控制電機(jī)設(shè)計(jì) 177
【技能訓(xùn)練5-2】基于寄存器的PWM輸出控制電機(jī)設(shè)計(jì)與實(shí)現(xiàn) 180
關(guān)鍵知識(shí)點(diǎn)小結(jié) 181
問(wèn)題與討論 183
項(xiàng)目六 串行通信設(shè)計(jì)與實(shí)現(xiàn) 184
6.1 STM32的串行通信 184
6.1.1 串行通信基本知識(shí) 184
6.1.2 認(rèn)識(shí)STM32的USART串口 186
6.1.3 STM32串口的相關(guān)寄存器 187
6.2 任務(wù)13 USART串口通信設(shè)計(jì) 190
6.2.1 STM32串口的相關(guān)函數(shù) 190
6.2.2 STM32的USART1串口通信設(shè)計(jì) 194
6.2.3 STM32串行通信設(shè)計(jì)與調(diào)試 198
【技能訓(xùn)練6-1】基于寄存器的STM32串行通信設(shè)計(jì) 198
6.3 任務(wù)14 STM32串口無(wú)線傳輸設(shè)計(jì)與實(shí)現(xiàn) 202
6.3.1 基于Wi-Fi的STM32串口無(wú)線傳輸電路設(shè)計(jì) 202
6.3.2 基于ZigBee的STM32串口無(wú)線傳輸電路設(shè)計(jì) 204
6.3.3 嵌入式智能車通信協(xié)議 205
6.3.4 基于寄存器的STM32串口無(wú)線傳輸程序設(shè)計(jì) 207
關(guān)鍵知識(shí)點(diǎn)小結(jié) 214
問(wèn)題與討論 215
項(xiàng)目七 模數(shù)轉(zhuǎn)換設(shè)計(jì)與實(shí)現(xiàn) 216
7.1 STM32的模數(shù)轉(zhuǎn)換 216
7.1.1 STM32的模數(shù)轉(zhuǎn)換簡(jiǎn)介 216
7.1.2 ADC相關(guān)的寄存器 218
7.2 任務(wù)15 基于寄存器的STM32模數(shù)轉(zhuǎn)換設(shè)計(jì) 223
7.2.1 STM32的ADC設(shè)置 223
7.2.2 基于寄存器的STM32模數(shù)轉(zhuǎn)換設(shè)計(jì) 225
7.2.3 基于寄存器的STM32模數(shù)轉(zhuǎn)換運(yùn)行與調(diào)試 233
7.3 任務(wù)16 基于庫(kù)函數(shù)的STM32模數(shù)轉(zhuǎn)換設(shè)計(jì) 234
7.3.1 ADC相關(guān)的庫(kù)函數(shù) 234
7.3.2 基于庫(kù)函數(shù)的STM32模數(shù)轉(zhuǎn)換程序設(shè)計(jì) 235
7.3.3 基于庫(kù)函數(shù)的STM32模數(shù)轉(zhuǎn)換運(yùn)行與調(diào)試 236
關(guān)鍵知識(shí)點(diǎn)小結(jié) 237
問(wèn)題與討論 238
項(xiàng)目八 嵌入式智能車設(shè)計(jì)與實(shí)現(xiàn) 239
8.1 嵌入式智能車 239
8.1.1 認(rèn)識(shí)嵌入式智能車 239
8.1.2 嵌入式智能車任務(wù)板 241
8.1.3 嵌入式智能車循跡板 246
8.2 任務(wù)17 嵌入式智能車巡航控制設(shè)計(jì) 248
8.2.1 嵌入式智能車電機(jī)驅(qū)動(dòng)電路 249
8.2.2 電機(jī)正反轉(zhuǎn)和速度控制程序設(shè)計(jì) 252
8.2.3 嵌入式智能車停止、前進(jìn)和后退程序設(shè)計(jì) 256
8.2.4 嵌入式智能車循跡、左轉(zhuǎn)和右轉(zhuǎn)程序設(shè)計(jì) 260
【技能訓(xùn)練8-1】嵌入式智能車巡航控制 268
8.3 任務(wù)18 嵌入式智能車標(biāo)志物控制設(shè)計(jì) 270
8.3.1 道閘標(biāo)志物控制設(shè)計(jì) 270
8.3.2 LED顯示標(biāo)志物控制設(shè)計(jì) 271
8.3.3 基于紅外線的標(biāo)志物控制設(shè)計(jì) 274
8.3.4 智能路燈控制設(shè)計(jì) 278
8.3.5 超聲波測(cè)距設(shè)計(jì) 285
8.3.6 雙色燈控制程序設(shè)計(jì) 288
【技能訓(xùn)練8-2】嵌入式智能車標(biāo)志物控制 289
8.4 任務(wù)19 嵌入式智能車綜合控制設(shè)計(jì) 292
8.4.1 語(yǔ)音播報(bào)標(biāo)志物控制設(shè)計(jì) 293
8.4.2 嵌入式智能車控制運(yùn)輸車標(biāo)志物設(shè)計(jì) 296
8.4.3 編寫(xiě)嵌入式智能車的任務(wù)文件 297
8.4.4 編寫(xiě)嵌入式智能車的主文件 303
8.4.5 嵌入式智能車綜合控制工程搭建、編譯、運(yùn)行與調(diào)試 306
8.4.6 嵌入式智能車綜合控制設(shè)計(jì)經(jīng)驗(yàn)和技巧 307
關(guān)鍵知識(shí)點(diǎn)小結(jié) 308
問(wèn)題與討論 309
參考文獻(xiàn) 310