计算机类教材 > 算法与程序设计

嵌入式技术及应用

书号:9787113271510 套系名称:十三五”高等职业教育规划教材

作者:陈祥生 出版日期:2020-08-01

定价:49.80 页码 / 开本:288 /16

策划编辑:翟玉峰 责任编辑:汪敏 绳超

适用专业:电子类 适用层次:高职高专

最新印刷时间:

资源下载
教学课件 教学素材
习题答案(暂无) 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  • 本书共分 16 章,主要内容包括 :嵌入式系统概述、 STM32 嵌入式 C 语言编程特点、 STM32
    嵌入式开发基础知识,并以 STM32 的片上外设、常用外围器件及典型应用等为主体,设计了 11
    个实践项目、 1 个阶段项目和 1 个综合项目,以及 13 个拓展项目。相关的知识点配有二维码,
    读者可以扫描二维码在线观看视频。
    本书适合作为高等职业院校电子信息类相关专业“嵌入式技术及应用”课程的教材,也可作
    为工程技术人员学习 STM32 微控制器编程的快速入门参考书。
  • 为了实现现代高等职业教育的培养目标,结合地方技能型高水平大学
    建设,更好地贯彻“教学做一体化”课程教学改革精神,编者在自己多
    年教学实践的基础上,以“理论够用、实践够重、案例驱动、方便教学”
    为原则编写了本书。本书概念准确、讲述详尽、实例丰富,在内容的编
    排上循序渐进、深入浅出。
    本书是校企合作共同开发的“新形态一体化”教材,得到了合作企业
    杭州朗迅科技有限公司、北京创先泰克科技有限公司以及安徽皖仪科技股
    份有限公司的大力支持。在合作企业工程师的参与下,设计了每章的学习
    目标和任务描述,所有项目均来源于工程实践,项目代码详尽,注释清晰,
    相关的知识点配有二维码,读者可以扫描二维码在线观看视频。
    本书选用 STM32F103ZE 微控制器作为实践项目平台,该微控制器是意
    法半导体公司(ST)出品的。 ST 公司作为第一家与 ARM 公司合作正式出品
    Cortex-M3 内核微处理器的半导体公司,于 2007 年推出 STM32F1 系列微控制
    器芯片。最近十几年,以 STM32 为代表的 Cortex-M3 内核微控制器逐渐在全
    球 32 位控制器市场中占据主导地位,并不断向下占据 8 位单片机的市场。
    为了适应微控制器市场的这一发展趋势,多数高职院校应用电子技术
    等专业在 2014 年前后就开设了以 STM32 微控制器为学习对象的“嵌入
    式技术及应用”课程。该课程的前导课程有“C 语言程序设计”及“单
    片机技术及应用(C51)”。所以,本书的定位就是在“单片机技术及应用
    (C51)”的基础上,使学生具备对复杂对象的嵌入式 C 语言编程能力。
    本书具有以下特点 :
    1.案例驱动,更加符合职业教育的要求
    除第 1 ~ 3 章外,每章内容均按照一个具体案例的制作过程和所需的
    知识点展开,循序渐进,当该章内容结束时,该案例即完成。这样更加
    符合职业教育的要求,也更加符合教学的规律和学习的规律。
    2.注重教学内容的实用性,典型案例与软件功能相融合
    所精选的案例遵照由浅入深、循序渐进、可操作性强的原则组织,并
    将知识点融入案例中。培养学生将所学与所用结合,以所学为所用,培养发现问题、
    解决问题和综合应用能力。
    3.应用项目教学法优选项目,项目与工程应用相结合
    书中优选了 11 个实践项目、1 个阶段项目和 1 个综合项目,以及 13 个拓展项目。
    这些项目来源于实际工程的抽象,注重学生实际编程能力的培养,项目编排合理,
    让学生可以轻松自然地掌握知识和技能,并且可以在实际工程中加以运用。
    4.提供“立体化”教学资源,服务教学
    本书配套有线上教学资源,可以扫描二维码直接观看,并配套相关的课程教学
    方案、电子教案、课件和源程序文件等,以方便教师教学备课和上课,更有利于
    学生课后的复习、巩固和提高。
    本书适合作为高等职业院校电子信息类相关专业“嵌入式技术及应用”课程的
    教材,也可作为工程技术人员学习 STM32 微控制器编程的快速入门参考书。本书
    建议安排 72 课时,理论讲授课时和实训课时的比例可安排为 1∶1。
    本书由安徽财贸职业学院陈祥生任主编,安徽财贸职业学院姚成和朱志国、杭
    州朗迅科技有限公司徐守政任副主编,安徽财贸职业学院赵春柳和张世平、北京创
    先泰克科技有限公司童学松、安徽皖仪科技股份有限公司杨凯等参与了编写,全
    书由安徽财贸职业学院张成叔主审。具体编写分工如下 :第 1 章和第 2 章由赵春
    柳编写,第 3 章、第 4 章和第 11 章由赵春柳、童学松编写,第 5 章、第 6 章和第
    14 章由姚成、杨凯编写,第 7 章、第 8 章、第 9 章和第 10 章由陈祥生编写,第
    12 章和第 13 章由张世平、徐守政编写,第 15 章和第 16 章由朱志国编写。全书由
    陈祥生统稿和定稿。
    在本书的策划和出版过程中,得到了中国铁道出版社有限公司编辑的大力支
    持,也得到了合作企业工程师们的鼎力相助,同时还得到了许多从事嵌入式教学
    同仁们的关心和帮助,在此一并表示感谢。
    本书的出版是安徽省质量工程“高水平高职教材建设”项目中“嵌入式技术及
    应用(2018yljc300)”建设项目之一,得到了该项目建设资金的支持。
    本书所配电子教案和教学相关资源均可从 http://www.tdpress.com/51eds/ 下载或
    直接与编者联系,电子邮箱为 xs_chen@126.com,微信号为 18956007608。
    由于编者水平有限,书中难免有疏漏和不足之处,敬请广大读者批评指正。
    编 者
    2020 年 4 月
    
  • 第 1 章 嵌入式系统概述........................................................................... 1
    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 章 STM32 嵌入式 C 语言编程特点................................................. 17
    2.1 宏指令的使用及其意义 ........................................................17
    2.2 STM32 嵌入式 C 语言编程中几个重要的关键字......................21
    2.3 STM32 嵌入式 C 语言编程的基本数据类型 ............................22
    2.4 结构体与结构体指针 ...........................................................24
    2.5 枚举..................................................................................25
    2.6 C 语言编程的代码格式 ........................................................26
    第 3 章 STM32 嵌入式开发基础知识 ..................................................... 28
    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——点亮 LED........................................................... 47
    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 章 实践项目 2——按键检测 ........................................................... 63
    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 章 实践项目 3——LCD12864 显示................................................. 77
    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 章 实践项目 4——中断按键 ........................................................... 94
    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 章 实践项目 5——SysTick 实现精确延时......................................110
    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 章 阶段项目——状态机编程实现按键长按短按操作..................... 124
    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 章 实践项目 6——USART 实现计算机控制 LED........................ 142
    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 章 实践项目 7——ADC 数据采集 ............................................... 159
    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 章 实践项目 8——利用 DMA 实现多路 ADC 数据采集............... 177
    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 章 实践项目 9——TIM 定时器的 PWM 控制 LED 亮度............... 194
    13.1 相关知识........................................................................194
    13.1.1 STM32F10x 微控制器的定时器资源 ............................. 194
    13.1.2 STM32F10x 微控制器的定时器 ................................... 195
    13.1.3 STM32F103ZE 定时器的输入 / 输出引脚 ...................... 198
    13.1.4 STM32F103 定时器的输入 / 输出通道 .......................... 199
    
    V
    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 章 实践项目 10——LCD 彩屏显示模拟时钟............................... 214
    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 章 实践项目 11——μC/OS-III 操作系统 ..................................... 236
    15.1 相关知识........................................................................236
    15.1.1 嵌入式操作系统简介 .................................................. 237
    15.1.2 μC/OS-III 的体系结构 ................................................ 239
    15.1.3 μC/OS-III 的任务管理 ................................................ 239
    15.1.4 移植 μC/OS-III 到 STM32F103.................................... 242
    15.1.5 μC/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 章 综合项目——温湿度测量仪设计............................................ 253
    16.1 相关知识........................................................................253
    16.1.1 嵌入式电子产品设计的一般步骤 .................................. 253
    文前.indd 5 2020-8-20 11:03:36VI
    嵌入式技术及应用
    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
    附 录  ................................................................................................ 273
    附录 A 标准 ASCII 码对照表 ....................................................274
    附录 B 图形符号对照表 ...........................................................276
  • 陈祥生,安徽财贸职业学院
  • 本书共分16章,主要内容包括:嵌入式系统概述、STM32嵌入式C语言编程特点、STM32嵌入式开发基础知识,并以STM32的片上外设、常用外围器件及典型应用等为主体,设计了11个实践项目、1个阶段项目和1个综合项目,以及13个拓展项目。相关的知识点配有二维码,读者可以扫描二维码在线观看视频。
    本书适合作为高等职业院校电子信息类相关专业“嵌入式技术及应用”课程的教材,也可作为工程技术人员学习STM32微控制器编程的快速入门参考书。