基於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),對於應用開發非常方便
目錄大綱
目錄
第1章基礎知識
1.1微型電腦發展概述
1.2微型電腦領域的幾個相關概念
1.2.1常用單位及術語
1.2.2微型電腦的基本構成
1.2.3微控制器與嵌入式系統
1.2.4常見技術
1.3ARM概述
1.4微型電腦的應用
1.5習題
第2章CortexM3處理器
2.1CortexM3處理器簡介及其組件
2.1.1CortexM3處理器簡介
2.1.2CortexM3處理器的組件
2.1.3總線結構
2.2流水線
2.3寄存器
2.3.1通用寄存器
2.3.2特殊功能寄存器
2.4工作模式和工作等級
2.5堆棧
2.5.1堆棧的基本操作
2.5.2CortexM3的雙堆棧機制
2.6存儲器管理
2.6.1存儲器空間分配
2.6.2位帶操作
2.6.3端模式
2.7異常與中斷
2.7.1中斷的基本概念
2.7.2嵌套向量中斷控制器
2.7.3中斷寄存器
2.7.4向量表
2.7.5中斷輸入及掛起
2.7.6Fault類異常
2.7.7中斷的具體行為
2.7.8中斷嵌套控制
2.7.9高級中斷技術
2.7.10異常返回值
2.7.11中斷系統設置過程
2.8復位序列
2.9習題
第3章STM32F1系列微控制器
3.1STM32F1系列微控制器簡介
3.2STM32F1系列產品系統構架和STM32F103ZET6內部結構
3.2.1STM32F1系列產品系統架構
3.2.2STM32F103ZET6的內部架構
3.3STM32F103ZET6的存儲器映像
3.4STM32F103ZET6的時鐘結構
3.5STM32F103VET6的引腳
3.6STM32F103VET6最小系統設計
3.7習題
第4章匯編語言及其程序設計
4.1編程語言簡介
4.2指令分類、條件域和指令格式
4.3尋址方式
4.4CortexM3指令集
4.4.1數據傳送類指令
4.4.2數據處理類指令
4.4.3跳轉指令
4.4.4其他指令
4.4.5Thumb指令及應用
4.5匯編語言程序設計舉例
4.5.1分支程序設計
4.5.2循環程序設計
4.5.3子程序的調用與返回
4.6習題
第5章ARM微控制器開發
5.1開發流程
5.2處理器的啟動過程
5.3輸入和輸出接口
5.4程序映像
5.5C語言開發ARM應用
5.6固件庫
5.6.1基於固件庫開發和直接操作寄存器的區別
5.6.2STM32固件庫簡介
5.7STM32CubeMX簡介
5.8習題
第6章通用輸入/輸出接口
6.1通用輸入/輸出接口概述
6.2GPIO的功能
6.3GPIO的寄存器
6.4RCC時鐘模塊的寄存器
6.5GPIO的使用
6.5.1利用匯編語言訪問GPIO
6.5.2利用C語言直接操作寄存器方法訪問GPIO
6.5.3利用固件庫函數方法訪問GPIO
6.5.4利用CubeMX環境訪問GPIO
6.6習題
第7章中斷和事件
7.1STM32的中斷源及中斷優先級
7.2外部中斷/事件控制器
7.2.1外部中斷/事件控制器的結構及工作過程
7.2.2外部中斷/事件控制器相關寄存器
7.3外部中斷的使用
7.3.1外部中斷相關的固件庫函數
7.3.2利用固件庫函數開發外部中斷應用
7.4習題
第8章定時器
8.1STM32通用定時器概述
8.1.1高級控制定時器(TIM1和TIM8)
8.1.2普通定時器(TIMx)
8.1.3基本定時器(TIM6和TIM7)
8.1.4定時器的時鐘
8.2普通定時器的結構
8.2.1時基單元
8.2.2計數器模式
8.2.3時鐘選擇
8.3普通定時器的寄存器
8.4普通定時器的使用
8.4.1普通定時器的固件庫函數
8.4.2普通定時器的使用舉例
8.5習題
第9章串行通信
9.1通信的有關概念
9.1.1串行通信的相關概念
9.1.2並行通信中的相關概念
9.2STM32的異步串行通信接口
9.2.1STM32異步串行通信接口簡介
9.2.2STM32的USART引腳重映射
9.2.3STM32的USART接口結構
9.2.4STM32的USART特性
9.2.5STM32的USART中斷請求
9.2.6STM32的USART寄存器
9.2.7STM32的USART固件庫函數
9.2.8STM32的USART使用舉例
9.3STM32的SPI接口
9.3.1STM32的SPI接口簡介
9.3.2STM32的SPI接口結構
9.3.3STM32的SPI接口配置
9.3.4STM32的SPI接口數據發送與接收過程
9.3.5CRC計算
9.3.6狀態標志
9.3.7關閉SPI
9.3.8STM32的SPI接口中斷
9.3.9STM32的SPI接口的寄存器
9.3.10STM32的SPI接口固件庫函數
9.3.11STM32的SPI接口應用實例
9.4習題
第10章模擬量模塊
10.1模數轉換器的工作原理及性能指標
10.1.1模數轉換器的工作原理
10.1.2模數轉換器的性能指標
10.2STM32F103VET6集成的ADC模塊
10.2.1STM32的ADC概述
10.2.2STM32的ADC模塊結構
10.2.3STM32的ADC配置
10.2.4STM32的ADC應用特徵
10.2.5STM32的ADC中斷請求
10.2.6STM32的ADC寄存器
10.2.7STM32的ADC固件庫函數
10.2.8STM32的ADC使用舉例
10.3數模轉換器的工作原理及性能指標
10.3.1數模轉換器的工作原理
10.3.2數模轉換器的性能指標
10.4STM32F103VET6集成的DAC模塊
10.4.1STM32的DAC主要特徵
10.4.2STM32的DAC接口結構
10.4.3STM32的DAC配置
10.4.4STM32的DAC寄存器
10.4.5STM32的DAC固件庫函數
10.4.6STM32的DAC使用舉例
10.5習題
第11章DMA控制器
11.1DMA的結構和主要特徵
11.2DMA的功能描述
11.2.1DMA處理
11.2.2仲裁器
11.2.3DMA通道
11.2.4可編程的數據傳輸寬度、對齊方式和數據大小端
11.2.5DMA中斷
11.2.6DMA請求映像
11.3DMA的寄存器
11.4DMA的固件庫函數
11.4.1DMA寄存器C語言結構定義
11.4.2DMA庫函數
11.5DMA使用舉例
11.6習題
第12章FSMC控制器
12.1FSMC的功能和結構
12.1.1FSMC的功能描述
12.1.2FSMC的結構
12.2AHB接口
12.3FSMC外部設備地址映像
12.4NOR快閃內存和PSRAM控制器
12.4.1外部存儲器接口信號
12.4.2支持的存儲器及其操作
12.4.3NOR快閃內存和PSRAM控制器時序
12.4.4同步的成組讀
12.5NOR快閃內存和PSRAM控制器寄存器
12.6FSMC固件庫函數
12.7FSMC使用舉例
12.8習題
附錄AASCII碼表
附錄B邏輯符號對照表
附錄C使用MDK開發調試匯編語言程序
C.1MDK簡介
C.2使用MDK調試匯編語言程序
參考文獻