嵌入式微控制器原理及設(shè)計——基于STM32及Proteus仿真開發(fā)
定 價:49 元
當(dāng)前圖書已被 29 所學(xué)校薦購過!
查看明細(xì)
- 作者:畢盛
- 出版時間:2021/12/1
- ISBN:9787121425035
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP332.021
- 頁碼:228
- 紙張:
- 版次:01
- 開本:16開
本書基于STM32芯片及Proteus仿真開發(fā)來講述嵌入式微控制器原理與設(shè)計,主要內(nèi)容包括:嵌入式系統(tǒng)開發(fā)的相關(guān)背景;嵌入式ARM芯片體系結(jié)構(gòu)及匯編語言;嵌入式系統(tǒng)開發(fā)環(huán)境、工具、編程語言及庫函數(shù);嵌入式芯片基本組成、最小系統(tǒng)、下載方式和低功耗模式;嵌入式芯片接口和嵌入式操作系統(tǒng)。本書分別對微控制器常見的GPIO、中斷、異步串行通信、同步串行通信、高級定時器、通用定時器、滴答時鐘、ADC、DMA、總線及USB接口進(jìn)行了講解;同時對嵌入式物聯(lián)網(wǎng)操作系統(tǒng)進(jìn)行了介紹,基于?C/OS-II展開并說明嵌入式操作系統(tǒng)的核心內(nèi)容和功能;最后通過一個小車的實例說明嵌入式系統(tǒng)綜合實例的實現(xiàn)過程。本書在講解各個知識點的同時設(shè)計了Proteus仿真開發(fā)實例,從而有助于讀者對各個知識點的理解。本書可作為高等院校電子工程、自動化、計算機科學(xué)及技術(shù)和電氣工程等專業(yè)教材和參考書,也可供相關(guān)工程技術(shù)人員參考。
畢盛,華南理工大學(xué)計算機科學(xué)與工程學(xué)院副教授,一直從事高校嵌入式系統(tǒng)、機器人方向的教學(xué)和科研工作,指導(dǎo)學(xué)生實踐創(chuàng)新活動,發(fā)表過論文多篇。
第1章 嵌入式系統(tǒng)與微控制器 1
1.1 嵌入式系統(tǒng)相關(guān)概念 1
1.1.1 什么是嵌入式系統(tǒng) 1
1.1.2 嵌入式系統(tǒng)的特點 1
1.1.3 嵌入式系統(tǒng)主要組成 1
1.1.4 嵌入式芯片類型 3
1.2 微控制器 4
1.2.1 微控制器特點 4
1.2.2 微控制器芯片型號及發(fā)展歷史 4
1.2.3 ARM微控制器介紹 6
1.2.4 STM32 ARM Cortex-M微控制器 7
1.3 嵌入式系統(tǒng)開發(fā) 8
1.3.1 方案設(shè)計及芯片選型 8
1.3.2 嵌入式系統(tǒng)硬件開發(fā) 8
1.3.3 嵌入式系統(tǒng)軟件開發(fā) 9
1.3.4 嵌入式代碼編譯 11
1.3.5 嵌入式代碼下載及調(diào)試 11
1.4 微控制器芯片的發(fā)展趨勢 12
習(xí)題1 13
第2章 微控制器體系結(jié)構(gòu)及匯編語言 14
2.1 Cortex-M3內(nèi)核體系架構(gòu) 15
2.1.1 Cortex-M3總體架構(gòu) 15
2.1.2 Cortex-M3總線接口 16
2.1.3 Cortex-M3寄存器 16
2.1.4 Cortex-M3操作模式 18
2.1.5 Cortex-M3存儲器映射 19
2.1.6 流水線 19
2.1.7 異常和中斷 20
2.1.8 存儲器保護(hù)單元(MPU) 20
2.2 匯編指令尋址方式 20
2.3 ARM指令集 22
2.3.1 指令基本形式 22
2.3.2 ARM指令集條件碼 23
2.3.3 ARM指令種類 23
2.4 Thumb指令集 28
習(xí)題2 29
第3章 微控制器硬件系統(tǒng) 31
3.1 微控制器概述 31
3.1.1 STM32F103內(nèi)部結(jié)構(gòu) 31
3.1.2 STM32F103常用接口 33
3.1.3 STM32F103系列微控制器簡介 35
3.2 微控制器基本電路 36
3.2.1 電源電路 36
3.2.2 復(fù)位電路 37
3.2.3 時鐘源 38
3.2.4 時鐘管理單元 39
3.2.5 下載電路 41
3.2.6 啟動配置電路 42
3.3 微控制器低功耗模式 43
習(xí)題3 44
第4章 微控制器軟件開發(fā) 45
4.1 微控制器開發(fā)語言 45
4.1.1 開發(fā)語言介紹 45
4.1.2 嵌入式C語言 46
4.2 微控制器開發(fā)庫函數(shù) 51
4.2.1 STM32開發(fā)庫函數(shù)介紹 51
4.2.2 STM32 STD庫 53
4.2.3 STM32 HAL庫和LL庫 54
4.3 微控制器開發(fā)環(huán)境 56
4.3.1 MDK開發(fā)環(huán)境 56
4.3.2 STM32CubeMX軟件 57
4.4 微控制器虛擬仿真環(huán)境 58
4.5 微控制器程序調(diào)試和下載 60
習(xí)題4 61
第5章 GPIO 62
5.1 GPIO結(jié)構(gòu)及特點 62
5.1.1 GPIO功能模式 62
5.1.2 GPIO特點及操作 63
5.1.3 GPIO開發(fā)實例 64
5.2 GPIO寄存器開發(fā)方式 65
5.2.1 GPIO寄存器說明 65
5.2.2 GPIO寄存器實現(xiàn)應(yīng)用實例 66
5.3 GPIO STD庫開發(fā)方式 67
5.3.1 GPIO STD庫函數(shù)說明 67
5.3.2 GPIO STD庫應(yīng)用實例 69
5.4 GPIO HAL庫開發(fā)方式 71
5.4.1 GPIO HAL庫函數(shù)說明 71
5.4.2 GPIO HAL庫應(yīng)用實例 73
5.5 GPIO LL庫開發(fā)方式 76
5.5.1 GPIO LL庫函數(shù)說明 76
5.5.2 GPIO LL庫應(yīng)用實例 79
5.6 GPIO應(yīng)用開發(fā)實例 80
5.6.1 數(shù)碼管顯示實例 80
5.6.2 行列式鍵盤掃描實例 83
習(xí)題5 86
第6章 中斷 87
6.1 STM32中斷簡介 87
6.2 嵌套向量中斷控制器 89
6.2.1 NVIC寄存器 89
6.2.2 系統(tǒng)控制寄存器(SCB) 89
6.2.3 中斷和異常處理 90
6.2.4 STM32中斷優(yōu)先級 91
6.3 EXTI外部中斷 92
6.3.1 EXTI硬件結(jié)構(gòu) 92
6.3.2 EXTI中斷操作 93
6.4 EXTI中斷應(yīng)用實例 94
習(xí)題6 95
第7章 串行通信 96
7.1 串行通信簡介 96
7.1.1 串行通信基礎(chǔ)知識 96
7.1.2 微控制器常見串行通信方式 97
7.2 STM32 USART接口 98
7.2.1 USART硬件引腳 98
7.2.2 USART主要寄存器及中斷請求 99
7.2.3 UART異步通信 100
7.2.4 USART其他功能模式 101
7.3 UART異步串行操作 102
7.3.1 串行數(shù)據(jù)發(fā)送和接收 102
7.3.2 UART數(shù)據(jù)發(fā)送和接收應(yīng)用實例 104
7.3.3 RS-232接口 107
7.3.4 printf串口終端實現(xiàn) 109
7.3.5 RS-485接口 110
7.4 基于串口的無線通信 111
7.4.1 移動通信 112
7.4.2 藍(lán)牙串口 112
7.4.3 串口無線網(wǎng)絡(luò)(WiFi) 113
7.4.4 ZigBee通信 113
7.5 SPI通信 113
7.5.1 STM32 SPI接口 113
7.5.2 SPI接口應(yīng)用實例 115
習(xí)題7 117
第8章 定時器 118
8.1 定時器概述 118
8.1.1 通用定時器 119
8.1.2 高級定時器 119
8.1.3 高級/通用定時器接口 119
8.1.4 定時器引腳和寄存器 122
8.1.5 定時器時鐘源 123
8.1.6 定時器計數(shù)模式 123
8.2 定時器操作 124
8.2.1 定時功能及實例 124
8.2.2 計數(shù)功能及實例 127
8.2.3 捕獲功能及實例 129
8.2.4 輸出PWM模式及實例 131
8.2.5 其他功能模式 134
8.3 系統(tǒng)滴答定時器(SysTick) 135
8.3.1 SysTick工作分析及配置 136
8.3.2 SysTick功能實現(xiàn) 136
8.4 看門狗定時器(WDT) 138
8.4.1 獨立看門狗 138
8.4.2 窗口看門狗 139
8.4.3 獨立看門狗與窗口看門狗的區(qū)別 141
8.5 實時時鐘(RTC) 141
習(xí)題8 145
第9章 ADC 146
9.1 ADC概述 146
9.1.1 STM32的ADC功能 146
9.1.2 STM32的ADC結(jié)構(gòu) 146
9.1.3 STM32芯片的ADC引腳 148
9.1.4 STM32的ADC工作模式 149
9.1.5 STM32的ADC主要寄存器 153
9.2 ADC應(yīng)用實例 154
9.2.1 實例主要庫函數(shù)說明 154
9.2.2 ADC查詢和中斷實例 155
習(xí)題9 157
第10章 DMA 158
10.1 DMA概述 158
10.1.1 STM32的DMA特性 158
10.1.2 STM32的DMA主要寄存器 160
10.2 DMA應(yīng)用實例 160
10.2.1 ADC數(shù)據(jù)采集DMA方式 160
10.2.2 串口發(fā)送DMA方式 161
習(xí)題10 163
第11章 其他接口 164
11.1 I2C總線 164
11.1.1 I2C總線介紹 164
11.1.2 STM32的I2C總線 165
11.1.3 I2C總線應(yīng)用實例 167
11.2 CAN總線 171
11.2.1 CAN總線介紹 171
11.2.2 STM32的CAN總線 173
11.3 USB總線 173
11.3.1 USB簡介 173
11.3.2 STM32的USB接口 174
習(xí)題11 174
第12章 嵌入式操作系統(tǒng) 175
12.1 嵌入式操作系統(tǒng)概述 175
12.1.1 傳統(tǒng)小型嵌入式操作系統(tǒng) 175
12.1.2 嵌入式小型物聯(lián)網(wǎng)操作系統(tǒng) 176
12.1.3 嵌入式操作系統(tǒng)實時性特點 178
12.2 μC/OS-II嵌入式操作系統(tǒng) 178
12.2.1 μC/OS-II特性 179
12.2.2 μC/OS-II主要代碼說明 179
12.2.3 μC/OS-II的啟動過程 181
12.3 μC/OS-II操作系統(tǒng)移植 181
12.3.1 移植規(guī)劃 181
12.3.2 編寫OS_CPU.H 182
12.4 μC/OS-II內(nèi)核結(jié)構(gòu) 184
12.4.1 μC/OS-II的任務(wù)狀態(tài) 184
12.4.2 任務(wù)控制塊OS_TCB 185
12.4.3 μC/OS-II的任務(wù)調(diào)度 186
12.4.4 μC/OS-II的任務(wù)切換 187
12.4.5 μC/OS-II的中斷處理 188
12.5 μC/OS-II任務(wù)、時間及事件控制塊 188
12.5.1 任務(wù)管理 188
12.5.2 時間管理 189
12.5.3 事件控制塊 191
12.6 互斥信號量(Mutex) 192
12.6.1 互斥信號量介紹 192
12.6.1 互斥信號量實例 192
12.7 信號量 194
12.7.1 概述 194
12.7.2 信號量任務(wù)同步實例 195
12.7.3 信號量資源共享實例 197
12.7.4 中斷服務(wù)程序與任務(wù)同步實例 198
12.8 事件標(biāo)志組 200
12.8.1 概述 200
12.8.2 事件標(biāo)志組操作 201
12.9 消息郵箱 202
12.9.1 概述 202
12.9.2 消息郵箱操作 203
12.10 消息隊列 205
12.10.1 概述 205
12.10.2 消息隊列操作 206
12.11 動態(tài)內(nèi)存管理 207
12.11.1 概述 207
12.11.2 動態(tài)內(nèi)存管理操作實例 207
習(xí)題12 208
第13章 綜合設(shè)計實例 209
13.1 嵌入式系統(tǒng)開發(fā)流程 209
13.2 嵌入式系統(tǒng)開發(fā)實例 210
13.2.1 小車系統(tǒng)及整體設(shè)計 210
13.2.2 硬件設(shè)計說明 210
13.2.3 軟件設(shè)計說明 214
習(xí)題13 219
參考文獻(xiàn) 220