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