基於STM32的嵌入式系統應用

孫光

  • 出版商: 人民郵電
  • 出版日期: 2019-09-01
  • 售價: $252
  • 貴賓價: 9.5$239
  • 語言: 簡體中文
  • ISBN: 7115517991
  • ISBN-13: 9787115517999
  • 相關分類: STM32

立即出貨 (庫存 < 3)

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

商品描述

本書介紹了意法半導體公司出品的基於Arm Cortex-M3內核的STM32F103微控制器在工程實踐中的應用。

全書分為基礎篇和應用篇。基礎篇介紹了嵌入式系統的基本概念、實訓使用的軟硬件平臺、STM32的標準外設庫、嵌入式C語言編程的特點、STM32系統時鐘、彩色LCD顯示基礎、字符編碼和顯示字庫等內容;應用篇依托STM32微控制器的主要外設、常用外圍器件以及典型應用等設計了11個實訓項目。

本書適合作為高職院校電子與控制類專業“嵌入式系統應用”等相關課程的教材,也可以作為工程技術人員學習STM32微控制器編程的快速入門參考書。

作者簡介

孫光,深圳職業技術學院電信學院副教授,畢業於武漢大學電氣工程學院,碩士學位,長期從事嵌入式系統應用開發,具有豐富的企業經驗。國家級教學資源庫嵌入式技術教材組核心成員。

目錄大綱

基礎篇

第1章專題1——嵌入式系統概述2


1.1從單片機到嵌入式系統2


1.2精簡指令集計算機與復雜指令集計算機3


1.3普林斯頓結構和哈佛結構3


1.4 Arm公司及其微處理器4


1.5 Arm Cortex系列處理器5


1.6 STM32F103系列微控制器8


第2章專題2——實訓項目使用的軟硬件平台11


2.1實訓項目使用的軟件集成開發環境11


2.2實訓項目使用的仿真器13


2.2.1仿真器分類13


2.2.2 JTAG和SWD接口13


2.3實訓項目使用的目標板15


2.4實訓項目使用的帆板角度測量與控制裝置15


第3章專題3——CMSIS與STM32標準外設庫17


3.1 Arm Cortex微控制器軟件接口標準CMSIS 17


3.2關於STM32的標準外設庫18


3.3 STM32標準外設庫的命名規則23


第4章專題4——STM32嵌入式C語言編程的特點26


4.1宏指令的使用及其意義26


4.2 STM32嵌入式C語言編程中幾個重要關鍵字28


4.3 STM32嵌入式C語言編程的基本數據類型30


4.4結構體與指針32


4.5枚舉33


4.6 C語言編程的代碼格式34


第5章專題5——STM32F10x微控制器的系統時鐘36


5.1 STM32F10x微控制器系統時鐘的基本結構36


5.2 STM32F10x微控制器的時鐘源與配置路徑37


5.3 STM32F10x微控制器的總線時鐘40


5.4 STM32F10x微控制器系統時鐘與外設時鐘的配置方法40


5.4.1 STM32F10x微控制器系統時鐘的配置函數40


5.4.2 STM32F10x微控制器外設時鐘的控制41


第6章專題6——彩色LCD顯示42


6.1彩色LCD顯示與控制的基本原理42


6.2彩色LCD顯示器的圖形顯示方法43


6.3彩色圖片轉換成C語言數組文件的方法44


第7章專題7——字符編碼與顯示字庫46


7.1 ASCII編碼46


7.2漢字字符編碼51


7.3字符在彩色LCD屏幕上的顯示52


7.4顯示字庫與字符編碼的關係54

應用篇

第8章實訓項目1——LED閃爍58


8.1相關知識58


8.2項目實施59


8.2.1在MDK開發環境中新建項目59


8.2.2 MDK工程項目配置62


8.2.3編譯並下載運行66


第9章實訓項目2——按鍵控制LED亮滅67


9.1相關知識67


9.1.1 STM32F103微控制器通用輸入/輸出端口GPIO的基本結構67


9.1.2 GPIO的工作模式68


9.1.3 GPIO端口編程涉及的標準外設庫函數69


9.2項目實施70


9.2.1硬件電路實現70


9.2.2程序設計思路70


9.2.3程序代碼分析71


9.3拓展項目——按鍵控制LED閃爍頻率75


9.3.1項目內容75


9.3.2項目提示75


第10章實訓項目3——按鍵控制LED閃爍頻率(外部中斷) 76


10.1相關知識76


10.1.1 STM32F103微控制器的中斷系統76


10.1.2 STM32F103微控制器的外部中斷80


10.1.3外部中斷編程涉及的標準外設庫函數81


10.2項目實施81


10.2.1硬件電路設計81


10.2.2程序設計思路82


10.2.3程序代碼分析82


10.3拓展項目——LED顯示與按鍵動作的同步88


10.3.1項目內容88


10.3.2項目提示88


第11章實訓項目4——彩色LCD顯示圖片與文字89


11.1相關知識89


11.1.1 STM32F103微控制器的FSMC 89


11.1.2 FSMC編程涉及的標準外設庫函數92


11.1.3彩色LCD的驅動92


11.2項目實施93


11.2.1硬件電路設計93


11.2.2程序代碼分析93


11.3拓展項目——按鍵控製字符串移動98


11.3.1項目內容98


11.3.2項目提示98


第12章實訓項目5——按鍵控制LED閃爍頻率(定時器中斷) 99


12.1相關知識99


12.1.1 STM32F103微控制器的定時器資源99


12.1.2 STM32F103微控制器的通用定時器100


12.1.3通用定時器編程涉及的STM32標準外設庫函數101


12.2項目實施101


12.2.1硬件電路實現101


12.2.2程序設計思路101


12.2.3程序代碼分析102


12.3拓展項目——LED1呼吸燈(定時器中斷) 107


12.3.1項目內容107


12.3.2項目提示107


第13章實訓項目6——風扇轉速的PWM控制108


13.1相關知識108


13.1.1脈衝寬度調製的基本原理108


13.1.2四線製直流風扇的控制方法108


13.1.3 STM32通用定時器的PWM 109


13.1.4 STM32引腳的重映射110


13.1.5通用定時器PWM輸出編程涉及的標準外設庫函數110


13.2項目實施110


13.2.1硬件電路設計110


13.2.2程序設計思路111


13.2.3程序代碼分析111


第14章實訓項目7——帆板角度與芯片溫度檢測116


14.1相關知識116


14.1.1電阻式角度傳感器的原理116


14.1.2模擬/數字轉換的過程116


14.1.3模擬數字轉換的技術指標118


14.1.4逐次逼近型A/D轉換器118


14.1.5 STM32微控制器的模擬數字轉換器ADC 120


14.1.6 ADC編程涉及的標準外設庫函數121


14.2項目實施122


14.2.1硬件電路設計122


14.2.2程序設計思路122


14.2.3程序代碼分析123


14.3拓展項目——利用規則通道檢測芯片溫度與內部參考電壓129


14.3.1項目要求129


14.3.2項目提示129


第15章實訓項目8——帆板角度與芯片溫度檢測(DMA方式) 130


15.1相關知識130


15.1.1 DMA的基本概念130


15.1.2 STM32F103ZE微控制器的DMA 131


15.1.3 DMA編程涉及的標準外設庫函數134


15.2項目實施135


15.2.1硬件電路設計135


15.2.2程序設計思路135


15.2.3程序代碼分析135


15.3拓展項目——存儲器到存儲器(M2M)數據傳輸140


15.3.1項目內容140


15.3.2項目提示140


第16章實訓項目9——串行通信控制風扇轉速並獲取帆板角度142


16.1相關知識142


16.1.1異步串行通信142


16.1.2 STM32的通用同步/異步收發器(USART) 143


16.1.3 STM32的USART編程涉及的標準


外設庫函數144


16.2項目實施144


16.2.1硬件電路設計144


16.2.2程序設計思路145


16.2.3串行通信協議145


16.2.4程序代碼分析146


16.2.5使用串口調試助手進行操作151


16.3拓展項目——串口採用DMA方式發送字符152


16.3.1項目要求152


16.3.2項目提示152


第17章實訓項目10——Wi-Fi控制風扇轉速並獲取帆板角度154


17.1相關知識154


17.1.1 ISO/OSI參考模型與TCP/IP協議154


17.1.2 TCP/IP相關知識點155


17.1.3 Wi-Fi及其三種工作模式156


17.1.4 Wi-Fi模塊ESP8266 156


17.1.5 ESP8266模塊的控制指令157


17.2項目實施158


17.2.1硬件電路設計158


17.2.2程序設計思路159


17.2.3程序代碼分析159


17.2.4使用手機端“網絡調試助手”App進行遙控操作167


第18章實訓項目11——基於STM32的物聯網雲平台溫度檢測169


18.1相關知識169


18.1.1雲服務及其分類169


18.1 .2物聯網雲平台171


18.1.3中國移動物聯網雲平台OneNET 171


18.1.4數據傳輸過程172


18.1.5本項目使用的ESP8266模塊控制指令174


18.2項目實施175


18.2.1在OneNET雲平台上搭建設備和應用175


18.2.2程序設計思路184


18.2.3程序代碼分析184


18.2.4 在桌面端或手機端觀察雲平台的溫度數據189