STM32單片機全案例開發(fā)實戰(zhàn)
定 價:79 元
- 作者:蔡杏山
- 出版時間:2022/10/1
- ISBN:9787121442711
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.1
- 頁碼:308
- 紙張:
- 版次:01
- 開本:16開
本書用實例詳解的方式介紹STM32單片機與C語言編程,主要內(nèi)容有STM32單片機基礎(chǔ)、STM32單片機的硬件系統(tǒng)、Keil軟件與寄存器方式編程閃爍點亮LED、固件庫與庫函數(shù)方式編程閃爍點亮LED、按鍵控制LED和蜂鳴器的電路與編程實例、中斷的使用與編程實例、定時器的使用與編程實例、USART串口通信與編程實例、ADC(模數(shù)轉(zhuǎn)換器)的使用與編程實例、DAC(數(shù)模轉(zhuǎn)換器)的使用與編程實例、光敏傳感器測光與DS18B20測溫的電路與編程實例、紅外線遙控與RTC實時時鐘的使用與編程實例、RS-485通信與CAN通信的原理與編程實例、FSMC與液晶顯示屏的使用與編程實例。本書起點低,內(nèi)容由淺入深,語言通俗易懂,結(jié)構(gòu)安排符合學習認知規(guī)律,適合作為初學者學習STM32單片機及編程的自學圖書,也適合作為職業(yè)院校電類專業(yè)的單片機教材。
蔡杏山,電工電子領(lǐng)域?qū)<。曾做過十多年的教師,先后在不同的大中專院校任教,所授課程有電子技術(shù)基礎(chǔ)、收錄機、電視機、錄像機、VCD影碟機、攝錄像機、電子線路、電子測量儀器、電工技術(shù)、PLC技術(shù)、變頻技術(shù)等。2008年后蔡老師將工作重心放在了圖書寫作上,編著的各類電工電子類圖書超過100本,開卷數(shù)據(jù)統(tǒng)計,蔡老師編著的電工電子類圖書全國銷量總碼洋常年排在前三列,開創(chuàng)單本銷量10萬冊以上的好成績。
第1章 STM32單片機基礎(chǔ)
1.1 STM32單片機簡介
1.1.1 什么是ARM
1.1.2 什么是STM32單片機
1.1.3 STM32單片機的型號含義
1.2 STM32單片機的最小系統(tǒng)電路
1.2.1 STM32F103C8T6單片機介紹
1.2.2 STM32單片機的最小系統(tǒng)電路
1.2.3 最小系統(tǒng)實驗電路板
1.3 程序的編寫與下載
1.3.1 用Keil MDK5軟件編寫和編譯程序
1.3.2 ST-Link下載調(diào)試器及驅(qū)動程序的安裝
1.3.3下載調(diào)試器與STM32單片機的連接
1.3.4 連接設(shè)置與下載程序
1.3.5 單片機電路板通電測試
1.4 單片機C語言基礎(chǔ)
1.4.1 常量
1.4.2變量
1.4.3 運算符
1.4.4 關(guān)鍵字
1.4.5 數(shù)組
1.4.6 指針
1.4.7 結(jié)構(gòu)體
1.4.8 枚舉
1.4.9 循環(huán)語句(while、do while、for語句)
1.4.10 選擇語句(if、switch…case語句)
第2章 STM32單片機的硬件系統(tǒng)
2.1單片機內(nèi)部結(jié)構(gòu)與最小系統(tǒng)電路
2.1.1單片機的引腳功能與最小系統(tǒng)電路
2.1.2單片機內(nèi)部結(jié)構(gòu)
2.2 存儲器的地址分配(映射)
2.2.1 存儲器的劃分與地址分配
2.2.2 寄存器的命名
2.2.3 基地址與偏移地址
2.3 GPIO端口電路
2.3.1 GPIO端口的基本電路結(jié)構(gòu)
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 端口輸入數(shù)據(jù)寄存器(GPIOx_IDR,x=A…G)
2.4.4 端口輸出數(shù)據(jù)寄存器(GPIOx_ODR,x=A…G)
2.4.5 端口置位/復(fù)位寄存器(GPIOx_BSRR,x=A…G)
2.4.6 端口清0寄存器(GPIOx_BRR,x=A…G)
2.4.7 端口配置鎖定寄存器(GPIOx_LCKR,x=A…G)
2.5時鐘系統(tǒng)與復(fù)位時鐘控制寄存器(RCC)
2.5.1時鐘信號的種類與分配
2.5.2 時鐘控制寄存器(RCC_CR)
2.5.3 時鐘配置寄存器(RCC_CFGR)
2.5.4 APB2外設(shè)復(fù)位寄存器 (RCC_APB2RSTR)
2.5.5 APB1外設(shè)復(fù)位寄存器 (RCC_APB1RSTR)
2.5.6 AHB外設(shè)時鐘使能寄存器 (RCC_AHBENR)
2.5.7 APB2外設(shè)時鐘使能寄存器 (RCC_APB2ENR)
2.5.8 APB1外設(shè)時鐘使能寄存器 (RCC_APB1ENR)
2.5.9 控制/狀態(tài)寄存器 (RCC_CSR)
第3章Keil軟件與寄存器方式編程閃爍點亮LED
3.1 Keil MDK軟件和芯片包的安裝
3.1.1 安裝Keil MDK5軟件
3.1.2 安裝芯片包
3.1.3 軟件的啟動
3.2 創(chuàng)建工程并導(dǎo)入程序文件
3.2.1 創(chuàng)建項目文件夾
3.2.2 查找并復(fù)制啟動文件
3.2.3 新建工程
3.2.4 新建程序文件
3.2.5 將程序文件導(dǎo)入工程
3.3用寄存器方式編寫閃爍點亮LED的程序
3.3.1 頭文件程序的編寫
3.3.2 頭文件的程序代碼說明
3.3.3 主程序文件(main.c)的編寫
3.3.4 主程序的程序代碼說明
3.3.5啟動文件說明
3.3.6 編譯程序
第4章 固件庫與庫函數(shù)方式編程閃爍點亮LED
4.1 STM32固件庫介紹
4.1.1 固件庫的組成
4.1.2 固件庫一些重要文件說明
4.1.3 固件庫幫助文件的使用
4.2 庫函數(shù)方式編程模板的創(chuàng)建
4.2.1 創(chuàng)建模板文件夾并拷貝需要的文件
4.2.2 創(chuàng)建工程
4.2.3 配置工程
4.2.4 編寫主程序模板
4.3 庫函數(shù)方式閃爍點亮LED工程的創(chuàng)建與編程
4.3.1 利用庫函數(shù)方式編程模板創(chuàng)建工程
4.3.2 在工程中新建一些文件
4.3.3 程序的編寫與說明
4.4位段(bit-band)訪問方式編程閃爍點亮LED
4.4.1 位段區(qū)與位段別名區(qū)
4.4.2 位段區(qū)字節(jié)的位的別名地址計算
4.4.3 新建工程和程序文件
4.4.4程序的編寫與說明
第5章 按鍵控制LED和蜂鳴器的電路與編程實例
5.1按鍵、LED、蜂鳴器及相關(guān)電路
5.1.1按鍵開關(guān)產(chǎn)生的抖動及解決方法
5.1.2發(fā)光二極管(LED)
5.1.3 蜂鳴器
5.2按鍵輸入控制LED和蜂鳴器的電路與程序說明
5.2.1電路及控制功能
5.2.2 創(chuàng)建按鍵輸入控制LED和蜂鳴器的工程
5.2.3 LED端口配置程序及說明
5.2.4 蜂鳴器端口配置程序及說明
5.2.5 按鍵端口配置、檢測程序及說明
5.2.6 主程序文件及說明
第6章 中斷的使用與編程實例
6.1 中斷基礎(chǔ)知識
6.1.1 什么是中斷
6.1.2中斷源與中斷優(yōu)先級
6.2 外部中斷/事件(EXTI)介紹
6.2.1外部中斷/事件控制器(EXTI)的組成框圖及說明
6.2.2 外部中斷/事件線路的分配
6.2.3 外部中斷的編程使用步驟
6.3 按鍵觸發(fā)中斷控制LED和蜂鳴器的編程與說明
6.3.1 創(chuàng)建按鍵觸發(fā)中斷控制LED和蜂鳴器的工程
6.3.2 中斷程序及說明
6.3.3 主程序及說明
第7章 定時器的使用與編程實例
7.1 SysTick定時器(系統(tǒng)定時器)
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輸出無級調(diào)節(jié)LED亮度的編程實例
第8章 USART串口通信與編程實例
8.1串行通信基礎(chǔ)知識
8.1.1 并行通信與串行通信
8.1.2 串行通信的兩種方式
8.1.3 串行通信的數(shù)據(jù)傳送方向
8.2 USART串口通信介紹
8.2.1 USART串口結(jié)構(gòu)及說明
8.2.2 USART中斷控制
8.2.3 USART串口通信的編程使用步驟
8.3 單片機USART串口與其他設(shè)備的連接通信電路
8.3.1帶有USART串口的兩臺設(shè)備的連接通信電路
8.3.2 單片機USART串口與計算機RS232C口的連接通信電路
8.3.3 單片機USART串口使用CH340芯片與計算機USB口連接的通信電路與驅(qū)動安裝
8.4 單片機USART串口與計算機通信收發(fā)數(shù)據(jù)的編程實例
8.4.1 編程實現(xiàn)的功能
8.4.2創(chuàng)建工程
8.4.3配置USART1串口的端口、參數(shù)、工作模式和中斷通道的程序及說明
8.4.4主程序及說明
8.4.5 計算機與單片機通信收發(fā)數(shù)據(jù)測試
8.5 用USART串口輸出printf函數(shù)指定格式的數(shù)據(jù)
8.5.1 printf函數(shù)介紹
8.5.2 printf函數(shù)輸出重定向為USART串口
8.5.3 用USART串口輸出printf函數(shù)指定格式數(shù)據(jù)的工程與程序說明
8.5.4直觀查看printf函數(shù)往USART串口輸出的數(shù)據(jù)
第9章 ADC(模數(shù)轉(zhuǎn)換器)的使用與編程實例
9.1 ADC基本原理與電路
9.1.1 ADC基本原理
9.1.2 ADC電路
9.2 單片機ADC的結(jié)構(gòu)與使用
9.2.1 ADC的結(jié)構(gòu)與工作過程
9.2.2 ADC的輸入通道與分組
9.2.3 ADC的啟動與觸發(fā)源選擇
9.2.4 ADC的轉(zhuǎn)換模式
9.2.5 ADC_CLK時鐘與通道采樣時間
9.2.6 數(shù)據(jù)寄存器與數(shù)據(jù)對齊方式
9.2.7 模擬看門狗(上限值和下限值)設(shè)置
9.2.8 ADC的編程使用步驟
9.3 用ADC檢測電壓并與計算機通信顯示電壓值的編程實例
9.3.1 ADC檢測電壓并與計算機通信的電路及說明
9.3.2創(chuàng)建工程
9.3.3配置USART1串口的程序及說明
9.3.4配置ADC的程序及說明
9.3.5主程序及說明
9.3.6 查看ADC轉(zhuǎn)換的電壓值
9.4單片機內(nèi)部溫度傳感器的使用與測溫編程實例
9.4.1單片機內(nèi)部溫度傳感器及溫度檢測電路
9.4.2 單片機內(nèi)部溫度傳感器檢測溫度并通信顯示溫度值的編程實例
9.4.3查看內(nèi)部溫度傳感器檢測的芯片溫度
第10章 DAC(數(shù)模轉(zhuǎn)換器)的使用與編程實例
10.1 DA轉(zhuǎn)換原理與過程
10.1.1 DA轉(zhuǎn)換基本原理
10.1.2 DA轉(zhuǎn)換過程
10.2 單片機DAC的結(jié)構(gòu)與使用
10.2.1 DAC的結(jié)構(gòu)與工作過程
10.2.2 DAC_CR控制寄存器說明
10.2.3 DAC使用的編程步驟
10.3 DAC轉(zhuǎn)換數(shù)據(jù)并通信顯示模擬電壓值的編程實例
10.3.1 DAC轉(zhuǎn)換數(shù)據(jù)并通信顯示模擬電壓值的電路及說明
10.3.2創(chuàng)建工程
10.3.3配置DAC的程序及說明
10.3.4主程序及說明
10.3.5 查看DA值與對應(yīng)的模擬電壓
第11章 光敏傳感器測光與DS18B20測溫的電路與編程實例
11.1 光敏傳感器的使用與測光編程實例
11.1.1光敏傳感器
11.1.2 光敏電阻器檢測亮度控制LED亮滅并與計算機通信的電路
11.1.3 光敏電阻器檢測亮度控制LED亮滅并通信顯示亮度值的程序及說明
11.2 DS18B20溫度傳感器的使用與測溫編程實例
11.2.1 DS18B20數(shù)字溫度傳感器
11.2.2 DS18B20檢測溫度控制LED亮滅并與計算機通信的電路
11.2.3 DS18B20檢測溫度控制LED亮滅并通信顯示溫度值的程序及說明
第12章 紅外線遙控與RTC實時時鐘的使用與編程實例
12.1 紅外線遙控收發(fā)裝置與遙控編碼方式
12.1.1 紅外線與可見光
12.1.2紅外線發(fā)射器與紅外線發(fā)光二極管
12.1.3紅外線光敏二極管與紅外線接收器
12.1.4 紅外遙控的編碼方式
12.2 紅外遙控LED亮滅并通信顯示接收碼的電路與編程實例
12.2.1 紅外遙控LED亮滅并通信顯示接收碼的電路
12.2.2 紅外遙控LED亮滅并通信顯示接收碼的程序及說明
12.3 RTC(實時時鐘)的使用與編程實例
12.3.1 RTC的結(jié)構(gòu)與工作原理
12.3.2 RTC使用的編程步驟
12.3.3 RTC控制LED亮滅并通信顯示時間的電路
12.3.4 RTC控制LED亮滅并通信顯示時間的程序及說明
第13章 RS485通信與CAN通信的原理與編程實例
13.1 RS485通信基礎(chǔ)
13.1.1 RS232、RS422和RS485通信標準的比較
13.1.2 RS485設(shè)備的通信連接
13.1.3 單片機TTL轉(zhuǎn)RS485電路
13.1.4 RS232/RS485轉(zhuǎn)換器與USB/RS485轉(zhuǎn)換器
13.2 單片機與計算機RS485通信的電路與編程實例
13.2.1單片機與計算機RS485通信的電路
13.2.2 單片機與計算機RS485通信的程序及說明
13.3 CAN(控制器局域網(wǎng)絡(luò))通信基礎(chǔ)
13.3.1 CAN 協(xié)議的特點
13.3.2 CAN協(xié)議的通信連接與電平規(guī)定
13.3.3 CAN協(xié)議的通信幀與數(shù)據(jù)幀
13.3.4 CAN的位時序與位采樣
13.3.5多節(jié)點同時發(fā)送的優(yōu)先仲裁
13.4 STM32單片機的CAN
13.4.1 特點
13.4.2 CAN組成及說明
13.4.3工作模式與相關(guān)寄存器
13.4.4測試模式與相關(guān)寄存器
13.4.5 位時序與波特率的計算
13.4.6 標識符過濾(報文選擇)
13.4.7 CAN中斷
13.4.8 CAN的編程使用步驟
13.5 按鍵控制CAN通信工作模式和數(shù)據(jù)發(fā)送的電路與編程實例
13.5.1按鍵控制CAN通信工作模式和數(shù)據(jù)發(fā)送的電路
13.5.2按鍵控制CAN通信的工作模式和數(shù)據(jù)發(fā)送的程序及說明
13.5.3 用串口調(diào)試助手查看CAN通信的工作模式和收發(fā)的數(shù)據(jù)
第14章 FSMC(存儲器控制器)與液晶顯示屏的使用與編程實例
14.1 FSMC的結(jié)構(gòu)與使用
14.1.1 FSMC結(jié)構(gòu)框圖與說明
14.1.2 FSMC連接管理的外部存儲器地址分配
14.1.3 FSMC連接NOR/PSRAM的引腳信號
14.1.4 FSMC訪問NOR/PSRAM的模式和時序
14.2 液晶顯示屏(TFT-LCD)結(jié)構(gòu)與顯示原理
14.2.1 液晶、偏光片與光通量控制
14.2.2單色液晶顯示屏的顯示電路及原理
14.2.3彩色液晶顯示屏的顯示電路及原理
14.2.4彩色濾光片的排列方式
14.2.5彩色液晶顯示屏的結(jié)構(gòu)
14.3 液晶顯示屏的通信接口、讀寫時序與驅(qū)動芯片操作指令
14.3.1 一種3.5寸液晶顯示屏介紹
14.3.2 液晶顯示屏的通信接口與讀寫時序
14.3.3 LCD驅(qū)動芯片IL9341的顯存(GRAM)
14.3.4 IL9341芯片的常用操作指令
14.4 FSMC控制液晶屏顯示圖像的電路與編程實例
14.4.1 STM32單片機連接液晶顯示屏的電路
14.4.2創(chuàng)建FSMC控制液晶屏顯示圖像的工程
14.4.3 提取圖像的像素顏色數(shù)據(jù)
14.4.4 配置FSMC和讀寫LCD控制器的程序及說明
14.4.5 主程序及說明
14.4.6查看程序運行時液晶屏顯示的圖像