ARM Cortex-M3 嵌入式原理及應用 — 基於 STM32F103 微控制器

黃克亞

立即出貨 (庫存 < 4)

  • ARM Cortex-M3 嵌入式原理及應用 — 基於 STM32F103 微控制器-preview-1
  • ARM Cortex-M3 嵌入式原理及應用 — 基於 STM32F103 微控制器-preview-2
  • ARM Cortex-M3 嵌入式原理及應用 — 基於 STM32F103 微控制器-preview-3
ARM Cortex-M3 嵌入式原理及應用 — 基於 STM32F103 微控制器-preview-1

買這商品的人也買了...

相關主題

商品描述

本書旨在傳承51經典,發揚ARM長處,助推MCU升級; 以學生認知過程為導向組織教材內容,採取項目引領,全案例講解的方式,著重培養學生實踐應用能力。本書詳細闡述了基於ARM CortexM3內核的STM32F103微控制器嵌入式系統硬件設計方法和軟件開發技術。 全書共有15章,劃分為3部分: 第1部分(第1~3章)為系統平臺模塊,講述嵌入式系統定義、開發板硬件平臺和工程模板創建; 第2部分(第4~9章)為基本外設模塊,分別對STM32嵌入式系統最常用外設模塊進行介紹,包括GPIO、中斷、定時器、PWM和嵌入式系統接口技術; 第3部分(第10~15章)為擴展外設模塊,分別對STM32嵌入式系統高級外設模塊進行介紹,包括USART、SPI、OLED、ADC、IIC、EEPROM和RTC等。 本書適合作為高等院校電腦、自動化、電子信息、機電一體化、物聯網等專業高年級本科生或研究生嵌入式相關課程的教材,同時可供從事嵌入式開發的技術和研究人員參考。

作者簡介

黃克亞

軟件設計師,蘇州大學副教授、碩士生導師,主要從事智能控制、嵌入式系統開發等教學和科研工作。講授過“電工電子技術”“單片機原理與控制技術”“微機原理及應用”“嵌入式系統開發”“可編程控制器”“傳感器應用技術”等課程。近年來主持省級課題2項,授權發明專利1項,登記軟件著作權4項,發表EI檢索或中文核心期刊論文6篇,指導學生獲中國智能機器人大賽一等獎1項、江蘇省本專科優秀畢業設計(論文)三等獎1項、全國電子設計大賽江蘇賽區二等獎2項。

目錄大綱

目錄

 

第1章ARM CortexM3嵌入式系統

1.1嵌入式系統概述

1.1.1什麼是嵌入式系統

1.1.2嵌入式系統和通用計算機系統比較

1.1.3嵌入式系統的特點

1.1.4嵌入式系統的應用領域

1.1.5嵌入式系統範例

1.2ARM CortexM3處理器

1.2.1ARM公司

1.2.2ARM處理器

1.3STM32微控制器

1.3.1從CortexM3內核到基於CortexM3的MCU

1.3.2STM32微控制器產品線

1.3.3STM32微控制器命名規則

1.4嵌入式系統的軟件

1.4.1無操作系統的嵌入式軟件

1.4.2帶操作系統的嵌入式軟件

1.4.3典型嵌入式操作系統

1.4.4軟件架構選擇建議

本章小結

思考與擴展

 

第2章STM32開發板硬件系統

2.1開發板總體概況

2.1.1開發板設計背景

2.1.2開發板總體介紹

2.2電源模塊

2.2.1電源模塊原理圖

2.2.2電源模塊工作原理

2.3核心板電路

2.3.1CPU模塊

2.3.2串口通信模塊

2.3.3外接晶振模塊

2.3.4備用電源模塊

2.3.5ADC模塊電源

2.3.6CPU濾波電路

2.3.7復位電路

2.3.8啟動設置電路

2.4I/O模塊電路

2.4.1LED指示燈模塊

2.4.2按鍵模塊

2.4.3數碼管模塊

2.4.4蜂鳴器模塊

2.4.5OLED顯示屏電路

2.5擴展模塊電路

2.5.1溫度傳感器

2.5.2紅外傳感器

2.5.3AD採樣模塊

2.5.4EEPROM存儲器

2.5.5I/O引腳外接模塊

本章小結

思考與擴展

 

第3章MDK軟件與工程模板創建

3.1STM32固件庫認知

3.1.1STM32固件庫概述

3.1.2STM32固件庫下載

3.1.3STM32固件庫目錄結構

3.2工程模板創建

3.2.1Keil MDKARM軟件簡介

3.2.2工程模板的創建

3.3軟件模擬仿真

本章小結

思考與擴展

 

第4章通用目的輸入輸出口

4.1GPIO概述及引腳命名

4.2GPIO內部結構

4.2.1輸入驅動器

4.2.2輸出驅動器

4.3GPIO工作模式

4.3.1輸入浮空

4.3.2輸入上拉

4.3.3輸入下拉

4.3.4模擬輸入

4.3.5開漏輸出

4.3.6開漏復用輸出

4.3.7推挽式輸出

4.3.8推挽式複用輸出

4.3.9工作模式選擇

4.4GPIO輸出速度

4.5復用功能重映射

4.6GPIO控制寄存器

4.7GPIO寄存器配置實例

4.8寄存器版LED燈閃爍工程

4.8.1創建寄存器版工程模板

4.8.2LED燈閃爍程序設計

4.8.3基於寄存器開發方式特點

本章小結

思考與擴展

 

第5章LED流水燈與SysTick定時器

5.1庫函數開發方法

5.2GPIO輸出庫函數

5.2.1函數RCC_APB2PeriphClockCmd

5.2.2函數GPIO_Init

5.2.3函數GPIO_Write

5.2.4函數GPIO_SetBits

5.2.5函數GPIO_ResetBits

5.2.6函數GPIO_WriteBit

5.3LED流水燈控制

5.4SysTick定時器

5.4.1SysTick定時器概述

5.4.2SysTick定時器寄存器

5.4.3SysTick定時器應用

本章小結

思考與擴展

 

第6章按鍵輸入與蜂鳴器

6.1GPIO輸入庫函數

6.1.1函數GPIO_ReadInputDataBit

6.1.2函數GPIO_ReadInputData

6.1.3函數GPIO_ReadOutputDataBit

6.1.4函數GPIO_ReadOutputData

6.2項目分析

6.3項目實施

本章小結

思考與擴展

 

第7章數碼管動態顯示

7.1數碼管顯示接口

7.1.1數碼管工作原理

7.1.2數碼管編碼方式

7.1.3數碼管顯示方​​式

7.2項目分析

7.3項目實施

7.4項目拓展

本章小結

思考與擴展

 

第8章中斷系統與基本應用

8.1中斷的基本概念

8.1.1中斷的定義

8.1.2中斷的應用

8.1.3中斷源與中斷屏蔽

8.1.4中斷處理過程

8.1.5中斷優先級與中斷嵌套

8.2STM32F103中斷系統

8.2.1嵌套向量中斷控制器NVIC

8.2.2STM32F103中斷優先級

8.2.3STM32F103中斷向量表

8.2.4STM32F103中斷服務函數

8.3STM32F103外部中斷/事件控制器EXTI

8.3.1EXTI內部結構

8.3.2EXTI工作原理

8.3.3EXTI主要特性

8.4STM32中斷相關庫函數

8.4.1STM32F10x的NVIC相關庫函數

8.4.2STM32F10x的EXTI相關庫函數

8.4.3EXTI中斷線GPIO引腳映射庫函數

8.5EXTI項目實例

8.5.1項目分析

8.5.2項目實施

本章小結

思考與擴展

 

第9章定時器與脈衝寬度調製

9.1STM32F103定時器概述

9.2基本定時器

9.2.1基本定時器簡介

9.2.2基本定時器的主要特性

9.2.3基本定時器的功能

9.2.4基本定時器寄存器

9.3通用定時器

9.3.1通用定時器簡介

9.3.2通用定時器主要功能

9.3.3通用定時器功能描述

9.3.4通用定時器工作模式

9.3.5通用定時器寄存器

9.4高級定時器

9.4.1高級定時器簡介

9.4.2高級定時器特性

9.4.3高級定時器結構

9.5定時器相關庫函數

9.5.1函數TIM_DeInit

9.5.2函數TIM_TimeBaseInit

9.5.3函數TIM_OC1Init

9.5.4函數TIM_OC2Init

9.5.5函數TIM_OC3Init

9.5.6函數TIM_OC4Init

9.5.7函數TIM_Cmd

9.5.8函數TIM _ITConfig

9.5.9函數TIM_OC1PreloadConfig

9.5.10函數TIM_OC2PreloadConfig

9.5.11函數TIM_OC3PreloadConfig

9.5.12函數TIM_OC4PreloadConfig

9.5.13函數TIM_GetFlagStatus

9.5.14函數TIM_ClearFlag

9.5.15函數TIM_GetITStatus

9.5.16函數TIM_ClearITPendingBit

9.5.17函數TIM_SetCompare1

9.5.18函數TIM_SetCompare2

9.5.19函數TIM_SetCompare3

9.5.20函數TIM_SetCompare4

9.6項目實例

9.6.1定時器項目

9.6.2PWM項目

本章小結

思考與擴展

 

第10章串行通信接口USART

10.1數據通信基本概念

10.1.1並行通信與串行通信

10.1.2異步通信與同步通信

10.1.3串行通信的製式

10.1.4串行通信的校驗

10.1.5串行通信的波特率

10.2SM32F103的USART工作原理

10.2.1USART介紹

10.2.2USART主要特性

10.2.3USART功能概述

10.2.4USART通信時序

10.2.5USART中斷

10.2.6USART相關寄存器

10.3USART相關庫函數

10.3.1函數USART_DeInit

10.3.2函數USART_Init

10.3.3函數USART_Cmd

10.3.4函數USART_SendData

10.3.5函數USART_ReceiveData

10.3.6函數USART_GetFlagStatus

10.3.7函數USART_ClearFlag

10.3.8函數USART_ITConfig

10.3.9函數USART_GetITStatus

10.3.10函數USART_ClearITPendingBit

10.3.11函數USART_DMACmd

10.4項目實例

10.4.1項目分析

10.4.2項目實施

本章小結

思考與擴展

 

第11章SPI與OLED顯示屏

11.1SPI通信原理

11.1.1SPI介紹

11.1.2SPI互連

11.2STM32F103的SPI工作原理

11.2.1SPI主要特徵

11.2.2SPI內部結構

11.2.3時鐘信號的相位和極性

11.2.4數據幀格式

11.2.5配置SPI為主模式

11.2.6配置SPI為從模式

11.3OLED顯示屏

11.3.1OLED簡介

11.3.2開發板OLED顯示屏

11.3.3OLED顯示屏接口

11.4SPI庫函數

11.4.1函數SPI_I2S_DeInit

11.4.2函數SPI_Init

11.4.3函數SPI_Cmd

11.4.4函數SPI_I2S_SendData

11.4.5函數SPI_I2S_ReceiveData

11.4.6函數SPI_I2S_ITConfig

11.4.7函數SPI_I2S_GetITStatus

11.4.8函數SPI_I2S_ClearFlag

11.5項目實例

11.5.1項目分析

11.5.2項目實施

本章小結

思考與擴展

 

第12章模擬數字轉換器

12.1ADC概述

12.1.1ADC基本原理

12.1.2ADC性能參數

12.1.3ADC主要類型

12.2STM32F103的ADC工作原理

12.2.1主要特徵

12.2.2內部結構

12.2.3通道及分組

12.2.4時序圖

12.2.5數據對齊

12.2.6校準

12.2.7轉換時間

12.2.8轉換模式

12.2.9外部觸發轉換

12.2.10中斷和DMA請求

12.3ADC相關庫函數

12.3.1函數ADC_DeInit

12.3.2函數ADC_Init

12.3.3函數ADC_RegularChannelConfig

12.3.4函數ADC_InjectedChannleConfig

12.3.5函數ADC_Cmd

12.3.6函數ADC_ResetCalibration

12.3.7函數ADC_GetResetCalibrationStatus

12.3.8函數ADC_StartCalibration

12.3.9函數ADC_GetCalibrationStatus

12.3.10函數ADC_SoftwareStartConvCmd

12.3.11函數ADC_GetConversionValue

12.3.12函數ADC_GetFlagStatus

12.3.13函數ADC_DMACmd

12.4項目實例

12.4.1項目分析

12.4.2項目實施

本章小結

思考與擴展

 

第13章直接存儲器訪問

13.1DMA的基本概念

13.1.1DMA由來

13.1.2DMA定義

13.1.3DMA傳輸過程

13.1.4DMA優點

13.2STM32F103的DMA工作原理

13.2.1STM32F103的DMA主要特性

13.2.2STM32F103的DMA內部結構

13.2.3STM32F103的DMA通道

13.2.4STM32F103的DMA優先級

13.2.5STM32F103的DMA傳輸模式

13.2.6STM32F103的DMA中斷

13.3DMA相關庫函數

13.3.1函數DMA_DeInit

13.3.2函數DMA_Init

13.3.3函數DMA_GetCurrDataCounte

13.3.4函數DMA_Cmd

13.3.5函數DMA_GetFlagStatus

13.3.6函數DMA_ClearFlag

13.3.7函數DMA_ITConfig

13.3.8函數DMA_GetITStatus

13.4項目實例

13.4.1項目分析

13.4.2項目實施

本章小結

思考與擴展

 

第14章I2C接口與EEPROM存儲器

14.1I2C通信原理

14.1.1I2C串行總線概述

14.1.2I2C總線的數據傳送

14.2STM32F103的I2C接口

14.2.1STM32F103的I2C主要特性

14.2.2STM32F103的I2C內部結構

14.2.3STM32F103的模式選擇

14.3STM32F103的I2C相關庫函數

14.3.1函數I2C_DeInit

14.3.2函數I2C_ Init

14.3.3函數I2C_ Cmd

14.3.4函數I2C_ GenerateSTART

14.3.5函數I2C_ GenerateSTOP

14.3.6函數I2C_ Send7bitAddress

14.3.7函數I2C_ SendData

14.3.8函數I2C_ ReceiveData

14.4項目實例

14.4.1模擬I2C時序要求

14.4.2模擬I2C函數

14.4.3EEPROM芯片24C02

14.4.4模擬I2C訪問24C02項目分析

14.4.5模擬I2C訪問24C02項目實施

本章小結

思考與擴展

 

第15章RTC時鐘與BKP寄存器

15.1RTC時鐘

15.1.1RTC簡介

15.1.2RTC主要特性

15.1.3RTC內部結構

15.1.4RTC復位過程

15.2備份寄存器(BKP)

15.2.1BKP簡介

15.2.2BKP特性

15.2.3BKP侵入檢測

15.3RTC時鐘的操作

15.3.1RTC的初始化

15.3.2RTC時間寫入初始化

15.4RTC與BKP相關庫函數

15.4.1函數PWR_BackupAccessCmd 

15.4.2函數BKP_DeInit()

15.4.3函數RCC_LSEConfig

15.4.4函數RCC_GetFlagStatus

15.4.5函數RCC_RTCCLKConfig

15.4.6函數RCC_RTCCLKCmd

15.4.7函數RTC_WaitForSynchro

15.4.8函數RTC_WaitForLastTask

15.4.9函數RTC_ITConfig

15.4.10函數RTC_SetPrescaler

15.4.11函數RTC_SetCounter

15.4.12函數RTC_GetCounter()

15.4.13函數BKP_ReadBackupRegister

15.4.14函數BKP_WriteBackupRegister

15.4.15函數RCC_ClearFlag

15.5項目實例

15.5.1項目分析

15.5.2項目實施

15.5.3項目調試

本章小結

思考與擴展

 

附錄AASCII碼表

附錄BSTM32F103微控器小容量產品系列引腳定義表

附錄CSTM32F103微控器中等容量產品系列引腳定義表

附錄DSTM32F103微控器大容量產品系列引腳定義表

參考文獻