本书以STM32F103XX晶片为例,对车载ARM嵌入式系统进行了详细的介绍。
全书共8章,按内容讲解的难度不同划分为3篇:基础篇主要介绍有关车载ARM嵌入式系统的基础知识,包括STM32F103XX晶片的系统资源、工作平台、基本语法指令等内容。
基本介绍
- 书名:ARM嵌入式开发实例——基于STM32的系统设计
- 作者:肖广兵
- ISBN:9787121200533
- 出版社:电子工业出版社
- 出版时间:2013-04-21
图书内容
本书以STM32F103XX晶片为例,对车载ARM嵌入式系统进行了详细的介绍。
全书共8章,按内容讲解的难度不同划分为3篇:基础篇主要介绍有关车载ARM嵌入式系统的基础知识,包括STM32F103XX晶片的系统资源、工作平台、基本语法指令等内容。
提高篇主要介绍ARM嵌入式系统在实际工程项目中的初步套用,从GPIO接口模组、ADC模数转换模组、TIMER定时器等方面进行详细介绍,并着重分析了ARM嵌入式系统硬体资源的使用。综合篇主要是对前两篇所有基础知识的总结和套用,着重介绍ARM嵌入式系统在车辆中的套用,并给出了相应的程式设计代码。
目 录
基础篇
第1章 初识ARM嵌入式系统 (1)
1.1 ARM嵌入式系统简介 (2)
1.1.1 ARM嵌入式的发展历程及其套用 (2)
1.1.2 ARM嵌入式的性能特性 (4)
1.1.3 ARM嵌入式系统的开发要点 (5)
1.1.4 常用车载ARM嵌入式晶片STM32F103XX (7)
1.2 ARM嵌入式系统的开发环境 (8)
1.2.1 Keil MDK简介 (9)
1.2.2 Keil MDK开发步骤 (11)
1.3 ARM嵌入式系统的硬体构成 (16)
1.3.1 ARM嵌入式处理器结构 (17)
1.3.2 ARM嵌入式处理器中的指令 (18)
1.3.3 ARM硬体配置 (18)
1.4 ARM嵌入式系统开发实例——车载嵌入式晶片STM32F103XX (19)
1.4.1 系统资源与性能参数 (20)
1.4.2 系统硬体设计 (22)
1.4.3 系统外围接口 (23)
第2章 ARM指令系统 (25)
2.1 ARM指令系统简介 (26)
2.1.1 ARM彙编语言的基本语法 (27)
2.1.2 ARM彙编指令中的后缀 (29)
2.1.3 ARM彙编指令的书写格式 (30)
2.2 ARM指令集的基本概念 (31)
2.2.1 ARM指令的基本格式 (31)
2.2.2 ARM指令中的条件执行 (33)
2.2.3 ARM指令中的S标誌 (35)
2.3 ARM指令集的类型 (36)
2.3.1 跳转指令 (36)
2.3.2 算术运算指令 (42)
2.3.3 逻辑运算指令 (54)
2.3.4 存储器访问指令 (59)
2.3.5 数据传送指令 (61)
2.3.6 协处理器指令 (64)
2.3.7 异常中断产生指令 (68)
2.3.8 ARM指令小结 (69)
2.4 Thumb指令集 (69)
2.4.1 Thumb指令的基本概念 (70)
2.4.2 Thumb指令集的结构 (70)
2.4.3 Thumb状态下的暂存器 (71)
2.4.4 Thumb指令集的类型 (72)
2.4.5 Thumb指令小结 (72)
第3章 STM32技术基础 (73)
3.1 STM32F103XX系统简介 (74)
3.1.1 STM32F103XX系列处理器晶片 (74)
3.1.2 STM32F103XX器件信息 (76)
3.2 STM32F103XX引脚信息 (77)
3.3 STM32F103XX的内部结构 (77)
3.3.1 STM32F103XX晶片总体结构 (83)
3.3.2 STM32F103XX片上Flash程式存储器 (83)
3.3.3 STM32F103XX片内静态RAM (84)
3.4 STM32F103XX存储器映射 (84)
3.4.1 存储系统中的大/小端配置 (84)
3.4.2 系统存储器的映射 (85)
3.4.3 系统存储器的访问属性 (86)
3.4.4 系统存储器的地址重映射 (88)
3.4.5 系统存储中止的异常 (89)
3.5 STM32F103XX的系统控制模组 (89)
3.5.1 晶体振荡器 (90)
3.5.2 外部中断输入 (92)
3.5.3 系统的启动模式 (93)
3.5.4 系统锁相环PLL (93)
3.5.5 系统休眠与低功耗 (94)
3.5.6 系统复位 (98)
3.5.7 系统时钟分频 (99)
3.5.8 系统掉电检测与控制 (100)
3.6 STM32F103XX向量中断控制器 (100)
3.6.1 中断的概念与类型 (101)
3.6.2 外部中断/事件控制器的特点与结构 (102)
3.6.3 EXTI的暂存器 (104)
3.6.4 中断的处理过程 (107)
提高篇
第4章 STM32F103XX程式设计 (108)
4.1 STM32F103XX处理器的彙编程式开发框架 (109)
4.1.1 ARM彙编语言中的代码程式段 (110)
4.1.2 ARM彙编语言中的数据程式段 (111)
4.1.3 ARM彙编语言中的宏定义 (111)
4.1.4 ARM彙编语言中的符号数据 (112)
4.2 STM32F103XX处理器的数据操作 (114)
4.2.1 C语言中的数据类型 (114)
4.2.2 C语言中数据的输入/输出格式 (115)
4.2.3 C语言中变数和常量 (118)
4.2.4 C语言中的整型数据 (120)
4.2.5 C语言中的实型数据 (123)
4.2.6 C语言中的字元型数据 (126)
4.2.7 C语言中的字元串常量 (132)
4.2.8 不同类型数据之间的混合运算 (133)
4.3 STM32F103XX处理器的数据运算 (134)
4.3.1 ARM程式代码中的算术运算符 (135)
4.3.2 算术运算符的优先权和结合性 (136)
4.3.3 数据类型的强制转换 (137)
4.3.4 自增与自减操作 (138)
4.3.5 赋值运算符和赋值表达式 (140)
4.3.6 逗号运算符 (142)
4.4 STM32F103XX的流程控制语句 (143)
4.4.1 ARM中的if条件判断语句 (143)
4.4.2 ARM中的switch分支选择语句 (146)
4.4.3 ARM中的循环控制语句 (150)
第5章 STM32F103XX功能模组(1) (155)
5.1 ARM处理器的选型与功能模组 (156)
5.1.1 ARM处理器的性能参数 (156)
5.1.2 ARM处理器的外部接口 (157)
5.1.3 ARM处理器的晶片封装 (158)
5.1.4 STM32F103XX系列ARM处理器 (160)
5.2 GPIO接口模组 (162)
5.2.1 GPIO引脚特性 (162)
5.2.2 GPIO引脚描述 (162)
5.2.3 GPIO引脚函式馆 (164)
5.2.4 GPIO的硬体电路 (172)
5.2.5 基础实验一:汽车安全带报警指示灯与蜂鸣器实验 (174)
5.3 ADC(模数转换)模组 (179)
5.3.1 ADC特性 (179)
5.3.2 ADC引脚的描述 (180)
5.3.3 ADC库函式 (182)
5.3.4 ADC硬体电路 (192)
5.3.5 基础实验二:汽车发动机水温测量系统实验 (194)
5.4 EXTI中断模组 (208)
5.4.1 外部中断/事件的分类 (208)
5.4.2 外部中断/事件的结构 (210)
5.4.3 外部中断/事件的执行顺序与嵌套 (211)
5.4.4 外部中断/事件的选择 (213)
5.4.5 外部中断/事件库函式 (214)
5.4.6 外部中断/事件硬体电路 (221)
5.4.7 基础实验三:汽车紧急制动实验 (223)
5.5 高级控制定时器TIM1 (230)
5.5.1 TIM1的结构特性 (231)
5.5.2 TIM1的功能 (232)
5.5.3 TIM1的控制暂存器 (239)
5.5.4 TIM1库函式的功能说明 (244)
5.5.5 基础实验四:PWM驱动汽车灯光照明实验 (251)
5.6 通用定时器TIMx (257)
5.6.1 TIMx的结构特性 (258)
5.6.2 TIMx的功能 (259)
5.6.3 TIMx的控制暂存器 (263)
5.6.4 基础实验五:汽车轮胎压力检测实验 (267)
第6章 STM32F103XX功能模组(2) (275)
6.1 实时时钟模组 (276)
6.1.1 RTC实时时钟的功能特性 (276)
6.1.2 RTC实时时钟的结构 (277)
6.1.3 RTC暂存器的操作方式 (278)
6.1.4 RTC实时时钟的暂存器 (280)
6.1.5 RTC实时时钟的库函式 (281)
6.1.6 基础实验一:车载时钟与电子日曆 (290)
6.2 看门狗WatchDog模组 (299)
6.2.1 STM32系列处理器中的看门狗 (300)
6.2.2 独立看门狗的功能特性 (300)
6.2.3 独立看门狗的暂存器 (301)
6.2.4 独立看门狗的库函式 (302)
6.2.5 视窗看门狗的功能特性 (306)
6.2.6 视窗看门狗的暂存器 (308)
6.2.7 视窗看门狗的库函式 (309)
6.2.8 基础实验二:基于秒中断的新能源汽车电池SOC值的检测实验 (313)
6.3 USART串口通信模组 (318)
6.3.1 USART的功能特性 (320)
6.3.2 USART的字元描述 (321)
6.3.3 USART的传送器 (322)
6.3.4 USART的接收器 (324)
6.3.5 USART的中断请求 (327)
6.3.6 USART的暂存器 (328)
6.3.7 USART的库函式 (329)
6.3.8 基础实验三:汽车轮速检测实验 (343)
6.4 CAN通信模组 (349)
6.4.1 CAN的功能结构 (350)
6.4.2 CAN的运行模式 (351)
6.4.3 CAN的功能描述 (353)
6.4.4 CAN的暂存器 (360)
6.4.5 CAN的库函式 (362)
6.4.6 基础实验四:基于CAN通信的车载电动机冷控实验 (380)
综合篇
第7章 STM32F103XX内部资源的C编程实例 (385)
7.1 基于STM32F103XX的车载温/湿度检测仪的设计 (386)
7.1.1 项目内容的概述 (386)
7.1.2 项目需求分析 (390)
7.2 系统硬体电路设计 (391)
7.2.1 系统电源设计 (391)
7.2.2 感测电路及运放电路的设计 (395)
7.2.3 DS18B20数字式温度感测器的电路设计 (397)
7.2.4 SHTXX数字式湿度感测器的电路设计 (398)
7.2.5 串口通信与BOOT启动电路的设计 (400)
7.2.6 人机互动界面 (401)
7.3 系统软体工程的设计 (403)
第8章 STM32F103XX外部接口的C编程实例 (406)
8.1 基于TFT触控萤幕的汽车故障线上检测诊断教学平台设计 (407)
8.1.1 项目内容概述 (407)
8.1.2 项目需求分析 (408)
8.2 系统硬体电路设计 (411)
8.2.1 系统电源设计 (411)
8.2.2 系统逻辑控制电路设计 (414)
8.2.3 TFT LCD触控萤幕电路设计 (416)
8.2.4 串口通信电路与JTAG电路 (419)
8.3 系统软体工程设计 (420)