嵌入式微控制器原理及設計--基於STM32及Proteus仿真開發

嵌入式微控制器原理及設計--基於STM32及Proteus仿真開發

《嵌入式微控制器原理及設計--基於STM32及Proteus仿真開發》是2021年電子工業出版社出版的圖書。

基本介紹

  • 書名:嵌入式微控制器原理及設計--基於STM32及Proteus仿真開發
  • 作者:畢盛,賴曉錚,汪秀敏
  • 類別:工學教材
  • 出版社:電子工業出版社
  • 出版時間:2021年
  • 開本:128 開
  • ISBN:9787121425035
內容簡介,作者簡介,圖書目錄,

內容簡介

本書基於STM32晶片及Proteus仿真開發來講述嵌入式微控制器原理與設計,主要內容包括:嵌入式系統開發的相關背景;嵌入式ARM晶片體系結構及彙編語言;嵌入式系統開發環境、工具、程式語言及庫函式;嵌入式晶片基本組成、小系統、下載方式和低功耗模式;嵌入式晶片接口和嵌入式作業系統。本書分別對微控制器常見的GPIO、中斷、異步串列通信、同步串列通信、高級定時器、通用定時器、滴答時鐘、ADC、DMA、匯流排及USB接口進行了講解;同時對嵌入式物聯網作業系統進行了介紹,基於?C/OS-II展開並說明嵌入式作業系統的核心內容和功能;後通過一個小車的實例說明嵌入式系統綜合實例的實現過程。本書在講解各個知識點的同時設計了Proteus仿真開發實例,從而有助於讀者對各個知識點的理解。本書可作為高等院校電子工程、自動化、計算機科學及技術和電氣工程等專業教材和參考書,也可供相關工程技術人員參考。

作者簡介

畢盛,華南理工大學計算機科學與工程學院副教授,一直從事高校嵌入式系統、機器人方向的教學和科研工作,指導學生實踐創新活動,發表過論文多篇。

圖書目錄

第1章 嵌入式系統與微控制器 1
1.1 嵌入式系統相關概念 1
1.1.1 什麼是嵌入式系統 1
1.1.2 嵌入式系統的特點 1
1.1.3 嵌入式系統主要組成 1
1.1.4 嵌入式晶片類型 3
1.2 微控制器 4
1.2.1 微控制器特點 4
1.2.2 微控制器晶片型號及發展歷史 4
1.2.3 ARM微控制器介紹 6
1.2.4 STM32 ARM Cortex-M微控制器 7
1.3 嵌入式系統開發 8
1.3.1 方案設計及晶片選型 8
1.3.2 嵌入式系統硬體開發 8
1.3.3 嵌入式系統軟體開發 9
1.3.4 嵌入式代碼編譯 11
1.3.5 嵌入式代碼下載及調試 11
1.4 微控制器晶片的發展趨勢 12
習題1 13
第2章 微控制器體系結構及彙編語言 14
2.1 Cortex-M3核心體系架構 15
2.1.1 Cortex-M3總體架構 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 存儲器保護單元(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
習題2 29
第3章 微控制器硬體系統 31
3.1 微控制器概述 31
3.1.1 STM32F103內部結構 31
3.1.2 STM32F103常用接口 33
3.1.3 STM32F103系列微控制器簡介 35
3.2 微控制器基本電路 36
3.2.1 電源電路 36
3.2.2 復位電路 37
3.2.3 時鐘源 38
3.2.4 時鐘管理單元 39
3.2.5 下載電路 41
3.2.6 啟動配置電路 42
3.3 微控制器低功耗模式 43
習題3 44
第4章 微控制器軟體開發 45
4.1 微控制器開發語言 45
4.1.1 開發語言介紹 45
4.1.2 嵌入式C語言 46
4.2 微控制器開發庫函式 51
4.2.1 STM32開發庫函式介紹 51
4.2.2 STM32 STD庫 53
4.2.3 STM32 HAL庫和LL庫 54
4.3 微控制器開發環境 56
4.3.1 MDK開發環境 56
4.3.2 STM32CubeMX軟體 57
4.4 微控制器虛擬仿真環境 58
4.5 微控制器程式調試和下載 60
習題4 61
第5章 GPIO 62
5.1 GPIO結構及特點 62
5.1.1 GPIO功能模式 62
5.1.2 GPIO特點及操作 63
5.1.3 GPIO開發實例 64
5.2 GPIO暫存器開發方式 65
5.2.1 GPIO暫存器說明 65
5.2.2 GPIO暫存器實現套用實例 66
5.3 GPIO STD庫開發方式 67
5.3.1 GPIO STD庫函式說明 67
5.3.2 GPIO STD庫套用實例 69
5.4 GPIO HAL庫開發方式 71
5.4.1 GPIO HAL庫函式說明 71
5.4.2 GPIO HAL庫套用實例 73
5.5 GPIO LL庫開發方式 76
5.5.1 GPIO LL庫函式說明 76
5.5.2 GPIO LL庫套用實例 79
5.6 GPIO套用開發實例 80
5.6.1 數碼管顯示實例 80
5.6.2 行列式鍵盤掃描實例 83
習題5 86
第6章 中斷 87
6.1 STM32中斷簡介 87
6.2 嵌套向量中斷控制器 89
6.2.1 NVIC暫存器 89
6.2.2 系統控制暫存器(SCB) 89
6.2.3 中斷和異常處理 90
6.2.4 STM32中斷優先權 91
6.3 EXTI外部中斷 92
6.3.1 EXTI硬體結構 92
6.3.2 EXTI中斷操作 93
6.4 EXTI中斷套用實例 94
習題6 95
第7章 串列通信 96
7.1 串列通信簡介 96
7.1.1 串列通信基礎知識 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 串列數據傳送和接收 102
7.3.2 UART數據傳送和接收套用實例 104
7.3.3 RS-232接口 107
7.3.4 printf串口終端實現 109
7.3.5 RS-485接口 110
7.4 基於串口的無線通信 111
7.4.1 移動通信 112
7.4.2 藍牙串口 112
7.4.3 串口無線網路(WiFi) 113
7.4.4 ZigBee通信 113
7.5 SPI通信 113
7.5.1 STM32 SPI接口 113
7.5.2 SPI接口套用實例 115
習題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 定時器計數模式 123
8.2 定時器操作 124
8.2.1 定時功能及實例 124
8.2.2 計數功能及實例 127
8.2.3 捕獲功能及實例 129
8.2.4 輸出PWM模式及實例 131
8.2.5 其他功能模式 134
8.3 系統滴答定時器(SysTick) 135
8.3.1 SysTick工作分析及配置 136
8.3.2 SysTick功能實現 136
8.4 看門狗定時器(WDT) 138
8.4.1 獨立看門狗 138
8.4.2 視窗看門狗 139
8.4.3 獨立看門狗與視窗看門狗的區別 141
8.5 實時時鐘(RTC) 141
習題8 145
第9章 ADC 146
9.1 ADC概述 146
9.1.1 STM32的ADC功能 146
9.1.2 STM32的ADC結構 146
9.1.3 STM32晶片的ADC引腳 148
9.1.4 STM32的ADC工作模式 149
9.1.5 STM32的ADC主要暫存器 153
9.2 ADC套用實例 154
9.2.1 實例主要庫函式說明 154
9.2.2 ADC查詢和中斷實例 155
習題9 157
第10章 DMA 158
10.1 DMA概述 158
10.1.1 STM32的DMA特性 158
10.1.2 STM32的DMA主要暫存器 160
10.2 DMA套用實例 160
10.2.1 ADC數據採集DMA方式 160
10.2.2 串口傳送DMA方式 161
習題10 163
第11章 其他接口 164
11.1 I2C匯流排 164
11.1.1 I2C匯流排介紹 164
11.1.2 STM32的I2C匯流排 165
11.1.3 I2C匯流排套用實例 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
習題11 174
第12章 嵌入式作業系統 175
12.1 嵌入式作業系統概述 175
12.1.1 傳統小型嵌入式作業系統 175
12.1.2 嵌入式小型物聯網作業系統 176
12.1.3 嵌入式作業系統實時性特點 178
12.2 μC/OS-II嵌入式作業系統 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作業系統移植 181
12.3.1 移植規劃 181
12.3.2 編寫OS_CPU.H 182
12.4 μC/OS-II核心結構 184
12.4.1 μC/OS-II的任務狀態 184
12.4.2 任務控制塊OS_TCB 185
12.4.3 μC/OS-II的任務調度 186
12.4.4 μC/OS-II的任務切換 187
12.4.5 μC/OS-II的中斷處理 188
12.5 μC/OS-II任務、時間及事件控制塊 188
12.5.1 任務管理 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 信號量任務同步實例 195
12.7.3 信號量資源共享實例 197
12.7.4 中斷服務程式與任務同步實例 198
12.8 事件標誌組 200
12.8.1 概述 200
12.8.2 事件標誌組操作 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 動態記憶體管理 207
12.11.1 概述 207
12.11.2 動態記憶體管理操作實例 207
習題12 208
第13章 綜合設計實例 209
13.1 嵌入式系統開發流程 209
13.2 嵌入式系統開發實例 210
13.2.1 小車系統及整體設計 210
13.2.2 硬體設計說明 210
13.2.3 軟體設計說明 214
習題13 219
參考文獻 220

相關詞條

熱門詞條

聯絡我們