嵌入式技術(shù)及應(yīng)用(STM32CubeMX版)
定 價:59 元
- 作者:李文華
- 出版時間:2023/9/1
- ISBN:9787121462085
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP332
- 頁碼:324
- 紙張:
- 版次:01
- 開本:16開
本書采用STM32CubeMX的開發(fā)方式,選用20個基于STM32嵌入式技術(shù)開發(fā)的實例,按照“理論夠用,突出應(yīng)用”的原則,采取項目化教學(xué)的方式,以作品制作為載體,在作品制作過程中講解STM32嵌入式技術(shù)的基礎(chǔ)知識、基本技能和方法,培養(yǎng)學(xué)生的愛崗敬業(yè)、耐心仔細(xì)、抗壓抗挫等優(yōu)良品質(zhì)和精神,由淺入深地講解STM32嵌入式技術(shù)應(yīng)用,包括安裝開發(fā)工具、點亮LED燈、控制LED燈閃爍、制作跑馬燈、顯示按鍵的狀態(tài)、統(tǒng)計按鍵按下的次數(shù)、制作簡易秒表、制作呼吸燈、用串口與計算機(jī)交換數(shù)據(jù)、用空閑中斷處理串口接收數(shù)據(jù)、制作用數(shù)碼管顯示的秒表、用鍵盤控制秒表的運行、用OLED屏顯示字符、用OLED屏顯示圖片、制作電壓監(jiān)測器、制作電壓信號發(fā)生器、用硬件SPI口控制OLED屏、用硬件I2C接口訪問AT24C02、讀寫Flash存儲器、用RTC制作數(shù)字鐘以及C程序設(shè)計技巧。本書立足于應(yīng)用實踐,融入了近年來全國職業(yè)技能大賽中有關(guān)STM32嵌入式應(yīng)用技術(shù)的內(nèi)容和1+X職業(yè)技能等級考試內(nèi)容,適于用作高等職業(yè)院校物聯(lián)網(wǎng)、電子信息、智能產(chǎn)品設(shè)計、應(yīng)用電子、機(jī)電一體化、機(jī)械電子、汽車電子等專業(yè)嵌入式技術(shù)應(yīng)用課程的教材,也可作為應(yīng)用型本科和1+X“傳感網(wǎng)應(yīng)用開發(fā)”職業(yè)技能等級考試培訓(xùn)教材或者供參加物聯(lián)網(wǎng)大賽和從事STM32嵌入式技術(shù)應(yīng)用的工程技術(shù)人員學(xué)習(xí)和參考。
李文華,男,教授,就職于浙江工貿(mào)職業(yè)技術(shù)學(xué)院,中國電子學(xué)會高級會員,長期致力于電子信息、物聯(lián)網(wǎng)技術(shù)的相關(guān)教學(xué)
項目1 搭建開發(fā)環(huán)境 1
學(xué)習(xí)目標(biāo) 1
任務(wù)1 安裝開發(fā)工具 1
任務(wù)要求 1
知識儲備 2
1.STM32微控制器 2
2.STM32的軟件開發(fā)方式 4
實現(xiàn)方法與步驟 4
1.準(zhǔn)備開發(fā)工具 4
2.解壓工具軟件 9
3.安裝MDK 10
4.安裝Keil包 13
5.激活MDK 15
6.安裝JRE 16
7.安裝STM32CubeMX 17
8.安裝STM32CubeMX庫 19
9.安裝CH340 驅(qū)動程序 22
10.查看USB口映射的串口號 23
11.安裝STLink驅(qū)動程序 24
12.安裝程序下載軟件 25
實踐總結(jié)與拓展 27
習(xí)題1 27
任務(wù)2 點亮LED燈 28
任務(wù)要求 28
知識儲備 28
1.初識GPIO口 28
2.STM32的時鐘源 29
3.STM32的程序啟動模式 30
4.STM32的程序調(diào)試模式 31
5.發(fā)光二極管的控制電路 31
實現(xiàn)方法與步驟 32
1.搭建硬件電路 32
2.新建STM32CubeMX工程 33
3.配置STM32的硬件資源 34
4.管理STM32CubeMX工程 39
5.生成Keil工程代碼 41
6.配置Keil工程 42
7.編譯連接程序 43
8.下載程序 44
實踐總結(jié)與拓展 46
習(xí)題2 46
項目2 GPIO口的應(yīng)用設(shè)計 48
學(xué)習(xí)目標(biāo) 48
任務(wù)3 控制LED閃爍 48
任務(wù)要求 48
知識儲備 49
1.Keil工程的結(jié)構(gòu) 49
2.程序編寫規(guī)范 50
3.GPIO口輸出特性 52
4.GPIO口的輸出函數(shù) 54
5.延時函數(shù) 56
實現(xiàn)方法與步驟 56
1.搭建電路 56
2.生成GPIO口的初始化代碼 56
3.編寫LED閃爍程序 57
4.編譯與下載程序 58
實踐總結(jié)與拓展 60
習(xí)題3 61
任務(wù)4 制作跑馬燈 62
任務(wù)要求 62
知識儲備 63
1.位操作運算的應(yīng)用 63
2.GPIO口的并行輸出 65
實現(xiàn)方法與步驟 66
1.搭建電路 66
2.生成GPIO口的初始化代碼 66
3.編寫跑馬燈程序 66
4.配置Keil工程 67
5.調(diào)試與下載程序 69
實踐總結(jié)與拓展 72
1.用查表法實現(xiàn)跑馬燈顯示 72
2.用訪問ODR寄存器的方式
實現(xiàn)跑馬燈顯示 74
習(xí)題4 75
任務(wù)5 顯示按鍵的狀態(tài) 77
任務(wù)要求 77
知識儲備 77
1.GPIO口的輸入特性 77
2.GPIO口的輸入函數(shù) 78
3.GPIO口的并行輸入 79
4.按鍵電路 79
實現(xiàn)方法與步驟 80
1.搭建電路 80
2.生成GPIO口的初始化代碼 80
3.編寫顯示按鍵狀態(tài)程序 81
4.調(diào)試與下載程序 82
實踐總結(jié)與拓展 83
習(xí)題5 83
項目3 外部中斷和定時器的應(yīng)用設(shè)計 85
學(xué)習(xí)目標(biāo) 85
任務(wù)6 統(tǒng)計按鍵按下的次數(shù) 85
任務(wù)要求 85
知識儲備 86
1.中斷的相關(guān)知識 86
2.嵌套中斷向量控制器NVIC 86
3.STM32的外部中斷控制器 87
4.HAL庫中GPIO口的外部中斷 函數(shù) 89
實現(xiàn)方法與步驟 91
1.搭建電路 91
2.生成外部中斷的初始化代碼 91
3.編寫統(tǒng)計按鍵按下次數(shù)的程序 95
4.調(diào)試與下載程序 97
程序分析 97
實踐總結(jié)與拓展 98
習(xí)題6 98
任務(wù)7 制作簡易秒表 100
任務(wù)要求 100
知識儲備 100
1.定時器的分類 100
2.定時器的基本結(jié)構(gòu) 101
3.計數(shù)模式 102
4.定時時長的計算 102
5.HAL庫中有關(guān)定時器的常用 函數(shù) 102
實現(xiàn)方法與步驟 104
1.搭建電路 104
2.生成定時器的初始化代碼 104
3.編寫簡易秒表程序 106
程序分析 109
實踐總結(jié)與拓展 110
習(xí)題7 111
任務(wù)8 制作呼吸燈 112
任務(wù)要求 112
知識儲備 113
1.PWM的基本概念 113
2.STM32中PWM的結(jié)構(gòu) 113
3.PWM的工作模式 114
4.定時器各通道的引腳分布 114
5.HAL庫中PWM的函數(shù)和宏 115
實現(xiàn)方法與步驟 116
1.搭建電路 116
2.生成PWM的初始化代碼 116
3.編寫呼吸燈程序 120
4.調(diào)試與下載程序 122
實踐總結(jié)與拓展 122
習(xí)題8 123
項目4 串口通信的應(yīng)用設(shè)計 124
學(xué)習(xí)目標(biāo) 124
任務(wù)9 用串口與計算機(jī)交換數(shù)據(jù) 124
任務(wù)要求 124
知識儲備 125
1.串行通信的基本知識 125
2.STM32F103中通用串行口的結(jié)構(gòu) 126
3.通用串行口的引腳 127
4.雙機(jī)通信電路 128
5.HAL庫中串行通信的常用函數(shù) 132
實現(xiàn)方法與步驟 134
1.搭建電路 134
2.生成串口1的初始化代碼 135
3.編寫串行通信程序 137
4.調(diào)試與下載程序 139
程序分析 140
實踐總結(jié)與拓展 143
習(xí)題9 144
任務(wù)10 用空閑中斷處理串口接收數(shù)據(jù) 145
任務(wù)要求 145
知識儲備 146
1.串口的空閑中斷 146
2.HAL庫中操作空閑中斷的宏 146
3.空閑中斷的編程方法 147
4.常用的串操作函數(shù) 149
實現(xiàn)方法與步驟 150
1.搭建電路 150
2.生成硬件初始化代碼 150
3.編寫數(shù)據(jù)接收程序 151
4.編寫數(shù)據(jù)處理程序 154
5.增加include目錄 156
6.調(diào)試與下載程序 157
程序分析 158
實踐總結(jié)與拓展 160
習(xí)題10 161
項目5 顯示與鍵盤的應(yīng)用設(shè)計 163
學(xué)習(xí)目標(biāo) 163
任務(wù)11 制作數(shù)碼管顯示的秒表 163
任務(wù)要求 163
知識儲備 164
1.?dāng)?shù)碼管的顯示原理 164
2.?dāng)?shù)碼管的靜態(tài)顯示 165
3.?dāng)?shù)碼管的動態(tài)掃描顯示 166
實現(xiàn)方法與步驟 172
1.搭建電路 172
2.生成硬件初始化代碼 172
3.編寫數(shù)碼管顯示程序 173
4.編寫秒表應(yīng)用程序 174
實踐總結(jié)與拓展 175
習(xí)題11 179
任務(wù)12 用鍵盤控制秒表的運行 181
任務(wù)要求 181
知識儲備 182
1.鍵盤處理流程 182
2.獨立式鍵盤接口 182
3.矩陣式鍵盤接口 188
實現(xiàn)方法與步驟 191
1.搭建電路 191
2.生成硬件初始化代碼 191
3.修改秒表程序 191
4.添加鍵盤處理程序 193
實踐總結(jié)與拓展 195
習(xí)題12 195
任務(wù)13 用OLED屏顯示字符 196
任務(wù)要求 196
知識儲備 196
1.OLED屏與STM32的接口電路 196
2.SSD1306的顯存 198
3.SSD1306的地址模式 199
4.OLED的訪問程序 200
實現(xiàn)方法與步驟 205
1.搭建電路 205
2.生成硬件初始化代碼 205
3.移植OLED程序 205
4.制作字庫 206
5.編寫字符顯示程序 210
實踐總結(jié)與拓展 210
習(xí)題13 213
任務(wù)14 用OLED顯示圖片 215
任務(wù)要求 215
知識儲備 215
1.圖片顯示函數(shù) 215
2.圖片的顯示方法 216
實現(xiàn)方法與步驟 216
1.搭建電路 216
2.用圖片處理軟件編輯圖片文件 217
3.用Image2Lcd軟件制作位圖文件 220
4.用PCtoLCD軟件制作圖庫文件 221
5.生成硬件初始化代碼 222
6.編寫顯示圖片的應(yīng)用程序 223
7.完善bmp.h頭文件 223
8.調(diào)試與下載程序 224
實踐總結(jié)與拓展 224
習(xí)題14 225
項目6 A/D與D/A轉(zhuǎn)換器的應(yīng)用設(shè)計 226
學(xué)習(xí)目標(biāo) 226
任務(wù)15 制作電壓監(jiān)測器 226
任務(wù)要求 226
知識儲備 227
1.A/D轉(zhuǎn)換的基礎(chǔ)知識 227
2.STM32中ADC的結(jié)構(gòu) 227
3.ADC的應(yīng)用特性 230
4.HAL庫中有關(guān)ADC的常用函數(shù)和宏 232
實現(xiàn)方法與步驟 235
1.搭建電路 235
2.生成ADC的初始化代碼 235
3.編寫電壓監(jiān)測器的程序 238
4.調(diào)試與下載程序 239
程序分析 239
實踐總結(jié)與拓展 240
習(xí)題15 240
任務(wù)16 制作電壓信號發(fā)生器 241
任務(wù)要求 241
知識儲備 242
1.D/A轉(zhuǎn)換的基礎(chǔ)知識 242
2.STM32中DAC的應(yīng)用特性 242
3.HAL庫中有關(guān)DAC的常用函數(shù) 244
實現(xiàn)方法與步驟 246
1.搭建電路 246
2.生成DAC的初始化代碼 246
3.編寫信號發(fā)生器的程序 246
4.調(diào)試與下載程序 248
實踐總結(jié)與拓展 249
習(xí)題16 250
項目7 外設(shè)接口的應(yīng)用設(shè)計 252
學(xué)習(xí)目標(biāo) 252
任務(wù)17 用硬件SPI口控制OLED屏 252
任務(wù)要求 252
知識儲備 253
1.SPI接口的信號線 253
2.STM32中SPI口的應(yīng)用特性 253
3.SPI口的設(shè)置方法 257
4.HAL庫中常用的SPI操作函數(shù) 258
實現(xiàn)方法與步驟 260
1.搭建電路 260
2.生成SPI口的初始化代碼 260
3.完善SPI通信程序 263
4.編寫顯示程序 265
5.調(diào)試與下載程序 266
實踐總結(jié)與拓展 266
習(xí)題17 267
任務(wù)18 用硬件I2C接口訪問AT24C02 269
任務(wù)要求 269
知識儲備 269
1.I2C總線的基本知識 269
2.STM32中I2C接口的應(yīng)用特性 271
3.HAL庫中的I2C訪問函數(shù) 272
4.AT24C02的應(yīng)用特性 273
實現(xiàn)方法與步驟 277
1.搭建電路 277
2.生成I2C接口的初始化代碼 278
3.編寫AT24C02的應(yīng)用程序 279
4.在main.c文件中編寫應(yīng)用程序 280
5.調(diào)試與下載程序 281
實踐總結(jié)與拓展 281
習(xí)題18 282
任務(wù)19 讀寫FLASH存儲器 283
任務(wù)要求 283
知識儲備 283
1.STM32的FLASH存儲器 283
2.HAL庫中有關(guān)FLASH操作的函數(shù) 284
3.讀寫FLASH存儲器的方法 286
實現(xiàn)方法與步驟 288
1.搭建電路 288
2.生成硬件初始化代碼 288
3.編寫讀寫FLASH存儲器的應(yīng)用程序 288
4.調(diào)試與下載程序 291
實踐總結(jié)與拓展 291
習(xí)題19 291
任務(wù)20 用RTC制作數(shù)字鐘 293
任務(wù)要求 293
知識儲備 294
1.STM32中RTC的應(yīng)用特性 294
2.HAL庫中有關(guān)RTC的操作函數(shù) 294
實現(xiàn)方法與步驟 300
1.搭建電路 300
2.生成RTC的初始化代碼 300
3.編寫數(shù)字鐘的應(yīng)用程序 302
4.調(diào)試與下載程序 306
實踐總結(jié)與拓展 306
習(xí)題20 307
附錄A STM32開發(fā)板電路圖 309
附錄B 全國職業(yè)院校“物聯(lián)網(wǎng)應(yīng)用開發(fā)” 大賽試題(STM32部分) 311
附錄C 1+X傳感網(wǎng)應(yīng)用開發(fā)(中級)試題 (有關(guān)STM32部分) 314
參考文獻(xiàn) 317