新書推薦:
《
刻意练习不生气
》
售價:HK$
39.2
《
大宋理财:青苗法与王安石的金融帝国(全彩插图本)
》
售價:HK$
109.8
《
安全感是内心长出的盔甲
》
售價:HK$
67.0
《
快人一步:系统性能提高之道
》
售價:HK$
110.9
《
我们为什么会做梦:让梦不再神秘的新科学
》
售價:HK$
77.3
《
算法图解(第2版)
》
售價:HK$
78.2
《
科学的奇幻之旅
》
售價:HK$
77.3
《
画艺循谱:晚明的画谱与消闲
》
售價:HK$
143.4
|
編輯推薦: |
本书遵循教指委相关指导文件和高等院校学生学习规律编写而成。践行四新理念,融入思政元素,注重理论与实践相结合。
|
內容簡介: |
本书秉承“新工科”理念,从科研、教学和工程实际应用出发,理论联系实际,全面系统地讲述了STM32嵌入式单片机的原理与应用实例。 本书共分10章,包括:绪论、STM32微控制器、嵌入式开发环境的搭建、中断系统、通用输入/输出接口、定时器、模/数转换器(ADC)、USART串行通信、SPI与I2C串行总线和DMA控制器。本书内容丰富,体系先进,结构合理,理论与实践相结合,尤其注重工程应用技术。 本书可作为高等院校自动化、机器人、仪器、人工智能、电子信息和物联网等专业的教材,也可供从事STM32系列嵌入式单片机开发的工程技术人员参考。 本书配有电子课件、教学大纲、习题答案、试卷及答案和其他电子配套资源,选用本书作为教材的教师可登录www.cmpedu.com注册下载,或发邮件至jinacmp@163.com索取。
|
目錄:
|
前言 第1章 绪论 1 1.1 微型计算机概述 1 1.1.1 微型计算机的基本构成 2 1.1.2 微处理器、微型计算机和微型 计算机系统的关系 4 1.1.3 微处理器的常用技术 5 1.1.4 微处理器的应用 8 1.2 ARM概述 10 1.2.1 ARM简介 10 1.2.2 ARM架构的演变 11 1.2.3 ARM体系结构与特点 12 1.2.4 Cortex-M3微处理器的主要特性 14 1.2.5 Cortex-M3微处理器的结构 16 1.3 嵌入式系统 17 1.3.1 嵌入式系统概述 18 1.3.2 嵌入式系统和通用计算机 系统比较 19 1.3.3 嵌入式系统的特点 20 1.4 嵌入式系统的软件 21 1.4.1 无操作系统的嵌入式软件 21 1.4.2 带操作系统的嵌入式软件 22 1.4.3 典型嵌入式操作系统 22 1.4.4 软件架构选择建议 23 1.5 嵌入式系统的应用领域 24 1.6 嵌入式控制系统 24 习题 26 第2章 STM32 微控制器 27 2.1 STM32微控制器概述 27 2.1.1 STM32微控制器产品线 28 2.1.2 STM32微控制器的命名规则 31 2.1.3 STM32微控制器的选型 34 2.2 STM32F1系列产品系统架构和STM32F103ZET6内部架构 35 2.2.1 STM32F1系列产品系统架构 36 2.2.2 STM32F103ZET6内部架构 38 2.3 STM32F103ZET6的存储器映像 41 2.3.1 STM32F103ZET6内置外设的 地址范围 42 2.3.2 嵌入式SRAM 43 2.3.3 嵌入式闪存 44 2.4 STM32F103ZET6的时钟结构 45 2.5 STM32F103VET6的引脚 48 2.6 STM32F103VET6最小系统设计 53 习题 56 第3章 嵌入式开发环境的搭建 57 3.1 Keil MDK安装配置 57 3.1.1 Keil MDK简介 57 3.1.2 Keil MDK下载 59 3.1.3 Keil MDK安装 61 3.1.4 安装库文件 63 3.2 Keil MDK下新工程的创建 64 3.2.1 建立文件夹 64 3.2.2 打开Keil μVision 65 3.2.3 新建工程 65 3.3 Cortex微控制器软件接口 标准CMSIS 68 3.3.1 CMSIS介绍 68 3.3.2 STM32F10x标准函数库 69 3.4 STM32F103开发板的选择 72 3.5 STM32仿真器的选择 74 习题 76 第4章 中断系统 77 4.1 中断的基本概念 77 4.1.1 中断的定义 77 4.1.2 中断的应用 78 4.1.3 中断源与中断屏蔽 79 4.1.4 中断处理过程 79 4.1.5 中断优先级与中断嵌套 80 4.2 STM32F103的中断系统 81 4.2.1 嵌套向量中断控制器(NVIC) 81 4.2.2 STM32F103的中断优先级 81 4.2.3 STM32F103的中断向量表 82 4.2.4 STM32F103的中断服务程序 85 4.3 STM32F103的外部中断/事件控制器(EXTI) 85 4.3.1 EXTI的内部结构 86 4.3.2 EXTI的工作原理 87 4.3.3 EXTI的主要特性 88 4.4 STM32F10x的中断系统库函数 88 4.4.1 STM32F10x的NVIC相关库 函数 89 4.4.2 STM32F10x的EXTI相关库 函数 93 4.4.3 EXTI中断线GPIO引脚映射库 函数 96 4.5 外部中断设计流程 97 4.5.1 NVIC设置 97 4.5.2 中断接口配置 98 4.5.3 中断处理 98 4.6 外部中断设计实例 99 4.6.1 外部中断的硬件设计 99 4.6.2 外部中断的软件设计 100 习题 105 第5章 通用输入/输出接口 106 5.1 通用输入/输出接口概述 106 5.1.1 输入通道 107 5.1.2 输出通道 108 5.2 GPIO的功能 108 5.2.1 普通I/O功能 108 5.2.2 单独的位设置或位清除 108 5.2.3 外部中断/唤醒线 108 5.2.4 复用功能(AF) 108 5.2.5 软件重新映射I/O复用功能 109 5.2.6 GPIO锁定机制 109 5.2.7 输入配置 109 5.2.8 输出配置 110 5.2.9 复用功能配置 110 5.2.10 模拟输入配置 111 5.3 GPIO常用库函数 111 5.4 GPIO使用流程 119 5.4.1 普通GPIO配置 119 5.4.2 I/O复用功能AFIO配置 119 5.5 GPIO输出应用实例 120 5.5.1 GPIO输出应用的硬件设计 120 5.5.2 GPIO输出应用的软件设计 120 5.6 GPIO输入应用实例 126 5.6.1 硬件设计 126 5.6.2 软件设计 126 习题 129 第6章 定时器 130 6.1 STM32F103定时器概述 130 6.2 基本定时器 131 6.2.1 基本定时器简介 131 6.2.2 基本定时器的主要特性 131 6.2.3 基本定时器的功能 132 6.2.4 基本定时器的寄存器 134 6.3 通用定时器 134 6.3.1 通用定时器简介 134 6.3.2 通用定时器的主要功能 134 6.3.3 通用定时器的功能描述 135 6.3.4 通用定时器的工作模式 138 6.3.5 通用定时器的寄存器 142 6.4 高级定时器 143 6.4.1 高级定时器简介 143 6.4.2 高级定时器的结构 143 6.5 定时器库函数 144 6.6 定时器应用实例 156 6.6.1 通用定时器配置流程 156 6.6.2 定时器应用的硬件设计 157 6.6.3 定时器应用的软件设计 157 习题 161 第7章 模/数转换器(ADC) 162 7.1 模拟量输入通道 162 7.2 模拟量输入信号类型与量程 自动转换 163 7.2.1 模拟量输入信号类型 163 7.2.2 量程自动转换 163 7.3 STM32F103VET6集成的 ADC模块 163 7.3.1 STM32的ADC概述 164 7.3.2 STM32的ADC模块结构 164 7.3.3 STM32的ADC配
|
內容試閱:
|
前?言 “单片机原理与应用”是自动化、机器人、自动检测、机电一体化、人工智能、电子与电气工程、计算机应用、信息工程和物联网等专业的核心课程。单片机的应用范围十分广阔,已渗透到国防、工业、农业、企事业和人们生活的方方面面,并且发挥着越来越重要的作用,因而掌握单片机原理及其接口技术就显得十分重要。 在我国高校“单片机原理与应用”的教学历史中,20世纪90年代是以MCS-51和MSP430单片机为主流教学机型的。 虽然经典的8位单片机(如MCS-51)和16位单片机(如MSP430)已经积累了大量的技术资料,用起来得心应手,但是单片机复杂的指令、较低的主频、有限的存储空间和极少的片上外设,使其在面对复杂应用时捉襟见肘,难以胜任。尽管8位和16位单片机的应用不会就此结束,但可以肯定的是32位处理器的时代已经到来,32位处理器的性能得到了显著提升,片上资源更加丰富,功能也越来越复杂和完善。特别是在计算机测控系统设计方面,基于ARM微控制器的设计方案越来越得到工程师的认可。ARM微控制器无论在体系结构、汇编语言程序设计、接口技术还是开发手段等诸多方面都比MCS-51和MSP430具有更加优异的特征。 51单片机因其结构简单、易开发等优点,一直被广泛使用,是嵌入式系统中一款经典的单片机。如今嵌入式产品的竞争日益激烈,对微控制器性能的要求也越来越高,面对这些新要求和新挑战,51单片机显得有些“力不从心”。因此,需要一款功能更多、功耗更低、实时处理能力和数字信号处理能力更强的微控制器,以适应当今的市场需求。 正因如此,ARM公司率先推出了一款基于ARMV7架构的32位ARM Cortex-M微控制器内核。Cortex-M系列内核支持两种运行模式,即线程模式(Thread Mode)与处理模式(Handler Mode)。这两种模式都有各自独立的堆栈,使内核更加支持实时操作系统,并且Cortex-M系列内核支持Thumb-2指令集,因此基于Cortex-M系列内核的微控制器的开发和应用可以在C语言环境中完成。 继Cortex-M系列内核诞生之后,ST公司积极响应嵌入式产品市场的新要求和新挑战,推出了基于Cortex-M系列内核的STM32系列微控制器。它具有出色的微控制器内核和完善的系统结构设计,并且易于开发,性能高,兼容性好且功耗低。实时处理能力和数字信号处理能力强等优点,更使得STM32系列微控制器一上市就迅速占领了中低端微控制器市场。 因此,本书以ST公司基于32位ARM内核的STM32F103为背景机型,介绍单片机原理与应用。 本书介绍的STM32F103VET6具有32位ARM Cortex-M3内核,集成了512KB Flash和64KB SRAM以及丰富的硬件接口电路,运行频率可达72MHz。 本书的特点如下: 1)采用流行的STM32F103讲述单片机原理与应用。 2)内容精练、图文并茂、循序渐进、重点突出。 3)不讲述烦琐的STM32寄存器,重点讲述STM32的库函数。 4)以理论为基础,以应用为主导,章节内容前后安排逻辑性强、层次分明、易教易学。 5)结合国内主流硬件开发板(野火F103-指南者),本书给出了各个外设模块的硬件设计和软件设计实例,其代码均已在开发板上调试通过,并通过串口调试助手查看了调试结果,可以很好地锻炼学生的硬件理解能力和软件编程能力,起到举一反三的效果。 6)所选开发板的价格在300元左右,可以较容易地买到,方便学校实验教学。 7)本书亦可以作为“微机原理与接口技术”课程的教材。 本书结合编著者多年的科研和教学经验,遵循循序渐进、理论与实践并重、共性与个性兼顾的原则,将理论实践一体化的教学方式融入其中。本书实践案例由浅入深,层层递进,在帮助读者快速掌握某一外部设备功能的同时,有效融合其他外部设备,如按键、LED显示器、USART串行通信、模/数转换器和各类传感器等设计嵌入式系统,体现学习的系统性。 本书在编写过程中参考了一些国内外著作,在此向相关的作者表示衷心的感谢。由于编著者水平有限,书中不妥之处在所难免,敬请广大读者不吝指正。 编著者
|
|