书籍详情

ARM Cortex-M3嵌入式原理及应用:基于STM32F103微控制器

ARM Cortex-M3嵌入式原理及应用:基于STM32F103微控制器

作者:黄克亚

出版社:清华大学出版社

出版时间:2020-01-01

ISBN:9787302538615

定价:¥69.00

购买这本书可以去
内容简介
  本书旨在传承51经典,发扬ARM长处,助推MCU升级; 以学生认知过程为导向组织教材内容,采取项目引领,全案例讲解的方式,着重培养学生实践应用能力。本书详细阐述了基于ARM CortexM3内核的STM32F103微控制器嵌入式系统硬件设计方法和软件开发技术。 全书共有15章,划分为3部分: 第1部分(第1~3章)为系统平台模块,讲述嵌入式系统定义、开发板硬件平台和工程模板创建; 第2部分(第4~9章)为基本外设模块,分别对STM32嵌入式系统*常用外设模块进行介绍,包括GPIO、中断、定时器、PWM和嵌入式系统接口技术; 第3部分(第10~15章)为扩展外设模块,分别对STM32嵌入式系统高级外设模块进行介绍,包括USART、SPI、OLED、ADC、IIC、EEPROM和RTC等。 本书适合作为高等院校计算机、自动化、电子信息、机电一体化、物联网等专业高年级本科生或研究生嵌入式相关课程的教材,同时可供从事嵌入式开发的技术和研究人员参考。说明:凡是选用本书作为教材,并已经订购了30册以上教材的学校任课教师,可以凭订单获赠本教材配的套嵌入式开发板一套,联系本书作者黄克亚教授微信sz_hky获取。
作者简介
  黄克亚软件设计师,苏州大学副教授、硕士生导师,主要从事智能控制、嵌入式系统开发等教学和科研工作。讲授过“电工电子技术”“单片机原理与控制技术”“微机原理及应用”“嵌入式系统开发”“可编程控制器”“传感器应用技术”等课程。近年来主持省级课题2项,授权发明专利1项,登记软件著作权4项,发表EI检索或中文核心期刊论文6篇,指导学生获中国智能机器人大赛一等奖1项、江苏省本专科优秀毕业设计(论文)三等奖1项、全国电子设计大赛江苏赛区二等奖2项。说明:凡是选用本书作为教材,并已经订购了30册以上教材的学校任课教师,可以凭订单获赠本教材配的套嵌入式开发板一套,联系本书作者黄克亚教授微信sz_hky获取。
目录
目录
第1章ARM CortexM3嵌入式系统
1.1嵌入式系统概述
1.1.1什么是嵌入式系统
1.1.2嵌入式系统和通用计算机系统比较
1.1.3嵌入式系统的特点
1.1.4嵌入式系统的应用领域
1.1.5嵌入式系统范例
1.2ARM CortexM3处理器
1.2.1ARM公司
1.2.2ARM处理器
1.3STM32微控制器
1.3.1从CortexM3内核到基于CortexM3的MCU
1.3.2STM32微控制器产品线
1.3.3STM32微控制器命名规则
1.4嵌入式系统的软件
1.4.1无操作系统的嵌入式软件
1.4.2带操作系统的嵌入式软件
1.4.3典型嵌入式操作系统
1.4.4软件架构选择建议
本章小结
思考与扩展
第2章STM32开发板硬件系统
2.1开发板总体概况
2.1.1开发板设计背景
2.1.2开发板总体介绍
2.2电源模块
2.2.1电源模块原理图
2.2.2电源模块工作原理
2.3核心板电路
2.3.1CPU模块
2.3.2串口通信模块
2.3.3外接晶振模块
2.3.4备用电源模块
2.3.5ADC模块电源
2.3.6CPU滤波电路
2.3.7复位电路
2.3.8启动设置电路
2.4I/O模块电路
2.4.1LED指示灯模块
2.4.2按键模块
 
 
2.4.3数码管模块
2.4.4蜂鸣器模块
2.4.5OLED显示屏电路
2.5扩展模块电路
2.5.1温度传感器
2.5.2红外传感器
2.5.3AD采样模块
2.5.4EEPROM存储器
2.5.5I/O引脚外接模块
本章小结
思考与扩展
第3章MDK软件与工程模板创建
3.1STM32固件库认知
3.1.1STM32固件库概述
3.1.2STM32固件库下载
3.1.3STM32固件库目录结构
3.2工程模板创建
3.2.1Keil MDKARM软件简介
3.2.2工程模板的创建
3.3软件模拟仿真
本章小结
思考与扩展
第4章通用目的输入输出口
4.1GPIO概述及引脚命名
4.2GPIO内部结构
4.2.1输入驱动器
4.2.2输出驱动器
4.3GPIO工作模式
4.3.1输入浮空
4.3.2输入上拉
4.3.3输入下拉
4.3.4模拟输入
4.3.5开漏输出
4.3.6开漏复用输出
4.3.7推挽式输出
4.3.8推挽式复用输出
4.3.9工作模式选择
4.4GPIO输出速度
4.5复用功能重映射
4.6GPIO控制寄存器
4.7GPIO寄存器配置实例
4.8寄存器版LED灯闪烁工程
4.8.1创建寄存器版工程模板
4.8.2LED灯闪烁程序设计
4.8.3基于寄存器开发方式特点
本章小结
思考与扩展
第5章LED流水灯与SysTick定时器
5.1库函数开发方法
5.2GPIO输出库函数
5.2.1函数RCC_APB2PeriphClockCmd
5.2.2函数GPIO_Init
5.2.3函数GPIO_Write
5.2.4函数GPIO_SetBits
5.2.5函数GPIO_ResetBits
5.2.6函数GPIO_WriteBit
5.3LED流水灯控制
5.4SysTick定时器
5.4.1SysTick定时器概述
5.4.2SysTick定时器寄存器
5.4.3SysTick定时器应用
本章小结
思考与扩展
第6章按键输入与蜂鸣器
6.1GPIO输入库函数
6.1.1函数GPIO_ReadInputDataBit
6.1.2函数GPIO_ReadInputData
6.1.3函数GPIO_ReadOutputDataBit
6.1.4函数GPIO_ReadOutputData
6.2项目分析
6.3项目实施
本章小结
思考与扩展
第7章数码管动态显示
7.1数码管显示接口
7.1.1数码管工作原理
7.1.2数码管编码方式
7.1.3数码管显示方式
7.2项目分析
7.3项目实施
7.4项目拓展
本章小结
思考与扩展
第8章中断系统与基本应用
8.1中断的基本概念
8.1.1中断的定义
8.1.2中断的应用
8.1.3中断源与中断屏蔽
8.1.4中断处理过程
8.1.5中断优先级与中断嵌套
8.2STM32F103中断系统
8.2.1嵌套向量中断控制器NVIC
8.2.2STM32F103中断优先级
8.2.3STM32F103中断向量表
8.2.4STM32F103中断服务函数
8.3STM32F103外部中断/事件控制器EXTI
8.3.1EXTI内部结构
8.3.2EXTI工作原理
8.3.3EXTI主要特性
8.4STM32中断相关库函数
8.4.1STM32F10x的NVIC相关库函数
8.4.2STM32F10x的EXTI相关库函数
8.4.3EXTI中断线GPIO引脚映射库函数
8.5EXTI项目实例
8.5.1项目分析
8.5.2项目实施
本章小结
思考与扩展
第9章定时器与脉冲宽度调制
9.1STM32F103定时器概述
9.2基本定时器
9.2.1基本定时器简介
9.2.2基本定时器的主要特性
9.2.3基本定时器的功能
9.2.4基本定时器寄存器
9.3通用定时器
9.3.1通用定时器简介
9.3.2通用定时器主要功能
9.3.3通用定时器功能描述
9.3.4通用定时器工作模式
9.3.5通用定时器寄存器
9.4高级定时器
9.4.1高级定时器简介
9.4.2高级定时器特性
9.4.3高级定时器结构
9.5定时器相关库函数
9.5.1函数TIM_DeInit
9.5.2函数TIM_TimeBaseInit
9.5.3函数TIM_OC1Init
9.5.4函数TIM_OC2Init
9.5.5函数TIM_OC3Init
9.5.6函数TIM_OC4Init
9.5.7函数TIM_Cmd
9.5.8函数TIM _ITConfig
9.5.9函数TIM_OC1PreloadConfig
9.5.10函数TIM_OC2PreloadConfig
9.5.11函数TIM_OC3PreloadConfig
9.5.12函数TIM_OC4PreloadConfig
9.5.13函数TIM_GetFlagStatus
9.5.14函数TIM_ClearFlag
9.5.15函数TIM_GetITStatus
9.5.16函数TIM_ClearITPendingBit
9.5.17函数TIM_SetCompare1
9.5.18函数TIM_SetCompare2
9.5.19函数TIM_SetCompare3
9.5.20函数TIM_SetCompare4
9.6项目实例
9.6.1定时器项目
9.6.2PWM项目
本章小结
思考与扩展
第10章串行通信接口USART
10.1数据通信基本概念
10.1.1并行通信与串行通信
10.1.2异步通信与同步通信
10.1.3串行通信的制式
10.1.4串行通信的校验
10.1.5串行通信的波特率
10.2SM32F103的USART工作原理
10.2.1USART介绍
10.2.2USART主要特性
10.2.3USART功能概述
10.2.4USART通信时序
10.2.5USART中断
10.2.6USART相关寄存器
10.3USART相关库函数
10.3.1函数USART_DeInit
10.3.2函数USART_Init
10.3.3函数USART_Cmd
10.3.4函数USART_SendData
10.3.5函数USART_ReceiveData
10.3.6函数USART_GetFlagStatus
10.3.7函数USART_ClearFlag
10.3.8函数USART_ITConfig
10.3.9函数USART_GetITStatus
10.3.10函数USART_ClearITPendingBit
10.3.11函数USART_DMACmd
10.4项目实例
10.4.1项目分析
10.4.2项目实施
本章小结
思考与扩展
第11章SPI与OLED显示屏
11.1SPI通信原理
11.1.1SPI介绍
11.1.2SPI互连
11.2STM32F103的SPI工作原理
11.2.1SPI主要特征
11.2.2SPI内部结构
11.2.3时钟信号的相位和极性
11.2.4数据帧格式
11.2.5配置SPI为主模式
11.2.6配置SPI为从模式
11.3OLED显示屏
11.3.1OLED简介
11.3.2开发板OLED显示屏
11.3.3OLED显示屏接口
11.4SPI库函数
11.4.1函数SPI_I2S_DeInit
11.4.2函数SPI_Init
11.4.3函数SPI_Cmd
11.4.4函数SPI_I2S_SendData
11.4.5函数SPI_I2S_ReceiveData
11.4.6函数SPI_I2S_ITConfig
11.4.7函数SPI_I2S_GetITStatus
11.4.8函数SPI_I2S_ClearFlag
11.5项目实例
11.5.1项目分析
11.5.2项目实施
本章小结
思考与扩展
第12章模拟数字转换器
12.1ADC概述
12.1.1ADC基本原理
12.1.2ADC性能参数
12.1.3ADC主要类型
12.2STM32F103的ADC工作原理
12.2.1主要特征
12.2.2内部结构
12.2.3通道及分组
12.2.4时序图
12.2.5数据对齐
12.2.6校准
12.2.7转换时间
12.2.8转换模式
12.2.9外部触发转换
12.2.10中断和DMA请求
12.3ADC相关库函数
12.3.1函数ADC_DeInit
12.3.2函数ADC_Init
12.3.3函数ADC_RegularChannelConfig
12.3.4函数ADC_InjectedChannleConfig
12.3.5函数ADC_Cmd
12.3.6函数ADC_ResetCalibration
12.3.7函数ADC_GetResetCalibrationStatus
12.3.8函数ADC_StartCalibration
12.3.9函数ADC_GetCalibrationStatus
12.3.10函数ADC_SoftwareStartConvCmd
12.3.11函数ADC_GetConversionValue
12.3.12函数ADC_GetFlagStatus
12.3.13函数ADC_DMACmd
12.4项目实例
12.4.1项目分析
12.4.2项目实施
本章小结
思考与扩展
第13章直接存储器访问
13.1DMA的基本概念
13.1.1DMA由来
13.1.2DMA定义
13.1.3DMA传输过程
13.1.4DMA优点
13.2STM32F103的DMA工作原理
13.2.1STM32F103的DMA主要特性
13.2.2STM32F103的DMA内部结构
13.2.3STM32F103的DMA通道
13.2.4STM32F103的DMA优先级
13.2.5STM32F103的DMA传输模式
13.2.6STM32F103的DMA中断
13.3DMA相关库函数
13.3.1函数DMA_DeInit
13.3.2函数DMA_Init
13.3.3函数DMA_GetCurrDataCounte
13.3.4函数DMA_Cmd
13.3.5函数DMA_GetFlagStatus
13.3.6函数DMA_ClearFlag
13.3.7函数DMA_ITConfig
13.3.8函数DMA_GetITStatus
13.4项目实例
13.4.1项目分析
13.4.2项目实施
本章小结
思考与扩展
第14章I2C接口与EEPROM存储器
14.1I2C通信原理
14.1.1I2C串行总线概述
14.1.2I2C总线的数据传送
14.2STM32F103的I2C接口
14.2.1STM32F103的I2C主要特性
14.2.2STM32F103的I2C内部结构
14.2.3STM32F103的模式选择
14.3STM32F103的I2C相关库函数
14.3.1函数I2C_DeInit
14.3.2函数I2C_ Init
14.3.3函数I2C_ Cmd
14.3.4函数I2C_ GenerateSTART
14.3.5函数I2C_ GenerateSTOP
14.3.6函数I2C_ Send7bitAddress
14.3.7函数I2C_ SendData
14.3.8函数I2C_ ReceiveData
14.4项目实例
14.4.1模拟I2C时序要求
14.4.2模拟I2C函数
14.4.3EEPROM芯片24C02
14.4.4模拟I2C访问24C02项目分析
14.4.5模拟I2C访问24C02项目实施
本章小结
思考与扩展
第15章RTC时钟与BKP寄存器
15.1RTC时钟
15.1.1RTC简介
15.1.2RTC主要特性
15.1.3RTC内部结构
15.1.4RTC复位过程
15.2备份寄存器(BKP)
15.2.1BKP简介
15.2.2BKP特性
15.2.3BKP侵入检测
15.3RTC时钟的操作
15.3.1RTC的初始化
15.3.2RTC时间写入初始化
15.4RTC与BKP相关库函数
15.4.1函数PWR_BackupAccessCmd 
15.4.2函数BKP_DeInit()
15.4.3函数RCC_LSEConfig
15.4.4函数RCC_GetFlagStatus
15.4.5函数RCC_RTCCLKConfig
15.4.6函数RCC_RTCCLKCmd
15.4.7函数RTC_WaitForSynchro
15.4.8函数RTC_WaitForLastTask
15.4.9函数RTC_ITConfig
15.4.10函数RTC_SetPrescaler
15.4.11函数RTC_SetCounter
15.4.12函数RTC_GetCounter()
15.4.13函数BKP_ReadBackupRegister
15.4.14函数BKP_WriteBackupRegister
15.4.15函数RCC_ClearFlag
15.5项目实例
15.5.1项目分析
15.5.2项目实施
15.5.3项目调试
本章小结
思考与扩展
附录AASCII码表
附录BSTM32F103微控器小容量产品系列引脚定义表
附录CSTM32F103微控器中等容量产品系列引脚定义表
附录DSTM32F103微控器大容量产品系列引脚定义表
参考文献
 
猜您喜欢

读书导航