《嵌入式系统原理及设计》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:毕盛,张齐编著
  • 出 版 社:广州:华南理工大学出版社
  • 出版年份:2018
  • ISBN:9787562355502
  • 页数:301 页
图书介绍:本书是以ARM Cortex-M3内核的意法半导体公司(ST 公司)ST32F103系列微控制器为蓝本来讲述嵌入式开发的书籍。全书共14章,其中第1章嵌入式系统概述,主要讲解嵌入式系统的基本知识和发展;第2章 ARM芯片及体系架构,主要讲解了ARM芯片分类、特点和汇编语言;第3章,STM32微控制器及最小系统,对微控制器最基本正常运行的条件进行讲解;第4章STM32库函数及程序开发,对程序开发方式和环境进行介绍;第5章到第12章,分别对微控制器常见的GPIO(通用输入输出口)、中端、串行通信、定时器、ADC(模数转换)、DMA(直接内存存取)、总线、并行接口及USB接口进行了讲解,并提供相应的实例;第13章μC/OS-II嵌入式操作系统,主要讲解实时操作系统、μC/OS-II操作系统的移植,以及重点讲述了μC/OS-II内核相关的函数以及功能;第14章综合设计实例,通过一个智能小车的实例,说明嵌入式系统综合实例的实现过程,主要包括 嵌入式系统开发流程、智能小车功能说明、硬件设计及实现、控制算法设计及实现、软件设计及实现和基于μC/OS-Ⅱ嵌入式操作系统设计及实现内容。

第1章 嵌入式系统概述 1

1.1嵌入式系统简介 1

1.1.1嵌入式系统的定义 2

1.1.2嵌入式系统的特点 2

1.2嵌入式系统芯片 3

1.2.1嵌入式微控制器(Microcontroller Unit, MCU) 3

1.2.2嵌入式微处理器(Microprocessor Unit, MPU) 5

1.2.3嵌入式数字信号处理器(Digital Singnal Processing, DSP) 6

1.2.4嵌入式片上系统(System on Chip, SOC) 7

1.3嵌入式系统硬件和软件系统基本组成 8

1.3.1嵌入式系统硬件基本组成 8

1.3.2嵌入式系统软件系统 11

1.4嵌入式系统开发 12

1.4.1嵌入式系统芯片选型 12

1.4.2嵌入式系统硬件设计 13

1.4.3嵌入式软件开发及编译 14

1.4.4嵌入式系统下载及调试 14

1.5嵌入式系统应用及发展趋势 16

1.5.1各种嵌入式系统芯片的特点 16

1.5.2嵌入式系统芯片的发展趋势 18

第2章ARM芯片及体系架构 20

2.1 ARM芯片主要类别 20

2.2 ARM处理器体系结构 23

2.2.1 ARM处理器体系结构 23

2.2.2 ARM处理器体系结构关系 25

2.3 ARM Cortex-M3简介 27

2.3.1 Cortex-M3功能说明 27

2.3.2 Cortex-M3的总线接口 28

2.3.3寄存器组说明 29

2.3.4操作模式和特权级别 31

2.3.5存储器映射 32

2.3.6流水线 33

2.3.7异常和中断 33

2.3.8存储器保护单元(MPU) 34

2.4 ARM指令汇编 35

2.4.1汇编寻址方式 35

2.4.2 ARM汇编语言 37

第3章STM32微控制器及最小系统 48

3.1 STM32微控制器概述 48

3.1.1 STM32微控制器系列 48

3.1.2 STM32内部资源 49

3.1.3 STM32芯片官方手册 50

3.2 STM32存储及启动 51

3.2.1 STM32总线及存储区映射 51

3.2.2 STM32启动设置 54

3.3 STM32最小系统 56

3.3.1电源 56

3.3.2复位 58

3.3.3时钟源 59

3.3.4最小化系统 61

3.4低功耗模式 62

第4章STM32库函数及程序开发 64

4.1 STM32固件库 64

4.1.1 STM32库结构 64

4.1.2 STM32固件库文件间关系 68

4.2搭建开发环境及程序开发 69

4.2.1搭建开发环境 69

4.2.2程序开发 69

4.2.3时钟设定程序说明 72

4.2.4程序调试和下载 76

第5章GPIO接口 84

5.1 GPIO结构及特点 84

5.1.1 GPIO功能模式 85

5.1.2 GPIO特点 86

5.2 GPIO寄存器和库函数 87

5.2.1 GPIO寄存器 87

5.2.2 GPIO库函数 88

5.3 GPIO应用实例 91

5.3.1按钮控制LED实例 91

5.3.2数码管显示实例 96

5.3.3行列式键盘扫描实例 101

第6章STM32中断 105

6.1 STM32中断通道 106

6.2嵌套向量中断控制器(Nested Vectored Interrupt Controller, NVIC) 109

6.2.1 NVIC寄存器 109

6.2.2系统控制寄存器组(SCB) 110

6.2.3中断和异常处理 111

6.2.4 STM32中断优先级 112

6.2.5 NVIC配置过程 113

6.3 EXTI外部中断 116

6.3.1 EXTI硬件结构 116

6.3.2 EXTI寄存器 118

6.3.3 AFIO寄存器 119

6.3.4 EXTI库函数 121

6.3.5 EXTI中断操作过程 122

6.4 EXTI中断应用实例 122

第7章 串行通信 125

7.1通用同步异步收发器(USART) 126

7.1.1 USART概述 126

7.1.2 USART帧格式 128

7.1.3 USART寄存器 129

7.1.4 USART库函数 130

7.2 USART操作 131

7.2.1 USART发送与接收 131

7.2.2硬件流控制 132

7.2.3奇偶校验 133

7.2.4 USART中断请求 134

7.3 STM32芯片USART其他功能模式及扩展说明 134

7.3.1 USART其他功能模式 134

7.3.2 RS-232接口 136

7.3.3基于串口的无线通信 137

7.4 USART应用实例 139

7.4.1查询传送方式 139

7.4.2中断传送方式 141

7.4.3环形队列串口应用 143

7.5串行同步通信(SPI) 145

7.5.1 SPI接口概述 145

7.5.2 SPI接口库函数 146

7.5.3 SPI接口实例 148

第8章 定时器原理及应用 151

8.1 STM32芯片定时概述 151

8.2高级/通用定时器 153

8.2.1主要寄存器说明 154

8.2.2主要库函数说明 155

8.2.3定时器计数器基本说明 159

8.2.4定时器功能 160

8.2.5计数器功能 162

8.2.6捕获模式功能 163

8.2.7输出PWM模式 166

8.2.8定时器输出比较模式 169

8.2.9 PWM输入捕获模式 171

8.2.10其他功能模块 173

8.3系统滴答定时器(Systick) 175

8.3.1 Systick工作分析及配置 175

8.3.2 Systick实例说明 175

8.4看门狗定时器(WatchDog) 177

8.4.1独立看门狗 177

8.4.2窗口看门狗 178

8.4.3独立看门狗与窗口看门狗区别 180

8.5实时时钟(RTC) 180

第9章ADC原理及应用 185

9.1 ADC概述 185

9.1.1 STM32的ADC功能及结构 185

9.1.2 STM32的ADC工作模式 187

9.1.3 STM32的ADC库函数 192

9.1.4 ADC实例说明 193

第10章DMA方式 196

10.1 DMA概述 196

10.2 DMA库 -函数 198

10.3 DMA实例 200

第11章 总线通信模式 204

11.1 RS485总线 204

11.2 I2C总线 205

11.3 CAN总线 208

第12章 其他接口模式 210

12.1典型并行接口 210

12.1.1静态存储器控制器(FSMC) 210

12.1.2 LCD接口 211

12.2 USB全速设备接口(USB) 214

第13章μC/OS- Ⅱ嵌入式操作系统 216

13.1实时操作系统 216

13.1.1实时系统的属性和指标 216

13.1.2实时系统的分类 217

13.1.3 RTOS常用的调度 217

13.1.4临界资源和代码临界区 218

13.1.5优先级反转和对策 218

13.2 μC/OS-Ⅱ嵌入式操作系统 218

13.2.1 μC/OS的性能特点 219

13.2.2 μC/OS-Ⅱ代码结构 219

13.2.3 μC/OS-Ⅱ的启动过程 221

13.3 μC/OS- Ⅱ移植 221

13.3.1移植规划 221

13.3.2编写OS_CPU.H 222

13.3.3编写OS_CPU_C.C 223

13.3.4编写OS_CPU_A.ASM 224

13.4 μC/OS- Ⅱ内核结构 225

13.4.1μ/OS-Ⅱ的任务状态 225

13.4.2任务控制块OS_TCB 226

13.4.3 μC/OS-Ⅱ的任务调度 228

13.4.4μ/OS-Ⅱ的任务切换 230

13.4.5μ/OS- Ⅱ的中断处理 230

13.5和任务管理有关函数 231

13.5.1创建任务 231

13.5.2 μC/OS-Ⅱ时间管理 232

13.5.3事件控制块 234

13.5.4互斥信号量mutex 235

13.5.5信号量 240

13.5.6事件标志组 249

13.5.7消息邮箱 253

13.5.8消息队列 259

13.5.9动态内存管理 265

第14章 综合设计实例 268

14.1嵌入式系统开发流程 268

14.2智能小车功能说明 269

14.3硬件设计及实现 270

14.3.1电源硬件设计 270

14.3.2主控芯片电路设计 271

14.3.3伺服电机模块 271

14.3.4超声波测距电路 275

14.3.5超声波模块舵机控制电路 276

15.3.6 3.3 V和5V电平转换电路 277

14.4控制算法设计及实现 277

14.4.1小车运动模型构建 277

14.4.2 PID控制 280

14.4.3模糊决策算法 282

14.5软件设计及实现 285

14.5.1超声波传感器检测主要程序 287

14.5.2舵机控制主要程序 288

14.5.3模糊决策主要程序 289

14.5.4伺服电机主要程序 292

14.5.5 PID控制主要程序 294

14.5.6主程序以及其他程序 295

14.6基于μC/OS-Ⅱ嵌入式操作系统设计及实现 297