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