第1章嵌入式系統(tǒng)概述
1.1單片機(jī)概述
1.1.1單片機(jī)的定義
1.1.2單片機(jī)與PC的對(duì)比
1.2嵌入式系統(tǒng)
1.3ARM是什么
1.3.1ARM公司簡(jiǎn)介
1.3.2ARM架構(gòu)、ARM內(nèi)核與ARM單片機(jī)
1.3.3ARM CortexM3內(nèi)核概述
第2章STM32F103單片機(jī)概述
2.1單片機(jī)的手冊(cè)
2.2STM32F103單片機(jī)體系結(jié)構(gòu)概述
2.2.1ARM CortexM3內(nèi)核
2.2.2STM32F103單片機(jī)系統(tǒng)架構(gòu)
2.3什么是CMSIS
2.4STM32固件庫(kù)
基礎(chǔ)篇
第3章嵌入式程序設(shè)計(jì)中的C語(yǔ)言
3.1整型
3.1.1整型的位寬
3.1.2訪問(wèn)硬件模塊的寄存器
3.2volatile關(guān)鍵字
3.2.1C語(yǔ)言編譯器的優(yōu)化功能
3.2.2用volatile關(guān)鍵字避免優(yōu)化
3.3結(jié)構(gòu)體數(shù)據(jù)類型
3.3.1struct關(guān)鍵字
3.3.2訪問(wèn)單片機(jī)片上外設(shè)寄存器
3.4枚舉數(shù)據(jù)類型
3.5static關(guān)鍵字
3.5.1靜態(tài)全局變量
3.5.2靜態(tài)局部變量
3.5.3靜態(tài)函數(shù)
3.6宏定義
3.7條件編譯與頭文件
3.7.1條件編譯指令
3.7.2頭文件
3.8變量在哪里
3.8.1堆、棧和靜態(tài)區(qū)
3.8.2單片機(jī)中變量的存儲(chǔ)空間分配
第4章第一個(gè)STM32 項(xiàng)目
4.1開(kāi)發(fā)環(huán)境與所需硬件
4.1.1搭建開(kāi)發(fā)環(huán)境
4.1.2所需硬件
4.1.3所需工具
4.2創(chuàng)建第一個(gè)項(xiàng)目
4.3下載與調(diào)試程序
4.3.1安裝仿真器驅(qū)動(dòng)
4.3.2在Keil軟件中配置仿真器
4.3.3編譯下載程序
4.3.4Debug調(diào)試程序
第5章深入了解項(xiàng)目模板
5.1啟動(dòng)文件的作用
5.1.1定義棧和堆
5.1.2定義中斷向量表
5.1.3定義復(fù)位中斷子程序
5.2單片機(jī)的時(shí)鐘初始化
5.3stm32f10x.h頭文件的作用
5.4項(xiàng)目中的文件管理
5.4.1CMSIS固件庫(kù)文件
5.4.2項(xiàng)目中的系統(tǒng)文件
5.4.3項(xiàng)目中的用戶文件
第6章按鍵與小燈的控制GPIO模塊
6.1GPIO的輸入/輸出模式
6.1.1小燈與GPIO輸出模式
6.1.2按鍵與GPIO輸入模式
6.2GPIO的編程操作
6.2.1GPIO寄存器
6.2.2GPIO庫(kù)函數(shù)
6.2.3GPIO的按位操作位帶別名區(qū)
6.3應(yīng)用實(shí)例8段LED顯示控制
6.3.1一位8段LED顯示控制
6.3.2多位8段LED顯示控制
6.4IO引腳的電氣特性
6.4.1TTL電平
6.4.2CMOS電平
6.4.3IO引腳的電氣特性
6.4.4IO引腳控制外設(shè)
6.5IO引腳的復(fù)用功能AFIO
6.5.1IO引腳的復(fù)用功能
6.5.2AFIO重映射功能的編程操作
6.5.3調(diào)試端口的重映射功能
第7章秒表的實(shí)現(xiàn)基本定時(shí)器
7.1定時(shí)器原理概述
7.2基本定時(shí)器的工作原理
7.2.1基本定時(shí)器的結(jié)構(gòu)
7.2.2基本定時(shí)器的時(shí)鐘源
7.2.3基本定時(shí)器的計(jì)數(shù)模式
7.2.4定時(shí)時(shí)間的計(jì)算
7.2.5ARR寄存器的預(yù)裝載功能
7.3基本定時(shí)器的編程操作
7.3.1TIM6、TIM7的相關(guān)寄存器
7.3.2基本定時(shí)器的相關(guān)庫(kù)函數(shù)
7.4秒表的設(shè)計(jì)與實(shí)現(xiàn)
7.4.1秒表功能分析
7.4.2硬件選型
7.4.3硬件設(shè)計(jì)
7.4.4軟件設(shè)計(jì)
第8章中斷及中斷管理器NVIC
8.1中斷基本概念
8.1.1中斷的定義
8.1.2中斷向量表
8.1.3中斷優(yōu)先級(jí)與中斷嵌套
8.2STM32單片機(jī)的中斷管理
8.2.1中斷源與中斷向量表
8.2.2內(nèi)核中開(kāi)放/禁止中斷
8.2.3中斷控制器NVIC
8.3中斷處理過(guò)程及相關(guān)接口庫(kù)
8.3.1片上硬件中斷處理過(guò)程
8.3.2中斷處理庫(kù)函數(shù)總結(jié)
8.4應(yīng)用實(shí)例中斷方式實(shí)現(xiàn)秒表計(jì)時(shí)
8.4.1定時(shí)器的更新中斷
8.4.2中斷機(jī)制實(shí)現(xiàn)計(jì)時(shí)
第9章按鍵觸發(fā)中斷EXTI模塊
9.1外部中斷/事件模塊EXTI
9.1.1EXTI功能
9.1.2EXTI寄存器
9.1.3EXTI的相關(guān)庫(kù)函數(shù)
9.1.4EXTI初始化步驟及中斷響應(yīng)過(guò)程
9.2設(shè)計(jì)實(shí)例中斷方式處理秒表按鍵
9.2.1分段計(jì)時(shí)功能
9.2.2硬件設(shè)計(jì)
9.2.3軟件設(shè)計(jì)
提高篇
第10章讓小車跑起來(lái)PWM調(diào)速
10.1通用定時(shí)器的基本定時(shí)功能
10.1.1通用定時(shí)器概述
10.1.2通用定時(shí)器的時(shí)鐘源
10.1.3通用定時(shí)器的計(jì)數(shù)模式
10.1.4通用定時(shí)器的從模式
10.1.5相關(guān)寄存器
10.1.6相關(guān)庫(kù)函數(shù)
10.1.7設(shè)計(jì)實(shí)例檢測(cè)信號(hào)頻率
10.2通用定時(shí)器的PWM輸出模式
10.2.1PWM信號(hào)
10.2.2捕獲比較通道
10.2.3PWM輸出模式
10.2.4相關(guān)寄存器
10.2.5相關(guān)庫(kù)函數(shù)
10.3電動(dòng)機(jī)驅(qū)動(dòng)芯片L298N
10.3.1直流電動(dòng)機(jī)驅(qū)動(dòng)模塊L298N
10.3.2單片機(jī)控制L298N
10.4應(yīng)用實(shí)例小車設(shè)計(jì)
10.4.1小車的硬件設(shè)計(jì)
10.4.2小車的軟件設(shè)計(jì)
實(shí)踐篇
第11章避障小車超聲波測(cè)距
11.1超聲波測(cè)距原理
11.1.1基本原理
11.1.2HCSRF05測(cè)距模塊
11.1.3單片機(jī)控制超聲波測(cè)距模塊
11.2通用定時(shí)器的輸入捕獲功能
11.2.1輸入捕獲的基本原理
11.2.2相關(guān)寄存器
11.2.3相關(guān)庫(kù)函數(shù)
11.2.4應(yīng)用實(shí)例捕獲方式實(shí)現(xiàn)測(cè)距
11.3嘀嗒定時(shí)器實(shí)現(xiàn)定時(shí)測(cè)距
11.3.1嘀嗒定時(shí)器
11.3.2嘀嗒定時(shí)器的寄存器
11.3.3相關(guān)庫(kù)函數(shù)
11.3.4嘀嗒定時(shí)器實(shí)現(xiàn)定時(shí)測(cè)距
第12章遙控小車藍(lán)牙遙控
12.1藍(lán)牙技術(shù)
12.1.1發(fā)展歷史
12.1.2基本特性
12.2HC05藍(lán)牙模塊
12.2.1功能概述
12.2.2工作原理
12.2.3AT命令
12.2.4PC串口配置藍(lán)牙模塊
12.3UART串口通信
12.3.1串口通信基本概念
12.3.2UART模塊概述
12.3.3相關(guān)寄存器
12.3.4相關(guān)庫(kù)函數(shù)
12.4應(yīng)用實(shí)例
12.4.1單片機(jī)與PC之間的串口通信
12.4.2單片機(jī)與手機(jī)之間的藍(lán)牙通信
第13章智能小車設(shè)計(jì)方案分析
13.1避障小車設(shè)計(jì)方案
13.1.1小車功能規(guī)劃
13.1.2硬件選型
13.1.3硬件設(shè)計(jì)分析
13.1.4軟件設(shè)計(jì)分析
13.2遙控小車設(shè)計(jì)方案
13.2.1小車功能規(guī)劃
13.2.2硬件需求分析
13.2.3硬件設(shè)計(jì)分析
13.2.4軟件設(shè)計(jì)分析
習(xí)題
參考文獻(xiàn)