STM32 單片機原理與應用

向培素、游志宇、杜誠

  • 出版商: 清華大學
  • 出版日期: 2022-08-01
  • 定價: $294
  • 售價: 8.5$250
  • 語言: 簡體中文
  • ISBN: 7302604258
  • ISBN-13: 9787302604259
  • 相關分類: STM32
  • 立即出貨

  • STM32 單片機原理與應用-preview-1
  • STM32 單片機原理與應用-preview-2
  • STM32 單片機原理與應用-preview-3
STM32 單片機原理與應用-preview-1

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

商品描述

本書利用STM32F103C8T6單片機講解單片機原理與應用的教材。內容涉及嵌入式系統的概念、STM32單片機的內部結構、最小系統、STM32單片機的片上外設——GPIO、EXTI、USART、通用TIM、I2C、ADC、DMA的設計使用方法。本書符合當前教育部對新工科建設規劃要求,滿足工科專業認證實踐教學要求的教材,適合於物聯網、自動化、電子信息等相關專業本科生選用,也可供電腦科學與技術、電子科學與技術、控制工程、通信工程、信息安全、智能科學與技術等相關專業選用,本書同時可供行業相關技術人員閱讀。

目錄大綱

 

 

 

目錄

 

 

 

 

第1章概述

 

1.1嵌入式系統的概念

 

1.1.1嵌入式系統的定義

 

1.1.2嵌入式系統的應用

 

1.1.3嵌入式系統的組成

 

1.2STM32單片機概述

 

1.2.1STM32單片機產品系列

 

1.2.2STM32單片機命名規則

 

1.2.3STM32F103系列單片機的內部資源

 

 

1.3嵌入式單片機的開發流程

 

1.3.1常用的開發工具

 

1.3.2單片機的開發流程

 

1.4單片機的學習方法

 

第2章STM32單片機的內部結構

 

2.1系統架構和存儲器組織

 

2.1.1系統架構

 

2.1.2存儲器組織

 

2.1.3位帶操作

 

2.1.4啟動設置

 

2.2時鐘系統

 

2.2.1時鐘

 

2.2.2時鐘控制庫函數

 

2.3系統時鐘配置

 

2.3.1固件庫默認時鐘配置

 

2.3.2STM32單片機復位啟動過程

 

2.3.3基於庫函數的時鐘配置

 

2.4系統定時器SysTick

 

2.4.1SysTick概述

 

2.4.2SysTick寄存器

 

2.4.3SysTick庫函數

 

2.4.4SysTick延時實例

 

2.4.5SysTick分秒定時實例

 

第3章STM32單片機的最小系統

 

3.1STM32F103C8T6單片機

 

3.1.1STM32F103系列概述

 

3.1.2STM32F103C8T6引腳定義

 

3.1.3STM32F103C8T6片內資源

 

3.2STM32單片機最小系統構成

 

3.2.1電源電路

 

3.2.2復位電路

 

3.2.3時鐘電路

 

3.2.4啟動模式設置電路

 

3.2.5編程接口電路

 

 

 

 

 

 

第4章通用輸入/輸出的原理與應用

 

4.1GPIO的內部結構及特性

 

4.1.1輸出數據源

 

4.1.2推輓輸出和開漏輸出

 

4.1.3保護二極管

 

4.1.4上拉輸入和下拉輸入

 

4.1.5輸入數據的去向

 

4.2GPIO常見參數配置

 

4.2.1GPIO的輸出速度

 

4.2.2GPIO引腳的復用和重映射

 

4.3GPIO的常用庫函數

 

4.3.1函數GPIO_Init()

 

4.3.2函數GPIO_ReadInputDataBit()

 

4.3.3函數GPIO_ReadInputData()

 

4.3.4函數GPIO_SetBits()

 

4.3.5函數GPIO_ResetBits()

 

4.3.6函數GPIO_WriteBit()

 

4.3.7函數GPIO_Write()

 

4.3.8函數GPIO_PinRemapConfig()

 

4.4GPIO的相關寄存器

 

4.4.1埠配置低寄存器

 

4.4.2埠輸入數據寄存器

 

4.4.3埠輸出數據寄存器

 

4.4.4埠位設置/清除寄存器

 

4.4.5埠位清除寄存器

 

4.5GPIO的應用實例

 

4.5.1引腳重映射功能的設置方法

 

4.5.2GPIO的初始化步驟

 

4.5.3GPIO位帶操作設置方法

 

4.5.4GPIO應用實例

 

第5章外部中斷的原理與應用

 

5.1中斷的概念

 

5.1.1中斷的作用

 

5.1.2中斷的常見術語

 

5.2NVIC中斷管理

 

5.2.1搶占優先級和響應優先級

 

5.2.2中斷優先級分組

 

5.2.3NVIC中斷管理相關函數

 

5.3EXTI外部中斷

 

5.3.1中斷請求信號的輸入腳

 

5.3.2EXTI線對應的中斷函數

 

5.4EXTI的常用庫函數

 

5.4.1函數EXTI_Init()

 

5.4.2函數GPIO_EXTILineConfig()

 

5.5EXTI的應用實例

 

5.5.1EXTI的初始化步驟

 

5.5.2EXTI應用實例

 

第6章USART的工作原理與應用

 

6.1串行通信基礎

 

6.1.1並行通信與串行通信

 

6.1.2同步通信與異步通信

 

6.1.3單工與雙工傳輸模式

 

6.1.4串行通信的錯誤校驗

 

6.2USART的內部結構及特性

 

6.2.1相關引腳

 

6.2.2數據寄存器

 

6.2.3狀態寄存器和控制寄存器

 

6.2.4波特率

 

6.3USART的常用庫函數

 

6.3.1函數USART_Init()

 

6.3.2函數USART_Cmd()

 

6.3.3函數USART_ITConfig()

 

6.3.4函數USART_SendData()

 

6.3.5函數USART_ReceiveData()

 

6.3.6函數USART_GetFlagStatus()

 

6.3.7函數USART_ClearFlag()

 

6.3.8函數USART_GetITStatus()

 

6.3.9函數USART_ClearITPendingBit()

 

6.4USART的應用實例

 

6.4.1USART初始化步驟及註意事項

 

6.4.2串口USART查詢接收

 

6.4.3串口USART中斷接收

 

第7章通用定時器的原理與應用

 

7.1TIMx的內部結構及特性

 

7.1.1通用定時器的時鐘

 

7.1.2時基單元

 

7.1.3PWM輸出模式

 

7.1.4輸入捕獲模式

 

7.2TIMx的常用庫函數

 

7.2.1函數TIM_TimeBaseInit()

 

7.2.2函數TIM_Cmd()

 

7.2.3函數TIM _ITConfig()

 

7.2.4函數TIM_GetFlagStatus()

 

7.2.5函數TIM_ClearFlag()

 

7.2.6函數TIM_GetITStatus()

 

7.2.7函數TIM_ClearITPendingBit()

 

7.2.8函數TIM_OCInit()

 

7.2.9函數TIM_ICInit()

 

7.2.10函數TIM_SetCompare1()

 

7.2.11函數TIM_OC1PreloadConfig()

 

7.2.12函數TIM_OC1PolarityConfig()

 

7.3TIMx的應用實例

 

7.3.1通用定時功能

 

7.3.2PWM輸出功能

 

7.3.3輸入捕獲功能

 

第8章I2C接口的原理與應用

 

8.1I2C總線概述

 

8.1.1I2C總線的硬件構成

 

8.1.2I2C總線協議

 

8.2STM32的I2C接口內部結構及特性

 

8.2.1I2C的引腳

 

8.2.2I2C的通信過程

 

8.3I2C的常用庫函數

 

8.3.1函數I2C_ Init()

 

8.3.2函數I2C_Cmd()

 

8.3.3函數I2C_GenerateSTART()

 

8.3.4函數I2C_CheckEvent()

 

8.3.5函數I2C_Send7bitAddress()

 

8.3.6函數I2C_ SendData()

 

8.3.7函數I2C_ GenerateSTOP()

 

8.3.8函數I2C_ AcknowledgeConfig()

 

8.3.9函數I2C_ReceiveData()

 

8.3.10函數I2C_ GetFlagStatus()

 

8.4I2C接口的應用實例

 

8.4.1I2C接口的EEPROM(AT24C02)

 

8.4.2讀寫EEPROM(AT24C02)

 

第9章ADC的原理與應用

 

9.1ADC的內部結構及特性

 

9.1.1參考電壓

 

9.1.2輸入通道

 

9.1.3轉換時間

 

9.1.4ADC的啟動

 

9.1.5ADC產生的中斷

 

9.1.6ADC轉換值的計算

 

9.1.7ADC的轉換模式

 

9.1.8DMA請求

 

9.2ADC的常用庫函數

 

9.2.1函數ADC_Init()

 

9.2.2函數ADC_RegularChannelConfig()

 

9.2.3函數ADC_ResetCalibration()

 

9.2.4函數ADC_GetResetCalibrationStatus()

 

9.2.5函數ADC_StartCalibration()

 

9.2.6函數ADC_GetCalibrationStatus()

 

9.2.7函數ADC_SoftwareStartConvCmd()

 

9.2.8函數ADC_GetConversionValue()

 

9.2.9函數ADC_ExternalTrigConvConfig()

 

9.2.10函數ADC_DiscModeChannelCountConfig()

 

9.2.11函數ADC_DiscModeCmd()

 

 

9.3ADC的應用實例

 

9.3.1ADC的初始化編程步驟

 

9.3.2ADC單通道單次轉換

 

9.3.3ADC多通道間斷模式外部觸發轉換

 

第10章DMA的原理與應用

 

10.1DMA的內部結構及特性

 

10.1.1DMA請求

 

10.1.2DMA通道和仲裁

 

10.1.3DMA傳輸的參數

 

10.2DMA的常用庫函數

 

10.2.1函數DMA_Init()

 

10.2.2函數DMA_Cmd()

 

10.2.3常用的外設DMA使能庫函數

 

10.3DMA的應用實例

 

10.3.1DMA的初始化編程步驟

 

10.3.2ADC掃描模式的DMA傳輸

 

參考文獻