基于ARM的微機原理與接口技術——STM32嵌入式系統架構、編程與應用(第2版· 版權信息
- ISBN:9787302667346
- 條形碼:9787302667346 ; 978-7-302-66734-6
- 裝幀:70g膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
基于ARM的微機原理與接口技術——STM32嵌入式系統架構、編程與應用(第2版· 本書特色
《基于ARM的微機原理與接口技術——STM32嵌入式系統架構、編程與應用(第2版·微課視頻版)》凝聚了作者數年的教學實踐和工程項目實踐經驗,從工程應用的角度強調開發方法和工程實現,注重學生實踐能力和工程素養的培養,非常適合自動化、電子信息、電氣自動化、機械等相關專業學生及工程技術人員的學習。
山東省普通高等教育一流教材,從工程應用的角度強調開發方法和工程實現,資源豐富!
張承慧 山東大學講席教授、控制科學與工程學院院長,國家級高層次人才計劃入選者,國家基金委創新研究群體帶頭人,全國高校黃大年式教師團隊帶頭人,IEEE Fellow
本書凝聚了作者數年的教學實踐和工程項目實踐經驗,從工程應用的角度強調開發方法和工程實現,注重學生實踐能力和工程素養的培養,特別適合作為普通高校計算機類、自動化類、電子信息類、電氣自動化及機械專業的教學用書;還可作為高職高專及相關培訓班的教材使用;同時,也可作為從事嵌入式系統應用領域的工程技術人員的參考書。
宋斌 安謀科技(中國)有限公司中國大學計劃部負責人ARM架構具有精簡指令集、低功耗、高度可擴展性和兼容性等特點,通過高效的寄存器設計和多指令集支持性能和兼容性的提升,因此在移動設備和嵌入式系統中占據重要地位。ARM Cortex-M3是一種32位的嵌入式微控制器內核,是ARM Cortex-M系列中的一員,具有高性能、低功耗、低成本的特點,廣泛應用于各種嵌入式系統,如智能家居、智能電子設備、工業自動化、汽車電子等領域。
本書采用ARM Cortex-M3內核的STM32F103VET6為背景,介紹微型計算機系統(嵌入式系統)的原理、設計及應用,非常適合自動化、電子信息、電氣自動化、機械等相關專業學生的學習,體現了業界的新技術,完全能夠滿足新工科的教學要求。
丁曉磊 意法半導體公司中國區微控制器和數字IC產品部負責人本書首先介紹微型計算機的相關概念及應用,介紹Cortex M3微處理器架構及開發方法。在開發應用方面,以STM32F103系列中的STM32F103VET6芯片為背景,介紹了常見接口的原理及應用。STM32F103VET6芯片是意法半導體公司推出的典型產品,采用Cortex-M3內核,片內集成了512KB Flash存儲器、64KB RAM、80根I/O口線,還包括多達11個定時器、5個USART接口、3個SPI接口、2個I2C接口、1個USB 2.0全速接口、3個12位模數轉換器(ADC)、2個12位數模轉換器(DAC)等資源,是一個真正的片上系統(SOC),對于應用開發非常方便。
本書非常注重實踐,詳細介紹了每種外設的應用設計及調試,可操作性強;特別增加了CubeMX的使用介紹,幫助讀者或者開發者更加方便地使用STM32芯片。教材中的實例代碼設計規范、美觀,均經過嚴格的仿真調試,讀者可將它們加入自己的工程項目中,可以大大加快學習效率和開發效率。
本書深入淺出,層次分明,邏輯性強,突出實用,特別適合作為普通高校計算機類、自動化類、電子信息類、電氣自動化及機械等專業的教學用書,還可作為高職高專及相關專業培訓班的教程,同時也可作為從事嵌入式系統應用領域的工程技術人員的參考書。
山東省普通高等教育一流教材,從工程應用的角度強調開發方法和工程實現,資源豐富!
基于ARM的微機原理與接口技術——STM32嵌入式系統架構、編程與應用(第2版· 內容簡介
《基于ARM的微機原理與接口技術——STM32嵌入式系統架構、編程與應用(第2版·微課視頻版)》基于作者長期講授“微機原理與接口技術”課程和從事嵌入式系統應用開發的背景,首先介紹微型計算機的相關概念及應用,介紹Cortex M3微處理器架構及開發方法。在開發應用方面,以STM32F103系列中的STM32F103VET6芯片為背景,介紹了常見接口的原理及應用。STM32F103VET6芯片是意法半導體公司推出的典型產品,采用Cortex-M3內核,片內集成了512KB Flash存儲器、64KB RAM、80根I/O口線,還包括多達11個定時器、5個USART接口、3個SPI接口、2個I2C接口、1個USB 2.0全速接口、3個12位模數轉換器(ADC)、2個12位數模轉換器(DAC)等資源,是一個真正的片上系統(SOC),對于應用開發非常方便
基于ARM的微機原理與接口技術——STM32嵌入式系統架構、編程與應用(第2版· 目錄
第1章 基礎知識 …………………………………………………………………………………………… 1
1.1 微型計算機發展概述 ……………………………………………………………………………… 1
1.2 微型計算機領域的幾個相關概念 ………………………………………………………………… 2
1.2.1 常用單位及術語…………………………………………………………………………… 2
1.2.2 微型計算機的基本構成…………………………………………………………………… 4
1.2.3 微控制器與嵌入式系統…………………………………………………………………… 5
1.2.4 常見技術…………………………………………………………………………………… 7
1.3 ARM 概述 ………………………………………………………………………………………… 9
1.4 微型計算機的應用………………………………………………………………………………… 12
1.5 習題………………………………………………………………………………………………… 14 第2章 Cortex-M3處理器 ……………………………………………………………………………… 15
2.1 Cortex-M3處理器簡介及其組件 ………………………………………………………………… 15
2.1.1 Cortex-M3處理器簡介 ………………………………………………………………… 15
2.1.2 Cortex-M3處理器的組件 ……………………………………………………………… 15
2.1.3 總線結構 ………………………………………………………………………………… 18
2.2 流水線……………………………………………………………………………………………… 19
2.3 寄存器……………………………………………………………………………………………… 20
2.3.1 通用寄存器 ……………………………………………………………………………… 20
2.3.2 特殊功能寄存器 ………………………………………………………………………… 22
2.4 工作模式和工作等級……………………………………………………………………………… 25
2.5 堆棧………………………………………………………………………………………………… 27
2.5.1 堆棧的基本操作 ………………………………………………………………………… 27
2.5.2 Cortex-M3的雙堆棧機制 ……………………………………………………………… 28
2.6 存儲器管理………………………………………………………………………………………… 29
2.6.1 存儲器空間分配 ………………………………………………………………………… 29
2.6.2 位帶操作 ……………………………………………………………………………… 31
2.6.3 端模式 …………………………………………………………………………………… 35
2.7 異常與中斷………………………………………………………………………………………… 36
2.7.1 中斷的基本概念 ……………………………………………………………………… 36
2.7.2 嵌套向量中斷控制器 …………………………………………………………………… 39
2.7.3 中斷寄存器 …………………………………………………………………………… 40
2.7.4 向量表 …………………………………………………………………………………… 47
2.7.5 中斷輸入及掛起 ………………………………………………………………………… 48
2.7.6 Fault類異常……………………………………………………………………………… 50
2.7.7 中斷的具體行為 ……………………………………………………………………… 51
2.7.8 中斷嵌套控制 …………………………………………………………………………… 53
2.7.9 高級中斷技術 …………………………………………………………………………… 53
2.7.10 異常返回值……………………………………………………………………………… 55
2.7.11 中斷系統設置過程……………………………………………………………………… 56
2.8 復位序列 ……………………………………………………………………………………… 57
2.9 習題………………………………………………………………………………………………… 59 第3章 STM32F1系列微控制器 ……………………………………………………………………… 60
3.1 STM32F1系列微控制器簡介 …………………………………………………………………… 60
3.2 STM32F1系列產品系統構架和 STM32F103ZET6內部結構 ………………………………… 61
3.2.1 STM32F1系列產品系統架構 ……………………………………………………… 61
3.2.2 STM32F103ZET6的內部架構 ………………………………………………………… 62
3.3 STM32F103ZET6的存儲器映像 ………………………………………………………………… 65
3.4 STM32F103ZET6的時鐘結構 ……………………………………………………………… 69
3.5 STM32F103VET6的引腳 ……………………………………………………………………… 71
3.6 STM32F103VET6*小系統設計 ……………………………………………………………… 76
3.7 習題………………………………………………………………………………………………… 80 第4章 匯編語言及其程序設計 ……………………………………………………………………… 81
4.1 編程語言簡介……………………………………………………………………………………… 81
4.2 指令分類、條件域和指令格式 …………………………………………………………………… 82
4.3 尋址方式…………………………………………………………………………………………… 91
4.4 Cortex-M3指令集 …………………………………………………………………………… 94
4.4.1 數據傳送類指令 ………………………………………………………………………… 94
4.4.2 數據處理類指令 ………………………………………………………………………… 99
4.4.3 跳轉指令………………………………………………………………………………… 110
4.4.4 其他指令………………………………………………………………………………… 115
4.4.5 Thumb指令及應用 …………………………………………………………………… 115
4.5 匯編語言程序設計舉例 ………………………………………………………………………… 116
4.5.1 分支程序設計…………………………………………………………………………… 116
4.5.2 循環程序設計…………………………………………………………………………… 118
4.5.3 子程序的調用與返回…………………………………………………………………… 119
4.6 習題 ……………………………………………………………………………………………… 120 第5章 ARM 微控制器開發 ………………………………………………………………………… 121
5.1 開發流程 ………………………………………………………………………………………… 121
5.2 處理器的啟動過程 ……………………………………………………………………………… 122
5.3 輸入和輸出接口 ………………………………………………………………………………… 123
5.4 程序映像 ………………………………………………………………………………………… 123
5.5 C 語言開發 ARM 應用 ………………………………………………………………………… 127
5.6 固件庫 …………………………………………………………………………………………… 131
5.6.1 基于固件庫開發和直接操作寄存器的區別…………………………………………… 132
5.6.2 STM32固件庫簡介 …………………………………………………………………… 133
5.7 STM32CubeMX 簡介 …………………………………………………………………………… 136
5.8 習題 ……………………………………………………………………………………………… 137
第6章 通用輸入/輸出接口 ………………………………………………………………………… 138
6.1 通用輸入/輸出接口概述 …………………………………………………………………… 138
6.2 GPIO 的功能 …………………………………………………………………………………… 140
6.3 GPIO 的寄存器 ………………………………………………………………………………… 143
6.4 RCC 時鐘模塊的寄存器 ………………………………………………………………………… 146
6.5 GPIO 的使用 …………………………………………………………………………………… 156
6.5.1 利用匯編語言訪問 GPIO ………………………………………………………… 156
6.5.2 利用 C 語言直接操作寄存器方法訪問 GPIO …………………………………… 160
6.5.3 利用固件庫函數方法訪問 GPIO ………………………………………………… 163
6.5.4 利用 CubeMX 環境訪問 GPIO …………………………………………………… 169
6.6 習題 ……………………………………………………………………………………………… 173 第7章 中斷和事件 …………………………………………………………………………………… 174
7.1 STM32的中斷源及中斷優先級 ………………………………………………………………… 174
7.2 外部中斷/事件控制器…………………………………………………………………………… 177
7.2.1 外部中斷/事件控制器的結構及工作過程 ………………………………………… 178
7.2.2 外部中斷/事件控制器相關寄存器 …………………………………………………… 180
7.3 外部中斷的使用 ………………………………………………………………………………… 182
7.3.1 外部中斷相關的固件庫函數…………………………………………………………… 183
7.3.2 利用固件庫函數開發外部中斷應用 ……………………………………………… 186
7.4 習題 ……………………………………………………………………………………………… 188 第8章 定時器 …………………………………………………………………………………………… 189
8.1 STM32通用定時器概述 ………………………………………………………………………… 189
8.1.1 高級控制定時器(TIM1和 TIM8) …………………………………………………… 189
8.1.2 普通定時器(TIMx) …………………………………………………………………… 190
8.1.3 基本定時器(TIM6和 TIM7) ………………………………………………………… 190
8.1.4 定時器的時鐘 ……………………………………………………………………… 191
8.2 普通定時器的結構 …………………………………………………………………………… 191
8.2.1 時基單元………………………………………………………………………………… 192
8.2.2 計數器模式……………………………………………………………………………… 192
8.2.3 時鐘選擇………………………………………………………………………………… 199
8.3 普通定時器的寄存器 …………………………………………………………………………… 202
8.4 普通定時器的使用 …………………………………………………………………………… 205
8.4.1 普通定時器的固件庫函數……………………………………………………………… 205
8.4.2 普通定時器的使用舉例 ………………………………………………………………… 208
8.5 習題 ……………………………………………………………………………………………… 210 第9章 串行通信 ………………………………………………………………………………………… 211
9.1 通信的有關概念 ………………………………………………………………………………… 211
9.1.1 串行通信的相關概念 …………………………………………………………………… 211
9.1.2 并行通信中的相關概念 ………………………………………………………………… 217
9.2 STM32的異步串行通信接口 …………………………………………………………………… 218
9.2.1 STM32異步串行通信接口簡介 ……………………………………………………… 218
9.2.2 STM32的 USART 引腳重映射 ……………………………………………………… 220
9.2.3 STM32的 USART 接口結構 ……………………………………………………… 220
9.2.4 STM32的 USART 特性 ……………………………………………………………… 222
9.2.5 STM32的 USART 中斷請求 ……………………………………………………… 229
9.2.6 STM32的 USART 寄存器 …………………………………………………………… 230
9.2.7 STM32的 USART 固件庫函數 …………………………………………………… 237
9.2.8 STM32的 USART 使用舉例 ………………………………………………………… 241
9.3 STM32的 SPI接口 ……………………………………………………………………………… 243
9.3.1 STM32的 SPI接口簡介 ……………………………………………………………… 243
9.3.2 STM32的 SPI接口結構 ……………………………………………………………… 243
9.3.3 STM32的 SPI接口配置 ……………………………………………………………… 245
9.3.4 STM32的 SPI接口數據發送與接收過程 …………………………………………… 248
9.3.5 CRC 計算 ……………………………………………………………………………… 255
9.3.6 狀態標志………………………………………………………………………………… 259
9.3.7 關閉 SPI………………………………………………………………………………… 259
9.3.8 STM32的 SPI接口中斷 ……………………………………………………………… 260
9.3.9 STM32的 SPI接口的寄存器 ………………………………………………………… 260
9.3.10 STM32的 SPI接口固件庫函數 ……………………………………………………… 264
9.3.11 STM32的 SPI接口應用實例 ………………………………………………………… 270
9.4 習題 ……………………………………………………………………………………………… 273 第10章 模擬量模塊 …………………………………………………………………………………… 274
10.1 模數轉換器的工作原理及性能指標 ………………………………………………………… 275
10.1.1 模數轉換器的工作原理 …………………………………………………………… 275
10.1.2 模數轉換器的性能指標 …………………………………………………………… 275
10.2 STM32F103VET6集成的 ADC 模塊 ……………………………………………………… 277
10.2.1 STM32的 ADC 概述 ……………………………………………………………… 277
10.2.2 STM32的 ADC 模塊結構 ……………………………………………………… 278
10.2.3 STM32的 ADC 配置 ……………………………………………………………… 278
10.2.4 STM32的 ADC 應用特征 ……………………………………………………… 283
10.2.5 STM32的 ADC 中斷請求 ………………………………………………………… 287
10.2.6 STM32的 ADC 寄存器 …………………………………………………………… 288
10.2.7 STM32的 ADC 固件庫函數 …………………………………………………… 296
10.2.8 STM32的 ADC 使用舉例 ………………………………………………………… 300
10.3 數模轉換器的工作原理及性能指標 ………………………………………………………… 301
10.3.1 數模轉換器的工作原理 …………………………………………………………… 301
10.3.2 數模轉換器的性能指標 …………………………………………………………… 303
10.4 STM32F103VET6集成的 DAC 模塊 ……………………………………………………… 303
10.4.1 STM32的 DAC 主要特征 ………………………………………………………… 303
10.4.2 STM32的 DAC 接口結構 ………………………………………………………… 304
10.4.3 STM32的 DAC 配置 ……………………………………………………………… 304
10.4.4 STM32的 DAC 寄存器 …………………………………………………………… 308
10.4.5 STM32的 DAC 固件庫函數 ……………………………………………………… 313
10.4.6 STM32的 DAC 使用舉例 ………………………………………………………… 315
10.5 習題 …………………………………………………………………………………………… 317
第11章 DMA控制器 ………………………………………………………………………………… 318
11.1 DMA 的結構和主要特征 ………………………………………………………………… 318
11.2 DMA 的功能描述 …………………………………………………………………………… 319
11.2.1 DMA 處理 ………………………………………………………………………… 319
11.2.2 仲裁器 ……………………………………………………………………………… 320
11.2.3 DMA 通道 ………………………………………………………………………… 320
11.2.4 可編程的數據傳輸寬度、對齊方式和數據大小端 ……………………………… 321
11.2.5 DMA 中斷 ………………………………………………………………………… 323
11.2.6 DMA 請求映像 …………………………………………………………………… 323
11.3 DMA 的寄存器 ……………………………………………………………………………… 326
11.4 DMA 的固件庫函數 ……………………………………………………………………… 329
11.4.1 DMA 寄存器 C 語言結構定義 …………………………………………………… 329
11.4.2 DMA 庫函數 ……………………………………………………………………… 330
11.5 DMA 使用舉例 ……………………………………………………………………………… 336
11.6 習題 …………………………………………………………………………………………… 339
第12章 FSMC控制器 ………………………………………………………………………………… 340
12.1 FSMC 的功能和結構 ………………………………………………………………………… 340
12.1.1 FSMC 的功能描述 ……………………………………………………………… 340
12.1.2 FSMC 的結構 ……………………………………………………………………… 341
12.2 AHB接口 …………………………………………………………………………………… 341
12.3 FSMC 外部設備地址映像 …………………………………………………………………… 342
12.4 NOR 閃存和 PSRAM 控制器………………………………………………………………… 343
12.4.1 外部存儲器接口信號 …………………………………………………………… 344
12.4.2 支持的存儲器及其操作 …………………………………………………………… 345
12.4.3 NOR 閃存和 PSRAM 控制器時序………………………………………………… 346
12.4.4 同步的成組讀 ……………………………………………………………………… 356
12.5 NOR 閃存和 PSRAM 控制器寄存器………………………………………………………… 360
12.6 FSMC 固件庫函數 ………………………………………………………………………… 365
12.7 FSMC 使用舉例 …………………………………………………………………………… 367
12.8 習題 …………………………………………………………………………………………… 378 附錄A ASCII碼表 ……………………………………………………………………………………… 379 附錄B 邏輯符號對照表 ……………………………………………………………………………… 380 附錄C 使用MDK開發調試匯編語言程序 ……………………………………………………… 381
C.1 MDK 簡介 ……………………………………………………………………………………… 381
C.2 使用 MDK 調試匯編語言程序 ……………………………………………………………… 384 參考文獻 …………………………………………………………………………………………………… 393
展開全部
基于ARM的微機原理與接口技術——STM32嵌入式系統架構、編程與應用(第2版· 作者簡介
陳桂友,教育部全國萬名優秀創新創業導師,全國高校黃大年式教師團隊成員,教育部碩士學位論文評審專家,山東大學“嵌入式系統與人工智能”創新教育平臺主任,山東大學控制科學與工程學院實驗教學與創新實踐中心主任,山東省教育學會人工智能教育專業委員會理事長,山東省自動化學會理事,山東省大學生智能技術應用設計大賽發起人之一。新疆自治區“天山學者”主講教授,全國大學生智能汽車競賽山東賽區秘書長。主要研究方向為嵌入式系統與人工智能,大數據技術及應用。