STM32單片機全案例開發實戰( 簡體 字) | |
作者:蔡杏山 | 類別:1. -> 電腦組織與體系結構 -> 單晶片 -> STM32 |
出版社:電子工業出版社 | 3dWoo書號: 56106 詢問書籍請說出此書號! 有庫存 NT售價: 395 元 |
出版日:10/1/2022 | |
頁數:308 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787121442711 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 STM32單片機基礎
1.1 STM32單片機簡介 1.1.1 什么是ARM 1.1.2 什么是STM32單片機 1.1.3 STM32單片機的型號含義 1.2 STM32單片機的最小系統電路 1.2.1 STM32F103C8T6單片機介紹 1.2.2 STM32單片機的最小系統電路 1.2.3 最小系統實驗電路板 1.3 程序的編寫與下載 1.3.1 用Keil MDK5軟件編寫和編譯程序 1.3.2 ST-Link下載調試器及驅動程序的安裝 1.3.3下載調試器與STM32單片機的連接 1.3.4 連接設置與下載程序 1.3.5 單片機電路板通電測試 1.4 單片機C語言基礎 1.4.1 常量 1.4.2變量 1.4.3 運算符 1.4.4 關鍵字 1.4.5 數組 1.4.6 指針 1.4.7 結構體 1.4.8 枚舉 1.4.9 循環語句(while、do while、for語句) 1.4.10 選擇語句(if、switch…case語句) 第2章 STM32單片機的硬件系統 2.1單片機內部結構與最小系統電路 2.1.1單片機的引腳功能與最小系統電路 2.1.2單片機內部結構 2.2 存儲器的地址分配(映射) 2.2.1 存儲器的劃分與地址分配 2.2.2 寄存器的命名 2.2.3 基地址與偏移地址 2.3 GPIO端口電路 2.3.1 GPIO端口的基本電路結構 2.3.2 輸入模式的電路說明 2.3.3 輸出模式的電路說明 2.4 GPIO端口寄存器 2.4.1 端口配置低8位寄存器(GPIOx_CRL,x=A…G) 2.4.2 端口配置高8位寄存器(GPIOx_CRH,x=A…G) 2.4.3 端口輸入數據寄存器(GPIOx_IDR,x=A…G) 2.4.4 端口輸出數據寄存器(GPIOx_ODR,x=A…G) 2.4.5 端口置位/復位寄存器(GPIOx_BSRR,x=A…G) 2.4.6 端口清0寄存器(GPIOx_BRR,x=A…G) 2.4.7 端口配置鎖定寄存器(GPIOx_LCKR,x=A…G) 2.5時鐘系統與復位時鐘控制寄存器(RCC) 2.5.1時鐘信號的種類與分配 2.5.2 時鐘控制寄存器(RCC_CR) 2.5.3 時鐘配置寄存器(RCC_CFGR) 2.5.4 APB2外設復位寄存器 (RCC_APB2RSTR) 2.5.5 APB1外設復位寄存器 (RCC_APB1RSTR) 2.5.6 AHB外設時鐘使能寄存器 (RCC_AHBENR) 2.5.7 APB2外設時鐘使能寄存器 (RCC_APB2ENR) 2.5.8 APB1外設時鐘使能寄存器 (RCC_APB1ENR) 2.5.9 控制/狀態寄存器 (RCC_CSR) 第3章Keil軟件與寄存器方式編程閃爍點亮LED 3.1 Keil MDK軟件和芯片包的安裝 3.1.1 安裝Keil MDK5軟件 3.1.2 安裝芯片包 3.1.3 軟件的啟動 3.2 創建工程并導入程序文件 3.2.1 創建項目文件夾 3.2.2 查找并復制啟動文件 3.2.3 新建工程 3.2.4 新建程序文件 3.2.5 將程序文件導入工程 3.3用寄存器方式編寫閃爍點亮LED的程序 3.3.1 頭文件程序的編寫 3.3.2 頭文件的程序代碼說明 3.3.3 主程序文件(main.c)的編寫 3.3.4 主程序的程序代碼說明 3.3.5啟動文件說明 3.3.6 編譯程序 第4章 固件庫與庫函數方式編程閃爍點亮LED 4.1 STM32固件庫介紹 4.1.1 固件庫的組成 4.1.2 固件庫一些重要文件說明 4.1.3 固件庫幫助文件的使用 4.2 庫函數方式編程模板的創建 4.2.1 創建模板文件夾并拷貝需要的文件 4.2.2 創建工程 4.2.3 配置工程 4.2.4 編寫主程序模板 4.3 庫函數方式閃爍點亮LED工程的創建與編程 4.3.1 利用庫函數方式編程模板創建工程 4.3.2 在工程中新建一些文件 4.3.3 程序的編寫與說明 4.4位段(bit-band)訪問方式編程閃爍點亮LED 4.4.1 位段區與位段別名區 4.4.2 位段區字節的位的別名地址計算 4.4.3 新建工程和程序文件 4.4.4程序的編寫與說明 第5章 按鍵控制LED和蜂鳴器的電路與編程實例 5.1按鍵、LED、蜂鳴器及相關電路 5.1.1按鍵開關產生的抖動及解決方法 5.1.2發光二極管(LED) 5.1.3 蜂鳴器 5.2按鍵輸入控制LED和蜂鳴器的電路與程序說明 5.2.1電路及控制功能 5.2.2 創建按鍵輸入控制LED和蜂鳴器的工程 5.2.3 LED端口配置程序及說明 5.2.4 蜂鳴器端口配置程序及說明 5.2.5 按鍵端口配置、檢測程序及說明 5.2.6 主程序文件及說明 第6章 中斷的使用與編程實例 6.1 中斷基礎知識 6.1.1 什么是中斷 6.1.2中斷源與中斷優先級 6.2 外部中斷/事件(EXTI)介紹 6.2.1外部中斷/事件控制器(EXTI)的組成框圖及說明 6.2.2 外部中斷/事件線路的分配 6.2.3 外部中斷的編程使用步驟 6.3 按鍵觸發中斷控制LED和蜂鳴器的編程與說明 6.3.1 創建按鍵觸發中斷控制LED和蜂鳴器的工程 6.3.2 中斷程序及說明 6.3.3 主程序及說明 第7章 定時器的使用與編程實例 7.1 SysTick定時器(系統定時器) 7.1.1 SysTick定時器的寄存器 7.1.2 SysTick定時器的編程使用步驟 7.1.3 SysTick定時器延時閃爍點亮LED的編程實例 7.1.4更換輸出引腳時的程序改動 7.2 通用定時器 7.2.1 通用定時器的功能與組成 7.2.2 通用定時器的編程使用步驟 7.2.3 通用定時器中斷閃爍點亮LED的編程實例 7.3 定時器PWM輸出功能的使用與編程實例 7.3.1 PWM基本原理 7.3.2 定時器的PWM輸出功能 7.3.3定時器PWM輸出功能的編程使用步驟 7.3.4定時器PWM輸出無級調節LED亮度的編程實例 第8章 USART串口通信與編程實例 8.1串行通信基礎知識 8.1.1 并行通信與串行通信 8.1.2 串行通信的兩種方式 8.1.3 串行通信的數據傳送方向 8.2 USART串口通信介紹 8.2.1 USART串口結構及說明 8.2.2 USART中斷控制 8.2.3 USART串口通信的編程使用步驟 8.3 單片機USART串口與其他設備的連接通信電路 8.3.1帶有USART串口的兩臺設備的連接通信電路 8.3.2 單片機USART串口與計算機RS232C口的連接通信電路 8.3.3 單片機USART串口使用CH340芯片與計算機USB口連接的通信電路與驅動安裝 8.4 單片機USART串口與計算機通信收發數據的編程實例 8.4.1 編程實現的功能 8.4.2創建工程 8.4.3配置USART1串口的端口、參數、工作模式和中斷通道的程序及說明 8.4.4主程序及說明 8.4.5 計算機與單片機通信收發數據測試 8.5 用USART串口輸出printf函數指定格式的數據 8.5.1 printf函數介紹 8.5.2 printf函數輸出重定向為USART串口 8.5.3 用USART串口輸出printf函數指定格式數據的工程與程序說明 8.5.4直觀查看printf函數往USART串口輸出的數據 第9章 ADC(模數轉換器)的使用與編程實例 9.1 ADC基本原理與電路 9.1.1 ADC基本原理 9.1.2 ADC電路 9.2 單片機ADC的結構與使用 9.2.1 ADC的結構與工作過程 9.2.2 ADC的輸入通道與分組 9.2.3 ADC的啟動與觸發源選擇 9.2.4 ADC的轉換模式 9.2.5 ADC_CLK時鐘與通道采樣時間 9.2.6 數據寄存器與數據對齊方式 9.2.7 模擬看門狗(上限值和下限值)設置 9.2.8 ADC的編程使用步驟 9.3 用ADC檢測電壓并與計算機通信顯示電壓值的編程實例 9.3.1 ADC檢測電壓并與計算機通信的電路及說明 9.3.2創建工程 9.3.3配置USART1串口的程序及說明 9.3.4配置ADC的程序及說明 9.3.5主程序及說明 9.3.6 查看ADC轉換的電壓值 9.4單片機內部溫度傳感器的使用與測溫編程實例 9.4.1單片機內部溫度傳感器及溫度檢測電路 9.4.2 單片機內部溫度傳感器檢測溫度并通信顯示溫度值的編程實例 9.4.3查看內部溫度傳感器檢測的芯片溫度 第10章 DAC(數模轉換器)的使用與編程實例 10.1 DA轉換原理與過程 10.1.1 DA轉換基本原理 10.1.2 DA轉換過程 10.2 單片機DAC的結構與使用 10.2.1 DAC的結構與工作過程 10.2.2 DAC_CR控制寄存器說明 10.2.3 DAC使用的編程步驟 10.3 DAC轉換數據并通信顯示模擬電壓值的編程實例 10.3.1 DAC轉換數據并通信顯示模擬電壓值的電路及說明 10.3.2創建工程 10.3.3配置DAC的程序及說明 10.3.4主程序及說明 10.3.5 查看DA值與對應的模擬電壓 第11章 光敏傳感器測光與DS18B20測溫的電路與編程實例 11.1 光敏傳感器的使用與測光編程實例 11.1.1光敏傳感器 11.1.2 光敏電阻器檢測亮度控制LED亮滅并與計算機通信的電路 11.1.3 光敏電阻器檢測亮度控制LED亮滅并通信顯示亮度值的程序及說明 11.2 DS18B20溫度傳感器的使用與測溫編程實例 11.2.1 DS18B20數字溫度傳感器 11.2.2 DS18B20檢測溫度控制LED亮滅并與計算機通信的電路 11.2.3 DS18B20檢測溫度控制LED亮滅并通信顯示溫度值的程序及說明 第12章 紅外線遙控與RTC實時時鐘的使用與編程實例 12.1 紅外線遙控收發裝置與遙控編碼方式 12.1.1 紅外線與可見光 12.1.2紅外線發射器與紅外線發光二極管 12.1.3紅外線光敏二極管與紅外線接收器 12.1.4 紅外遙控的編碼方式 12.2 紅外遙控LED亮滅并通信顯示接收碼的電路與編程實例 12.2.1 紅外遙控LED亮滅并通信顯示接收碼的電路 12.2.2 紅外遙控LED亮滅并通信顯示接收碼的程序及說明 12.3 RTC(實時時鐘)的使用與編程實例 12.3.1 RTC的結構與工作原理 12.3.2 RTC使用的編程步驟 12.3.3 RTC控制LED亮滅并通信顯示時間的電路 12.3.4 RTC控制LED亮滅并通信顯示時間的程序及說明 第13章 RS485通信與CAN通信的原理與編程實例 13.1 RS485通信基礎 13.1.1 RS232、RS422和RS485通信標準的比較 13.1.2 RS485設備的通信連接 13.1.3 單片機TTL轉RS485電路 13.1.4 RS232/RS485轉換器與USB/RS485轉換器 13.2 單片機與計算機RS485通信的電路與編程實例 13.2.1單片機與計算機RS485通信的電路 13.2.2 單片機與計算機RS485通信的程序及說明 13.3 CAN(控制器局域網絡)通信基礎 13.3.1 CAN 協議的特點 13.3.2 CAN協議的通信連接與電平規定 13.3.3 CAN協議的通信幀與數據幀 13.3.4 CAN的位時序與位采樣 13.3.5多節點同時發送的優先仲裁 13.4 STM32單片機的CAN 13.4.1 特點 13.4.2 CAN組成及說明 13.4.3工作模式與相關寄存器 13.4.4測試模式與相關寄存器 13.4.5 位時序與波特率的計算 13.4.6 標識符過濾(報文選擇) 13.4.7 CAN中斷 13.4.8 CAN的編程使用步驟 13.5 按鍵控制CAN通信工作模式和數據發送的電路與編程實例 13.5.1按鍵控制CAN通信工作模式和數據發送的電路 13.5.2按鍵控制CAN通信的工作模式和數據發送的程序及說明 13.5.3 用串口調試助手查看CAN通信的工作模式和收發的數據 第14章 FSMC(存儲器控制器)與液晶顯示屏的使用與編程實例 14.1 FSMC的結構與使用 14.1.1 FSMC結構框圖與說明 14.1.2 FSMC連接管理的外部存儲器地址分配 14.1.3 FSMC連接NOR/PSRAM的引腳信號 14.1.4 FSMC訪問NOR/PSRAM的模式和時序 14.2 液晶顯示屏(TFT-LCD)結構與顯示原理 14.2.1 液晶、偏光片與光通量控制 14.2.2單色液晶顯示屏的顯示電路及原理 14.2.3彩色液晶顯示屏的顯示電路及原理 14.2.4彩色濾光片的排列方式 14.2.5彩色液晶顯示屏的結構 14.3 液晶顯示屏的通信接口、讀寫時序與驅動芯片操作指令 14.3.1 一種3.5寸液晶顯示屏介紹 14.3.2 液晶顯示屏的通信接口與讀寫時序 14.3.3 LCD驅動芯片IL9341的顯存(GRAM) 14.3.4 IL9341芯片的常用操作指令 14.4 FSMC控制液晶屏顯示圖像的電路與編程實例 14.4.1 STM32單片機連接液晶顯示屏的電路 14.4.2創建FSMC控制液晶屏顯示圖像的工程 14.4.3 提取圖像的像素顏色數據 14.4.4 配置FSMC和讀寫LCD控制器的程序及說明 14.4.5 主程序及說明 14.4.6查看程序運行時液晶屏顯示的圖像 本書用實例詳解的方式介紹STM32單片機與C語言編程,主要內容有STM32單片機基礎、STM32單片機的硬件系統、Keil軟件與寄存器方式編程閃爍點亮LED、固件庫與庫函數方式編程閃爍點亮LED、按鍵控制LED和蜂鳴器的電路與編程實例、中斷的使用與編程實例、定時器的使用與編程實例、USART串口通信與編程實例、ADC(模數轉換器)的使用與編程實例、DAC(數模轉換器)的使用與編程實例、光敏傳感器測光與DS18B20測溫的電路與編程實例、紅外線遙控與RTC實時時鐘的使用與編程實例、RS-485通信與CAN通信的原理與編程實例、FSMC與液晶顯示屏的使用與編程實例。本書起點低,內容由淺入深,語言通俗易懂,結構安排符合學習認知規律,適合作為初學者學習STM32單片機及編程的自學圖書,也適合作為職業院校電類專業的單片機教材。
單片機是一種內部包含有CPU、存儲器和輸入/輸出接口等電路的集成電路(又稱IC芯片)。單獨一塊單片機芯片是無法工作的,必須要給它增加一些有關的外圍電路來組成單片機應用系統,然后在計算機中用單片機編程軟件編寫程序,再用燒錄器(或編程器)將程序寫入單片機,單片機在程序的控制下就能完成指定的工作。
單片機的應用非常廣泛,已深入到工業、農業、商業、教育、國防及日常生活等各個領域。由于單片機應用廣泛,電工電子技術的人幾乎都希望學會單片機技術,但真正掌握單片機技術并能進行單片機軟、硬件開發的人卻不多,其原因一句話概括就是“學單片機編程太難了!”。 本書是為解決學習單片機編程難而推出的,圖書用“單片機實際電路+大量典型的實例程序+詳細易懂的程序逐條說明”方式編寫的,讀者閱讀程序時,除了可查看與程序對應的單片機電路外,遇到某條程序語句不明白時可查看該程序語句的詳細說明,從而理解程序運行的來龍去脈。讀懂并理解程序后,讀者可模仿嘗試采用類似方法自已編寫一些程序,慢慢就可以自已編寫一些復雜的程序,從而成為單片機軟件編程高手。另外,讀者可添加微信(etv100)或發電子郵件(etv100@163.com)免費索取編程軟件和源代碼。 本書在編寫過程中得到了很多老師的支持,在此一致表示感謝。由于我們水平有限,書中的錯誤和疏漏之處在所難免,望廣大讀者和同仁予以批評指正。 編者 |