华信教育资源网
STM32F1开发标准教程
丛   书   名: 普通高等教育“十三五”规划教材  卓越工程师培养系列
作   译   者:董磊 出 版 日 期:2020-01-01
出   版   社:电子工业出版社 维   护   人:张小乐 
书   代   号:G0363880 I S B N:9787121363887

图书简介:

与电子相关的专业,如电子工程、自动化、光电、机电、机器人、生物医学工程、医疗器械工程、康复工程等,都需要学习微控制器(微控制器也常常被称作单片机)。本书基于STM32核心板,以16个实验为主线。这些实验的编码规范均参见本书附录C《C语言软件设计规范(LY-STD001—2019)》。另外,所有的实验均基于模块化设计。这样读者就可以轻松地将这些模块应用在不同的项目和产品中。本书配套的资料包既包括STM32核心板原理图、例程、软件包,又包括软件和硬件资料,还包括配套的PPT讲义、视频等,且持续更新,最新下载链接可通过微信公众号“卓越工程师培养系列”获取。本书内容翔实,图文并茂,思路清晰,凡是涉及的知识点均会详细讲解,未涉及的知识点尽可能不予讲解。这样既能减轻读者的学习负担,又能促使读者快速掌握微控制器系统设计的各项必备技能。
定价 79.0
您的专属联系人更多
关注 评论(5) 分享
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源
    图书特别说明:获取本书教辅资源下载链接,请关注微信公众号“卓越工程师培养系列”(“资料下载”栏目)。

    本书资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    与电子相关的专业,如电子工程、自动化、光电、机电、机器人、生物医学工程、医疗器械工程、康复工程等,都需要学习微控制器(微控制器也常常被称作单片机)。本书基于STM32核心板,以16个实验为主线。这些实验的编码规范均参见本书附录C《C语言软件设计规范(LY-STD001—2019)》。另外,所有的实验均基于模块化设计。这样读者就可以轻松地将这些模块应用在不同的项目和产品中。本书配套的资料包既包括STM32核心板原理图、例程、软件包,又包括软件和硬件资料,还包括配套的PPT讲义、视频等,且持续更新,最新下载链接可通过微信公众号“卓越工程师培养系列”获取。本书内容翔实,图文并茂,思路清晰,凡是涉及的知识点均会详细讲解,未涉及的知识点尽可能不予讲解。这样既能减轻读者的学习负担,又能促使读者快速掌握微控制器系统设计的各项必备技能。

    图书详情

    ISBN:9787121363887
    开 本:16(185*260)
    页 数:420
    字 数:672

    本书目录

    第1章  STM32开发平台和工具 1
    1.1  STM32芯片介绍 1
    1.2  STM32核心板电路简介 2
    1.3  STM32开发工具的安装与配置 8
    1.3.1  安装Keil 5.20 8
    1.3.2  配置Keil 5.20 10
    1.4  STM32核心板可以开展的部分实验 10
    1.5  本书配套的资料包 11
    本章任务 11
    本章习题 12
    第2章  实验1—F103基准工程 13
    2.1  实验内容 13
    2.2  实验原理 13
    2.2.1  寄存器与固件库 13
    2.2.2  Keil编辑和编译及STM32下载过程 17
    2.2.3  STM32工程模块名称及说明 18
    2.2.4  STM32参考资料 19
    2.3  实验步骤 20
    本章任务 32
    本章习题 33
    第3章  实验2—串口电子钟 34
    3.1  实验内容 34
    3.2  实验原理 34
    3.2.1  RunClock模块函数 34
    3.2.2  函数调用框架 36
    3.2.3  Proc2msTask与Proc1SecTask 37
    3.3  实验步骤 38
    本章任务 42
    本章习题 42
    第4章  实验3—GPIO与流水灯 43
    4.1  实验内容 43
    4.2  实验原理 43
    4.2.1  LED电路原理图 43
    4.2.2  STM32系统架构与存储器组织 43
    4.2.3  GPIO功能框图 46
    4.2.4  GPIO部分寄存器 48
    4.2.5  GPIO部分固件库函数 53
    4.2.6  RCC部分寄存器 56
    4.2.7  RCC部分固件库函数 57
    4.3  实验步骤 58
    本章任务 63
    本章习题 64
    第5章  实验4—GPIO与独立按键输入 65
    5.1  实验内容 65
    5.2  实验原理 65
    5.2.1  独立按键电路原理图 65
    5.2.2  GPIO功能框图 65
    5.2.3  GPIO部分寄存器 66
    5.2.4  GPIO部分固件库函数 67
    5.2.5  按键去抖原理 68
    5.3  实验步骤 69
    本章任务 76
    本章习题 77
    第6章  实验5—串口通信 78
    6.1  实验内容 78
    6.2  实验原理 78
    6.2.1  UART电路原理图 78
    6.2.2  UART通信协议 79
    6.2.3  UART功能框图 80
    6.2.4  UART部分寄存器 84
    6.2.5  UART部分固件库函数 88
    6.2.6  STM32异常和中断 94
    6.2.7  NVIC中断控制器 98
    6.2.8  NVIC部分寄存器 98
    6.2.9  NVIC部分固件库函数 102
    6.2.10  UART1模块驱动设计 105
    6.3  实验步骤 110
    本章任务 122
    本章习题 122
    第7章  实验6—定时器 123
    7.1  实验内容 123
    7.2  实验原理 123
    7.2.1  通用定时器功能框图 123
    7.2.2  通用定时器部分寄存器 127
    7.2.3  通用定时器部分固件库函数 131
    7.2.4  RCC部分寄存器 133
    7.2.5  RCC部分固件库函数 134
    7.3  实验步骤 134
    本章任务 141
    本章习题 141
    第8章  实验7—SysTick 142
    8.1  实验内容 142
    8.2  实验原理 142
    8.2.1  SysTick功能框图 142
    8.2.2  SysTick实验流程图分析 143
    8.2.3  SysTick部分寄存器 144
    8.2.4  SysTick部分固件库函数 146
    8.3  实验步骤 147
    本章任务 151
    本章习题 151
    第9章  实验8—RCC 152
    9.1  实验内容 152
    9.2  实验原理 152
    9.2.1  RCC功能框图 152
    9.2.2  RCC部分寄存器 155
    9.2.3  RCC部分固件库函数 158
    9.2.4  Flash部分寄存器 163
    9.2.5  Flash部分固件库函数 164
    9.3  实验步骤 165
    本章任务 169
    本章习题 169
    第10章  实验9—外部中断 170
    10.1  实验内容 170
    10.2  实验原理 170
    10.2.1  EXTI功能框图 170
    10.2.2  EXTI部分寄存器 172
    10.2.3  EXTI部分固件库函数 175
    10.2.4  AFIO部分寄存器 177
    10.2.5  AFIO部分固件库函数 180
    10.3  实验步骤 181
    本章任务 186
    本章习题 187
    第11章  实验10—OLED显示 188
    11.1  实验内容 188
    11.2  实验原理 188
    11.2.1  OLED显示模块 188
    11.2.2  SSD1306的显存 189
    11.2.3  SSD1306常用命令 191
    11.2.4  字模选项 191
    11.2.5  ASCⅡ码表与取模工具 192
    11.2.6  STM32的GRAM与SSD1306的GRAM 193
    11.2.7  OLED显示模块显示流程 194
    11.3  实验步骤 194
    本章任务 208
    本章习题 208
    第12章  实验11—独立看门狗 209
    12.1  实验内容 209
    12.2  实验原理 209
    12.2.1  独立看门狗功能框图 209
    12.2.2  独立看门狗最小喂狗时间 210
    12.2.3  独立看门狗实验流程图分析 211
    12.2.4  独立看门狗部分寄存器 211
    12.2.5  独立看门狗部分固件库函数 214
    12.3  实验步骤 216
    本章任务 221
    本章习题 221
    第13章  实验12—读/写内部Flash 222
    13.1  实验内容 222
    13.2  实验原理 222
    13.2.1  STM32的内部Flash和内部SRAM 222
    13.2.2  STM32的内部Flash简介 223
    13.2.3  STM32启动模式 224
    13.2.4  Flash编程过程 224
    13.2.5  Flash页擦除过程 225
    13.2.6  Flash部分寄存器 226
    13.2.7  Flash部分固件库函数 231
    13.3  实验步骤 232
    本章任务 241
    本章习题 241
    第14章  实验13—PWM输出 242
    14.1  实验内容 242
    14.2  实验原理 242
    14.2.1  PWM输出实验流程图分析 242
    14.2.2  通用定时器部分寄存器 244
    14.2.3  通用定时器部分固件库函数 246
    14.2.4  AFIO部分寄存器 247
    14.2.5  AFIO部分固件库函数 248
    14.3  实验步骤 249
    本章任务 255
    本章习题 255
    第15章  实验14—输入捕获 256
    15.1  实验内容 256
    15.2  实验原理 256
    15.2.1  输入捕获实验流程图分析 256
    15.2.2  通用定时器部分寄存器 258
    15.2.3  通用定时器部分固件库函数 260
    15.3  实验步骤 262
    本章任务 269
    本章习题 269
    第16章  实验15—DAC 270
    16.1  实验内容 270
    16.2  实验原理 270
    16.2.1  DAC功能框图 270
    16.2.2  DMA功能框图 274
    16.2.3  DAC实验逻辑图分析 277
    16.2.4  PCT通信协议 277
    16.2.5  PCT通信协议应用 284
    16.2.6  DAC部分寄存器 286
    16.2.7  DAC部分固件库函数 289
    16.2.8  DMA部分寄存器 292
    16.2.9  DMA部分固件库函数 296
    16.3  实验步骤 300
    本章任务 313
    本章习题 314
    第17章  实验16—ADC 315
    17.1  实验内容 315
    17.2  实验原理 315
    17.2.1  ADC功能框图 315
    17.2.2  ADC实验逻辑框图分析 318
    17.2.3  ADC实验中的ADC缓冲区 319
    17.2.4  ADC部分寄存器 319
    17.2.5  ADC部分固件库函数 324
    17.3  实验步骤 330
    本章任务 341
    本章习题 341
    附录A  STM32核心板原理图 342
    附录B  STM32F103RCT6引脚定义 343
    附录C  C语言软件设计规范(LY-STD001—2019) 346
    参考文献 354
    展开

    前     言

    本书是一本讲解STM32F1系列微控制器的书籍。无论电子工程、自动化、光电、机电、机器人专业,还是生物医学工程、医疗器械工程、康复工程专业,都要学习微控制器。然而,微控制器涉及面非常广,除了要掌握各种电路知识、C语言语法、计算机体系架构,还要熟悉微控制器的寄存器、固件库及各种集成开发环境、下载工具和串口调试工具。要想成为一名优秀的微控制器系统设计工程师,还需要进一步掌握软/硬件联合调试技能,具备模块化设计思想,并且能从宏观角度进行系统架构设计,能够灵活地将各种技术规范融入具体的项目中。
    天津大学李刚教授有句名言,“勇于实践+深入思考=真才实学”,而当今的高等院校工科生,最缺乏的就是勇于实践,没有大量的实践,就很难对某一个问题进行深入剖析和思考,当然,也就谈不上真才实学。随着时代的进步和发展,技术更新速度也越来越快,很多陈旧的技术在不断被淘汰。然而,很多高校依然是参照20世纪七八十年代的课程体系,或在此基础上增加一些新课程。这样,就出现了一个严重的问题:学生需要修读的学分越来越多,而每门课程的课时越来越少。然而,卓越工程师的培养必须配以高强度的实训。
    本书可以作为实训手册使用。16个实验都包括实验内容、实验原理、实验步骤、本章任务和本章习题5个环节。这些实验相对而言比较基础,而且每个实验都有详细的步骤和源代码,以确保读者能够顺利完成。另外,本书还对实验的内容、设计思路等进行了详细讲解,以保证读者能够深入理解这些实验涉及的知识点。每个实验的最后都有一个任务。这些任务是本章实验的延伸和拓展。因此,能够顺利完成并理解该章实验的读者,再加上深入思考,都能够完成这些任务。本章任务之后是本章习题,由若干小习题构成,用于检查读者是否真正掌握了本章的知识。
    现在的微控制器功能比以往强大很多,想要掌握其知识点,就必须花费大量的时间和精力。比如,学习某一款STM32微控制器,至少要阅读三本手册,分别是ARM公司的《ARM Cortex-M3权威指南》、ST公司的《STM32中文参考手册》和《STM32固件库使用手册》。这些手册加起来一千多页。另外,初学者还要花费大量的时间和精力熟悉STM32的集成开发环境、程序下载工具、串口助手工具等。为了减轻查找资料和熟悉工具的负担,促使读者将更多的精力聚集在实践环节,争取快速入门,本书将每个实验涉及的《STM32中文参考手册》《ARM Cortex-M3权威指南》和《STM32固件库使用手册》上的知识点统一汇总在实验原理一节,STM32集成开发环境、程序下载工具、串口助手工具等的使用也穿插于各个章节中。这样,读者就可以通过本书和一套STM32核心板,结合书中的实验内容、实验原理、实验步骤、本章任务和本章习题,按照“勇于实践+深入思考”的思想,轻松踏上学习STM32之路,在实践过程中不知不觉掌握各种知识和技能。
    简单总结一下本书的特点:
    (1)微控制器系统设计以一块STM32核心板作为实践载体。微控制器之所以选取STM32F103 RCT6,主要考虑到STM32是目前市面上使用最为广泛的微控制器。而且该系列的微控制器具有功耗低、外设多、基于库开发、配套资料多、开发板种类多等优势。
    (2)书中16个实验涉及的所有知识点均详细讲解,未涉及的知识点几乎不予讲解。这样,初学者就可以快速掌握微控制器系统设计的绝大多数基本知识点。
    (3)各种规范贯穿于整个微控制器系统设计的过程中,如Keil集成开发环境参数设置、工程和文件命名规范、版本规范、软件设计规范等。
    (4)所有实验严格按照统一的工程架构设计,每个子模块按照统一的标准设计。
    (5)配有完整的资料包,既包括STM32核心板原理图、例程、软件包,也包括软件和硬件资料,还包括配套的PPT讲义、视频等。这些资料会持续更新,下载链接通过微信公众号“卓越工程师培养系列”获取。
    读者在使用本书开展实验时,建议先通过实验1和实验2快速熟悉整个开发流程,而对于实验3~6,务必花费大量的时间和精力,重点学习外设架构、寄存器、固件库函数、驱动设计和应用层设计等,并认真总结这4章的经验,最后,将这4章总结的经验灵活运用在后面的10个实验中,因为实验3~6基本涵盖了最后10个实验80%的知识点。学习过程中要学会抓重点,比如,实验3~6建议花费40%的时间和精力,而剩余的12个实验建议花费60%的时间和精力,切勿平均分配时间,而且学习过程中要不断总结和归纳。
    另外,本书中的程序都严格按照《C语言软件设计规范(LY-STD001—2019)》编写。设计规范要求每个函数的实现必须有清晰的函数模块信息,包括函数名称、函数功能、输入参数、输出参数、返回值、创建日期和注意事项。由于本书篇幅有限,书中实验3~16中每个函数的实现均省略了函数模块信息,但是,读者在编写程序时,建议完善每个函数的模块信息,《函数实现及其模块信息》(位于本书配套资料包的“08.软件资料”文件夹)罗列了所有函数的实现及其模块信息,供读者开展实验时参考。
    本书的编写得到了深圳市乐育科技有限公司的大力支持;深圳大学的覃进宇、刘宇林、陈旭萍和黄荣祯,以及杨钦铸、陈焕鑫、曹康养、王东琪和黄楷镔在教材编写、例程优化和文本校对中做了大量的工作;本书的出版得到了电子工业出版社的鼎力支持,张小乐编辑为本书的顺利出版做了大量工作,一并向他们表示衷心的感谢。本书获深圳大学教材出版资助。
    由于作者水平有限,书中难免有错误和不足之处,敬请读者不吝赐教。

    编  者
    2019.10
    展开

    作者简介

    本书暂无作者简介
  • 样 章 试 读
  • 图 书 评 价
华信教育资源网