嵌入式微控制器原理及设计——基于STM32及Proteus仿真开发
					
					 定  价:49 元   本教材已被 1 所学校申请过!
					 丛书名:
					 
				 抱歉,电子工业出版社不参与样书赠送活动!
				
				
				 
	
				
				
					
						- 作者:毕盛
- 出版时间:2021/12/1
- ISBN:9787121425035
- 出 版 社:电子工业出版社
 
			
				
							适用读者:本书可作为高等院校电子工程、自动化、计算机科学及技术和电气工程等专业教材和参考书,也可供相关工程技术人员参考。
				
	
			
  
 - 中图法分类:TP332.021 
- 页码:228
- 纸张:
- 版次:01
- 开本:16开
- 字数:385(单位:千字)
 
 
	 
	 
	 
	
	
	
				
					
		
		本书基于STM32芯片及Proteus仿真开发来讲述嵌入式微控制器原理与设计,主要内容包括:嵌入式系统开发的相关背景;嵌入式ARM芯片体系结构及汇编语言;嵌入式系统开发环境、工具、编程语言及库函数;嵌入式芯片基本组成、最小系统、下载方式和低功耗模式;嵌入式芯片接口和嵌入式操作系统。本书分别对微控制器常见的GPIO、中断、异步串行通信、同步串行通信、高级定时器、通用定时器、滴答时钟、ADC、DMA、总线及USB接口进行了讲解;同时对嵌入式物联网操作系统进行了介绍,基于?C/OS-II展开并说明嵌入式操作系统的核心内容和功能;最后通过一个小车的实例说明嵌入式系统综合实例的实现过程。本书在讲解各个知识点的同时设计了Proteus仿真开发实例,从而有助于读者对各个知识点的理解。本书可作为高等院校电子工程、自动化、计算机科学及技术和电气工程等专业教材和参考书,也可供相关工程技术人员参考。
		
	
毕盛,华南理工大学计算机科学与工程学院副教授,一直从事高校嵌入式系统、机器人方向的教学和科研工作,指导学生实践创新活动,发表过论文多篇。
第1章  嵌入式系统与微控制器	1
1.1  嵌入式系统相关概念	1
1.1.1  什么是嵌入式系统	1
1.1.2  嵌入式系统的特点	1
1.1.3  嵌入式系统主要组成	1
1.1.4  嵌入式芯片类型	3
1.2  微控制器	4
1.2.1  微控制器特点	4
1.2.2  微控制器芯片型号及发展历史	4
1.2.3  ARM微控制器介绍	6
1.2.4  STM32 ARM Cortex-M微控制器	7
1.3  嵌入式系统开发	8
1.3.1  方案设计及芯片选型	8
1.3.2  嵌入式系统硬件开发	8
1.3.3  嵌入式系统软件开发	9
1.3.4  嵌入式代码编译	11
1.3.5  嵌入式代码下载及调试	11
1.4  微控制器芯片的发展趋势	12
习题1	13
第2章  微控制器体系结构及汇编语言	14
2.1  Cortex-M3内核体系架构	15
2.1.1  Cortex-M3总体架构	15
2.1.2  Cortex-M3总线接口	16
2.1.3  Cortex-M3寄存器	16
2.1.4  Cortex-M3操作模式	18
2.1.5  Cortex-M3存储器映射	19
2.1.6  流水线	19
2.1.7  异常和中断	20
2.1.8  存储器保护单元(MPU)	20
2.2  汇编指令寻址方式	20
2.3  ARM指令集	22
2.3.1  指令基本形式	22
2.3.2  ARM指令集条件码	23
2.3.3  ARM指令种类	23
2.4  Thumb指令集	28
习题2	29
第3章  微控制器硬件系统	31
3.1  微控制器概述	31
3.1.1  STM32F103内部结构	31
3.1.2  STM32F103常用接口	33
3.1.3  STM32F103系列微控制器简介	35
3.2  微控制器基本电路	36
3.2.1  电源电路	36
3.2.2  复位电路	37
3.2.3  时钟源	38
3.2.4  时钟管理单元	39
3.2.5  下载电路	41
3.2.6  启动配置电路	42
3.3  微控制器低功耗模式	43
习题3	44
第4章  微控制器软件开发	45
4.1  微控制器开发语言	45
4.1.1  开发语言介绍	45
4.1.2  嵌入式C语言	46
4.2  微控制器开发库函数	51
4.2.1  STM32开发库函数介绍	51
4.2.2  STM32 STD库	53
4.2.3  STM32 HAL库和LL库	54
4.3  微控制器开发环境	56
4.3.1  MDK开发环境	56
4.3.2  STM32CubeMX软件	57
4.4  微控制器虚拟仿真环境	58
4.5  微控制器程序调试和下载	60
习题4	61
第5章  GPIO	62
5.1  GPIO结构及特点	62
5.1.1  GPIO功能模式	62
5.1.2  GPIO特点及操作	63
5.1.3  GPIO开发实例	64
5.2  GPIO寄存器开发方式	65
5.2.1  GPIO寄存器说明	65
5.2.2  GPIO寄存器实现应用实例	66
5.3  GPIO STD库开发方式	67
5.3.1  GPIO STD库函数说明	67
5.3.2  GPIO STD库应用实例	69
5.4  GPIO HAL库开发方式	71
5.4.1  GPIO HAL库函数说明	71
5.4.2  GPIO HAL库应用实例	73
5.5  GPIO LL库开发方式	76
5.5.1  GPIO LL库函数说明	76
5.5.2  GPIO LL库应用实例	79
5.6  GPIO应用开发实例	80
5.6.1  数码管显示实例	80
5.6.2  行列式键盘扫描实例	83
习题5	86
第6章  中断	87
6.1  STM32中断简介	87
6.2  嵌套向量中断控制器	89
6.2.1  NVIC寄存器	89
6.2.2  系统控制寄存器(SCB)	89
6.2.3  中断和异常处理	90
6.2.4  STM32中断优先级	91
6.3  EXTI外部中断	92
6.3.1  EXTI硬件结构	92
6.3.2  EXTI中断操作	93
6.4  EXTI中断应用实例	94
习题6	95
第7章  串行通信	96
7.1  串行通信简介	96
7.1.1  串行通信基础知识	96
7.1.2  微控制器常见串行通信方式	97
7.2  STM32 USART接口	98
7.2.1  USART硬件引脚	98
7.2.2  USART主要寄存器及中断请求	99
7.2.3  UART异步通信	100
7.2.4  USART其他功能模式	101
7.3  UART异步串行操作	102
7.3.1  串行数据发送和接收	102
7.3.2  UART数据发送和接收应用实例	104
7.3.3  RS-232接口	107
7.3.4  printf串口终端实现	109
7.3.5  RS-485接口	110
7.4  基于串口的无线通信	111
7.4.1  移动通信	112
7.4.2  蓝牙串口	112
7.4.3  串口无线网络(WiFi)	113
7.4.4  ZigBee通信	113
7.5  SPI通信	113
7.5.1  STM32 SPI接口	113
7.5.2  SPI接口应用实例	115
习题7	117
第8章  定时器	118
8.1  定时器概述	118
8.1.1  通用定时器	119
8.1.2  高级定时器	119
8.1.3  高级/通用定时器接口	119
8.1.4  定时器引脚和寄存器	122
8.1.5  定时器时钟源	123
8.1.6  定时器计数模式	123
8.2  定时器操作	124
8.2.1  定时功能及实例	124
8.2.2  计数功能及实例	127
8.2.3  捕获功能及实例	129
8.2.4  输出PWM模式及实例	131
8.2.5  其他功能模式	134
8.3  系统滴答定时器(SysTick)	135
8.3.1  SysTick工作分析及配置	136
8.3.2  SysTick功能实现	136
8.4  看门狗定时器(WDT)	138
8.4.1  独立看门狗	138
8.4.2  窗口看门狗	139
8.4.3  独立看门狗与窗口看门狗的区别	141
8.5  实时时钟(RTC)	141
习题8	145
第9章  ADC	146
9.1  ADC概述	146
9.1.1  STM32的ADC功能	146
9.1.2  STM32的ADC结构	146
9.1.3  STM32芯片的ADC引脚	148
9.1.4  STM32的ADC工作模式	149
9.1.5  STM32的ADC主要寄存器	153
9.2  ADC应用实例	154
9.2.1  实例主要库函数说明	154
9.2.2  ADC查询和中断实例	155
习题9	157
第10章  DMA	158
10.1  DMA概述	158
10.1.1  STM32的DMA特性	158
10.1.2  STM32的DMA主要寄存器	160
10.2  DMA应用实例	160
10.2.1  ADC数据采集DMA方式	160
10.2.2  串口发送DMA方式	161
习题10	163
第11章  其他接口	164
11.1  I2C总线	164
11.1.1  I2C总线介绍	164
11.1.2  STM32的I2C总线	165
11.1.3  I2C总线应用实例	167
11.2  CAN总线	171
11.2.1  CAN总线介绍	171
11.2.2  STM32的CAN总线	173
11.3  USB总线	173
11.3.1  USB简介	173
11.3.2  STM32的USB接口	174
习题11	174
第12章  嵌入式操作系统	175
12.1  嵌入式操作系统概述	175
12.1.1  传统小型嵌入式操作系统	175
12.1.2  嵌入式小型物联网操作系统	176
12.1.3  嵌入式操作系统实时性特点	178
12.2  μC/OS-II嵌入式操作系统	178
12.2.1  μC/OS-II特性	179
12.2.2  μC/OS-II主要代码说明	179
12.2.3  μC/OS-II的启动过程	181
12.3  μC/OS-II操作系统移植	181
12.3.1  移植规划	181
12.3.2  编写OS_CPU.H	182
12.4  μC/OS-II内核结构	184
12.4.1  μC/OS-II的任务状态	184
12.4.2  任务控制块OS_TCB	185
12.4.3  μC/OS-II的任务调度	186
12.4.4  μC/OS-II的任务切换	187
12.4.5  μC/OS-II的中断处理	188
12.5  μC/OS-II任务、时间及事件控制块	188
12.5.1  任务管理	188
12.5.2  时间管理	189
12.5.3  事件控制块	191
12.6  互斥信号量(Mutex)	192
12.6.1  互斥信号量介绍	192
12.6.1  互斥信号量实例	192
12.7  信号量	194
12.7.1  概述	194
12.7.2  信号量任务同步实例	195
12.7.3  信号量资源共享实例	197
12.7.4  中断服务程序与任务同步实例	198
12.8  事件标志组	200
12.8.1  概述	200
12.8.2  事件标志组操作	201
12.9  消息邮箱	202
12.9.1  概述	202
12.9.2  消息邮箱操作	203
12.10  消息队列	205
12.10.1  概述	205
12.10.2  消息队列操作	206
12.11  动态内存管理	207
12.11.1  概述	207
12.11.2  动态内存管理操作实例	207
习题12	208
第13章  综合设计实例	209
13.1  嵌入式系统开发流程	209
13.2  嵌入式系统开发实例	210
13.2.1  小车系统及整体设计	210
13.2.2  硬件设计说明	210
13.2.3  软件设计说明	214
习题13	219
参考文献	220