嵌入式技术及应用

嵌入式技术及应用
作 者: 陈祥生
出版社: 中国铁道出版社
丛编项: “十三五”高等职业教育规划教材
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  陈祥生,安徽岳西人,安徽财贸职业学院电子教研室主任,副教授,2003年到高校任教以来,一直从事单片机、嵌入式等课程教学。指导学生参加全国职业院校技能大赛多次获得国赛一等奖、二等奖、三等奖等奖项,并获得全国优秀指导教师称号。主持省级课题4项,校级课题10余项。

内容简介

本书共分16章,主要内容包括:嵌入式系统概述、STM32嵌入式C语言编程特点、STM32嵌入式开发基础知识,并以STM32的片上外设、常用外围器件及典型应用等为主体,设计了11个实践项目、1个阶段项目和1个综合项目,以及13个拓展项目。相关的知识点配有二维码,读者可以扫描二维码在线观看视频。

图书目录

1.1 从单片机到嵌入式系统 1

1.1.1 单片机系统 1

1.1.2 嵌入式系统 2

1.2 精简指令集计算机与复杂指令集计算机 5

1.3 普林斯顿结构和哈佛结构 6

1.3.1 普林斯顿结构 6

1.3.2 哈佛结构 8

1.4 ARM公司及其微处理器 8

1.4.1 ARM公司简介 9

1.4.2 ARM的产品体系 10

1.4.3 ARM Cortex-M系列处理器 12

1.5 STM32F103系列微控制器 13

2.1宏指令的使用及其意义 17

2.2 STM32嵌入式C语言编程中几个重要的关键字 21

2.3 STM32嵌入式C语言编程的基本数据类型 22

2.4 结构体与结构体指针 24

2.5 枚举 25

2.6 C语言编程的代码格式 26

3.1 CMSIS与STM32标准外设库 28

3.1.1 ARM Cortex微控制器软件接口标准CMSIS 28

3.1.2 STM32标准外设库 29

3.1.3 STM32标准外设库的命名规则 33

3.2 STM32嵌入式开发板简介 35

3.3 仿真器 35

3.3.1 仿真器的分类 36

3.3.2 JTAG和SWD接口 37

3.4 软件集成开发环境 38

3.5 新建工程模板 39

3.5.1 新建本地文件夹 39

3.5.2 在MDK中新建项目 40

3.5.3 MDK工程项目配置 41

3.5.4 编译和下载程序 44

4.1 相关知识 47

4.1.1 STM32芯片架构 47

4.1.2 存储器映射 49

4.1.3 寄存器映射 51

4.1.4 GPIO 简介 56

4.2 项目实施 56

4.2.1 硬件电路实现 56

4.2.2 程序设计思路 56

4.2.3 程序代码分析 57

4.3 拓展项目1——LED流水灯 60

4.3.1 拓展项目1要求 60

4.3.2 拓展项目1实施 60

5.1 相关知识 63

5.1.1 GPIO的基本结构 63

5.1.2 GPIO的工作模式 64

5.1.3 GPIO的初始化及标准外设库函数 66

5.1.4 STM32F10x微控制器的系统时钟 66

5.2 项目实施 70

5.2.1 硬件电路实现 70

5.2.2 程序设计思路 70

5.2.3程序代码分析 71

5.3 拓展项目2——按键控制LED流水灯 74

5.3.1 拓展项目2要求 74

5.3.2 拓展项目2实施 74

6.1 相关知识 77

6.1.1 STM32F10x微控制器的位带 77

6.1.2 LCD12864基础 80

6.1.3 数码管显示原理 82

6.2 项目实施 83

6.2.1 硬件电路实现 83

6.2.2 程序设计思路 83

6.2.3 程序代码分析 83

6.3 拓展项目3——数码管显示 89

6.3.1 拓展项目3要求 89

6.3.2 拓展项目3实施 89

7.1 相关知识 94

7.1.1 STM32F10x微控制器的中断控制器 94

7.1.2 STM32F10x微控制器的外部中断 97

7.1.3 外部中断编程涉及的标准外设库函数 100

7.2 项目实施 101

7.2.1 硬件电路实现 101

7.2.2 程序设计思路 102

7.2.3 程序代码分析 103

7.3 拓展项目4——中断按键控制流水灯 108

7.3.1 拓展项目4要求 108

7.3.2 拓展项目4实施 108

8.1 相关知识 110

8.1.1 SysTick定时器 110

8.1.2 SysTick的相关寄存器及函数 111

8.1.3 利用SysTick定时器实现精确延时 112

8.2 项目实施 114

8.2.1 硬件电路实现 114

8.2.2 程序设计思路 114

8.2.3 程序代码分析 115

8.3 拓展项目5——数码管显示倒计时 119

8.3.1 拓展项目5要求 119

8.3.2 拓展项目5实施 119

9.1 相关知识 124

9.1.1 前后台系统与实时操作系统 124

9.1.2 状态机编程思想 126

9.1.3 状态机编程的实现方法 128

9.2 项目实施 130

9.2.1 硬件电路实现 130

9.2.2 程序设计思路 131

9.2.3 程序代码分析 132

9.3 拓展项目6——简易时钟 139

9.3.1 拓展项目6要求 139

9.3.2 拓展项目6实施 139

10.1 相关知识 142

10.1.1 通信的相关概念 142

10.1.2 异步串行通信协议 145

10.1.3 STM32的同步/异步收发器(USART) 146

10.1.4 STM32微控制器的USART编程涉及的标准外设库函数 148

10.2 项目实施 149

10.2.1 硬件电路实现 149

10.2.2 程序设计思路 149

10.2.3 程序代码分析 151

10.2.4 使用串口调试助手验证实验现象 156

10.3 拓展项目7——双机互控LED灯 157

10.3.1 拓展项目7要求 157

10.3.2 拓展项目7实施 157

11.1 相关知识 159

11.1.1 模/数转换过程 159

11.1.2 模/数转换的技术指标 161

11.1.3 逐次逼近型ADC 161

11.1.4 STM32微控制器的ADC模块 163

11.1.5 STM32微控制器的ADC编程涉及的标准外设库函数 167

11.2 项目实施 167

11.2.1 硬件电路实现 167

11.2.2 程序设计思路 168

11.2.3 程序代码分析 168

11.3 拓展项目8——利用规则通道检测芯片温度 173

11.3.1 拓展项目8要求 173

11.3.2 拓展项目8实施 173

12.1 相关知识 177

12.1.1 DMA的基本概念 177

12.1.2 STM32F10x微控制器的DMA 178

12.1.3 DMA控制器编程涉及的标准外设库函数 182

12.2 项目实施 183

12.2.1 硬件电路实现 183

12.2.2 程序设计思路 183

12.2.3 程序代码分析 184

12.3 拓展项目9——M2M数据传输 190

12.3.1 拓展项目9要求 190

12.3.2 拓展项目9实施 190

13.1 相关知识 194

13.1.1 STM32F10x微控制器的定时器资源 194

13.1.2 STM32F10x微控制器的定时器 195

13.1.3 STM32F103ZE定时器的输入/输出引脚 198

13.1.4 STM32F103定时器的输入/输出通道 199

13.1.5 定时器编程涉及的标准外设库函数 203

13.2 项目实施 204

13.2.1 硬件电路实现 204

13.2.2 程序设计思路 204

13.2.3 程序代码分析 205

13.3 拓展项目10——PWM实现呼吸灯 209

13.3.1 拓展项目10要求 209

13.3.2 拓展项目10实施 209

14.1 相关知识 214

14.1.1 彩色LCD显示与控制的基本原理 214

14.1.2 彩色LCD显示器的图形显示方法 216

14.1.3 字符汉字的编码与字模 218

14.1.4 STM32F103微控制器的FSMC 221

14.1.5 电阻触摸屏的工作原理 223

14.1.6 彩色LCD及触摸屏的驱动函数 224

14.2 项目实施 225

14.2.1 硬件电路实现 225

14.2.2 程序设计思路 226

14.2.3 程序代码分析 226

14.3 拓展项目11——触摸屏画板 235

14.3.1 拓展项目11要求 235

14.3.2 拓展项目11实施 235

15.1 相关知识 236

15.1.1 嵌入式操作系统简介 237

15.1.2 礐/OS-III的体系结构 239

15.1.3 礐/OS-III的任务管理 239

15.1.4 移植礐/OS-III到STM32F103 242

15.1.5 礐/OS-III编程与裸机编程的区别 244

15.2 项目实施 246

15.2.1 硬件电路实现 246

15.2.2 程序设计思路 247

15.2.3 程序代码分析 247

15.3 拓展项目12——多传感器参数检测系统 251

15.3.1 拓展项目12要求 251

15.3.2 拓展项目12实施 251

16.1 相关知识 253

16.1.1 嵌入式电子产品设计的一般步骤 253

16.1.2 温湿度传感器及其驱动 255

16.1.3 RTC实时时钟 260

16.1.4 ESP8266模块 263

16.1.5 BH1750FVI光照强度传感器 264

16.1.6 直流电动机调速控制原理及其驱动 265

16.1.7 步进电动机控制原理及其驱动 265

16.1.8 原子云平台 266

16.2 项目实施 268

16.2.1 硬件电路实现 268

16.2.2 程序设计思路 268

16.2.3 程序代码分析 269

16.3 拓展项目13——智能风扇控制器的设计 272

16.3.1 拓展项目13要求 272

16.3.2 拓展项目13实施 272

附录A 标准ASCII码对照表 274

附录B 图形符号对照表 276