ARM Cortex-M3體系結構與編程

內容簡介

本書從CortexM3處理器入手,主要講解其家族成員中較為常用的微處理器STM32。全書從STM基本I/O連線埠配置講起,深入淺出地介紹了該處理器的重要內容,包括基本I/O連線埠、中斷、ADC、定時器等。最後5章給出了5個實際案例,有的案例來源於學生的電子設計大賽作品,有的案例來源於科研課題,例如平衡車設計、井下通信分站設計等。它們都較好地詮釋了STM32的典型套用,可以快速地幫助讀者入門並動手操作。本書可作為電子、通信及控制等相關專業的參考書,也可以作為相關技術人員的參考資料。

目錄

第1章ARMCortexM3核介紹

1.1CortexM3主要特性

1.2典型M3核處理器特性

1.2.1命令規則

1.2.2產品功能和外設配置

1.3習題

第2章開發環境搭建

2.1MDK安裝

2.2新建工程

2.3採用STLink調試仿真代碼

2.4習題

第3章基本I/O連線埠控制

3.1MDK新建工程

3.2MDK工程配置

3.3庫函式操作代碼分析

3.4時鐘配置

3.4.1時鐘樹

3.4.2時鐘源

3.4.3APB2外設時鐘使能暫存器(RCC_APB2ENR)

3.5I/O連線埠配置

3.5.1I/O基本情況

3.5.2GPIO配置暫存器描述

3.5.3連線埠輸出數據暫存器(GPIOx_ODR)(x=A…E)

3.6用庫函式操作流水燈

3.6.1GPIO_Init函式

3.6.2RCC_APB2PeriphClockCmd

3.6.3控制I/O輸出電平

3.6.4LED.h檔案

3.6.5軟體調試易現問題

3.7使用庫函式法控制數碼管

3.7.1數碼管基礎知識

3.7.2硬體電路設計

3.7.3軟體說明

3.8簡單按鍵輸入

3.9習題

第4章中斷

4.1STM32中斷和異常

4.2STM32中斷相關的基本概念

4.2.1優先權

4.2.2中斷控制器NVIC

4.2.3NVIC的優先權組

4.3外部中斷

4.3.1外部中斷基本情況

4.3.2使用外部中斷的基本步驟

4.4習題

第5章串口通信

5.1串口通信基礎

5.1.1基本概念

5.1.2常用的串列通信接口

5.1.3套用串列通信的數據採集結構

5.2STM32串口操作

5.2.1暫存器方式操作串口

5.2.2庫函式方式操作串口

5.3習題

第6章直接暫存器訪問(DMA)

6.1DMA基礎知識

6.2STM32的DMA操作

6.2.1暫存器方式操作DMA

6.2.2庫函式方式操作DMA

6.2.3DMA操作實例

6.3習題

第7章模擬數字轉換(ADC)

7.1ADC基礎知識

7.1.1ADC主要特性

7.1.2ADC框圖及引腳分布

7.1.3通道選擇

7.1.4ADC的轉換模式

7.1.5ADC暫存器和固件庫函式列表

7.2STM32ADC操作

7.2.1暫存器方式操作ADC

7.2.2庫函式方式操作ADC

7.2.3ADC操作實例

7.3習題

第8章定時器

8.1定時器基礎知識

8.1.1高級定時器

8.1.2基本定時器

8.1.3通用定時器

8.2STM32定時器操作

8.2.1暫存器方式操作定時器

8.2.2庫函式方式操作定時器

8.2.3定時器操作實例

8.3習題

第9章CAN匯流排設計

9.1CAN匯流排基本工作原理

9.2CAN協定的特點

9.3CAN協定通信過程

9.4CAN的報文格式

9.4.1數據幀

9.4.2遙控幀

9.4.3錯誤幀

9.4.4過載幀

9.4.5幀間隔

9.4.6優先權的決定

9.5CAN匯流排錯誤處理機制

9.5.1錯誤狀態

9.5.2錯誤檢測

9.6同步

9.6.1同步類型

9.6.2同步原則

9.7CAN匯流排拓撲結構

9.7.1STM32的CAN通信模組

9.7.2CAN控制器MCP2515介紹

9.8CAN通信的軟體設計

9.8.1系統程式流程

9.8.2系統接收傳送中斷處理

9.8.3CAN匯流排初始化配置

9.8.4報文的傳送

9.8.5報文的接收

9.9CAN通信示例

9.10習題

第10章倒立擺設計

10.1設計內容與實現指標

10.1.1倒立擺的選擇

10.1.2系統設計指標

10.2系統方案確定

10.2.1系統結構組成

10.2.2系統模型分析

10.2.3系統控制方案確定

10.3系統硬體設計

10.4電機的選擇及驅動電路的設計

10.4.1電機的選擇

10.4.2電機驅動電路的設計

10.5測量電路設計

10.5.1擺桿角度測量電路的設計

10.5.2旋臂位置測量電路的設計

10.6通信電路的設計

10.6.1上位機通信電路的設計

10.6.2無線傳輸電路的設計

10.7輔助電路設計

10.7.1語音提示電路的設計

10.7.2電源電路的設計

10.8系統軟體設計

10.8.1系統控制程式設計

10.8.2起擺程式設計

10.8.3PID控制程式設計

10.8.4電機驅動程式設計

10.8.5上位機通信程式設計

10.8.6無線通信程式設計

10.9作品的製作與調試

10.9.1倒立擺機械結構的製作問題

10.9.2PCB設計應注意的問題

10.9.3電路板的製作問題

10.10PID參數的整定

10.10.1比例參數整定

10.10.2積分參數整定

10.10.3微分參數整定

10.11習題

第11章智慧型小車設計

11.1硬體電路設計

11.1.1硬體系統方案設計

11.1.2最小系統電路設計

11.1.3電源電路設計

11.1.4電機驅動電路設計

11.1.5環境檢測感測器電路設計

11.2人機互動電路設計

11.2.1OLED顯示電路設計

11.2.2紅外遙控電路設計

11.2.3蜂鳴器提示電路設計

11.3總體軟體設計

11.3.1道路基準採集模式軟體

11.3.2PID尋跡模式軟體

11.3.3迷宮模式軟體

11.3.4OLED顯示軟體設計

11.4PID控制軟體設計

11.4.1PID介紹

11.4.2比例(P)控制器

11.4.3比例積分(PI)控制器

11.4.4比例微分(PD)控制器

11.4.5比例積分微分(PID)控制器

11.4.6PID尋跡

11.5迷宮算法設計

11.5.1左手法

11.5.2迷宮搜尋

11.5.3迷宮最短路徑算法

11.6設計測量方法與數據處理

11.6.1感測器分布

11.6.2五路模擬感測器數據測量

11.7感測器軟體濾波

11.7.1軟體濾波處理介紹

11.7.2軟體濾波的方法

11.8調試方法

11.8.1PID參數調試

11.8.2迷宮模式調試

11.9習題

第12章平衡車設計

12.1硬體電路設計

12.1.1硬體系統方案設計

12.1.2環境檢測感測器電路設計

12.2人機互動電路設計

12.3MPU6050使用方法

12.3.1引腳說明

12.3.2SMPRT_DIV暫存器

12.3.3CONFIG暫存器

12.3.4GYRO_CONFIG暫存器

12.3.5ACCEL_CONFIG暫存器

12.3.6加速度計測量暫存器

12.3.7TEMP_OUT_H和TEMP_OUT_L暫存器

12.3.8陀螺儀測量暫存器

12.3.9PWR_MGMT_1暫存器

12.3.10WHO_AM_I暫存器

12.4總體軟體設計

12.4.1車身狀態採集模式軟體

12.4.2PID車身保持模式軟體

12.4.3人機互動模式軟體設計

12.4.4卡爾曼濾波算法

12.5習題

第13章電子秤設計

13.1設計指標

13.2設計方案

13.3硬體電路設計說明

13.3.1主控制器相關電路

13.3.2TFT液晶屏相關電路設計

13.3.3AD晶片HX711相關電路設計

13.3.4WT588D語音模組相關電路設計

13.3.5稱重感測器相關電路設計

13.4軟體設計思路及代碼分析

13.4.1TFT觸控液晶模組部分

13.4.2WT588D語音模組部分

13.4.3HX711晶片部分

13.4.4DS18B20晶片部分

13.4.5數據計算部分

13.5習題

第14章井下通信分站設計

14.1硬體電路設計

14.1.1監控分站主要設計目標及參數

14.1.2硬體電路設計方案

14.2軟體方案設計

14.2.1軟體總體程式的思路

14.2.2RS485接口的使用及程式流程

14.2.3CAN數據傳輸

14.2.4OLED顯示

14.2.5鍵盤輸入

14.3習題

參考文獻

相關詞條

相關搜尋

熱門詞條

聯絡我們