内容简介
深入浅出STM8单片机入门、进阶与应用实例
本书以意法半导体公司STM8系列单片机作为讲述核心,深入浅出地介绍了该系列单片机片内资源及应用,本书以各种巧例解释相关原理,以资源组成构造学习脉络,选取主流开发工具构建开发环境,利用实战项目深化寄存器理解,注重“学”与“用”的结合。让读者快乐入门、进阶,并将相关知识应用到实际产品研发之中。
本书根据STM8系列单片机的资源脉络及初学者的进阶顺序,总共设定了21个章节,根据知识点的难易程度可以分为基础章节、进阶章节和应用章节。基础章节从第1~7章,主要讲解单片机发展、修行方法、STM8单片机家族成员、软/硬件开发环境搭建及调试、GPIO资源使用和配置、LED器件控制、常见字符/点阵型液晶模块的驱动、独立按键/矩阵键盘交互编程的相关知识和应用。进阶章节从第8~14章,主要讲解单片机内部存储器资源、选项字节配置、时钟控制器、中断控制器、基本型定时/计数器、高级型定时/计数器、电源管理及功耗控制的相关知识及应用。应用章节从第15~21章,主要讲解片内BEEP资源、片内看门狗资源、UART资源、1Wire单总线串行通信协议、同步串行外设接口SPI、I2C串行通信、模数转换器A/D资源的相关知识和应用。
本书可作为应用型高等院校电子信息类相关专业课程辅助用书,亦可作为高职高专类院校、单片机培训机构和电子类学科竞赛的辅助教材,还可以作为单片机爱好者和工程技术人员的自学参考用书。
精彩书评
本书的架构条理清晰,由浅入深,图文并茂,深刻地分析了各个寄存器的配置与使用方法,一目了然。书中并以大量的实例作为基础实验,是STM8S初学者必备良书。
——凌观胜风驰STM8开源开发平台研发工程师
一直以来,如何以通俗易懂的描述向读者呈现一个复杂的芯片内核结构是所有技术类书籍所要面对的一大难题,而该书很巧妙地解决了该问题,全书用众多生动的插图故事向读者解说单片机内核,以及如何使用STM8系列单片机,可谓惟妙惟肖,栩栩如生。而在机器人的控制中,STM8系列单片机更是占据很大市场份额,愿借以此书带领更多读者走进机器人的世界。
——赖荣杰中山市大谷电子科技有限公司总经理
这是一本非常有趣的书,可以用“大话单片机”来称呼本书,那些深奥枯燥的STM8单片机知识都被作者以独具匠心、幽默直白的语言描述了出来,书中处处可见形象的比喻,知识点非常丰富,让读者学习起来兴趣盎然、简单易懂。这是一本非常适合初学者的好书,值得为大家推荐。
——王浩北京凌阳爱普科技有限公司(大区经理)
STM8系列是意法半导体公司生产的高性能8位单片机,在8位单片机市场具备非常强的竞争力,是否能够快速掌握和应用这款单片机将是提高自己产品xing价比非常重要的事情,该书可以让我们掌握STM8更加得心应手。该书单从目录上看就引人入胜,引起读者极大的阅读兴趣,给人眼前一亮的感觉。内容更是精益求精,不仅详细讲解了技术原理,更加突出了实践性,应用非常形象生动,给我的感觉就是可以在谈笑间掌握和理解抽象的技术知识,是一本非常具备实用价值的书籍。
——宋雪松《手把手教你学51单片机C语言版》作者
兴趣是最好的老师,如何对单片机产生学习的兴趣,如何将抽象和枯燥的技术原理讲好讲透,一直困扰着单片机教育者。纵览本书,语言诙谐、插图精致,用一个个精彩甚至有些无厘头的故事讲解STM8的内部结构和外设应用。层层递进,从入门、进阶到应用实例,思路清晰,代码丰富,让人哑然失笑之后,不由得佩服作者的良苦的用心、严谨的治学态度、规范的编程风格和深厚的文字功底。技术之路是孤独和枯燥的,本书做了很多有益的探索和创新,在读者的学习过程中上增添一些帮助和快乐,值得细细品读和反复练习。
——孙锡亮青岛英谷教育科技股份有限公司物联网项目部主管、教材编辑
单片机的书很多,但是真正懂学生的、按照学生能接受的方式写给学生看的书很少,而这本《深入浅出STM8单片机入门、进阶与应用实例》就是其中之一,能够用生动的语言把单片机的枯燥知识娓娓道来,很吸引人,也很好理解,强烈推荐这本书,也真心希望更多的人能写出这么棒的书献给亲爱的学生们!
——范红刚《AVR单片机自学笔记》《51单片机自学笔记》作者
目录
第1章 “麻雀虽小,五脏俱全”开门见山谈单片机…………………………………………… 1
1.1 “一沙一起源,一芯一世界”集成电路王国……………………………………………… 2
1.2 找寻电子界的神物“七窍玲珑芯”……………………………………………………… 3
1.3 “师傅领进门,修行靠个人”单片机修行路……………………………………………… 4
1.3.1 “根骨奇佳”电子基础……………………………………………………………… 5
1.3.2 “能说会道”编程语言……………………………………………………………… 6
1.3.3 “武功秘籍”学习资源……………………………………………………………… 8
1.3.4 “武器装备”实践平台……………………………………………………………… 10
1.3.5 “内功心法”学习方法……………………………………………………………… 11
第2章 “五娃出世,各显神通”初识STM8系列单片机……………………………………… 12
2.1 意法半导体STM8家的“五个娃” …………………………………………………… 13
2.2 “大娃STM8AF”善汽车电子………………………………………………………… 13
2.3 “二娃STM8AL”攻绿色能源………………………………………………………… 15
2.4 “三娃STM8L”会低功耗与便携……………………………………………………… 16
2.5 “四娃STM8S”主消费及工控………………………………………………………… 17
2.6 “五娃STM8T”通电容接近、触摸识别……………………………………………… 19
2.7 “主角上场”STM8S207/208系列……………………………………………………… 20
第3章 “工欲善其事,必先利其器”软/硬件开发环境及调试准备………………………… 23
3.1 “塑造灵魂”软件开发环境……………………………………………………………… 24
3.1.1 IAR公司的软件开发环境IARforSTM8……………………………………… 26
3.1.2 ST公司的软件开发环境STVD ………………………………………………… 33
3.2 “躯干肢体”硬件开发环境……………………………………………………………… 41
3.2.1 开发板的“那些事儿”……………………………………………………………… 41
3.2.2 思修电子STM8“祥云”系列开发平台简介……………………………………… 42
3.3 “形神合一”程序调试与下载…………………………………………………………… 44
3.3.1 调试仿真工具ST-LINK简介…………………………………………………… 44
3.3.2 可视化编程STVP软件运用…………………………………………………… 46
3.3.3 Flashloaderdemonstrator串口下载软件运用………………………………… 49
3.4 “望闻问切”参数测试与分析…………………………………………………………… 53
3.4.1 信号观察好搭档“示波器”………………………………………………………… 53
3.4.2 数据分析好帮手“逻辑分析仪”…………………………………………………… 54
第4章 “五指琴魔,智能乐章”通用输入/输出GPIO 资源………………………………… 56
4.1 GPIO配置模式基础知识铺垫………………………………………………………… 57
4.1.1 “Playit!”弹奏单片机的智能乐章……………………………………………… 57
4.1.2 如何理解悬浮输入………………………………………………………………… 58
4.1.3 如何理解上拉输入………………………………………………………………… 59
4.1.4 如何理解推挽输出………………………………………………………………… 60
4.1.5 如何理解开漏输出………………………………………………………………… 60
4.1.6 如何理解GPIO内部保护二极管………………………………………………… 63
4.1.7 GPIO引脚功能复用及意义……………………………………………………… 64
4.1.8 GPIO引脚外部中断功能………………………………………………………… 65
4.1.9 GPIO引脚电气性能……………………………………………………………… 66
4.2 初识STM8单片机GPIO资源……………………………………………………… 69
4.2.1 STM8S207/208系列单片机封装及引脚分布…………………………………… 70
4.2.2 GPIO资源相关寄存器简介……………………………………………………… 79
4.2.3 GPIO输入/输出模式配置流程………………………………………………… 81
第5章 “光电世界,自信爆棚”LED 器件编程应用………………………………………… 87
5.1 瞬间自信心爆棚的入门经典“流水灯”………………………………………………… 88
5.1.1 为什么入门经典总是“点灯实验”………………………………………………… 88
5.1.2 发光二极管模型及电气简介……………………………………………………… 89
5.1.3 基础项目A 左移/右移/花样流水灯…………………………………………… 89
5.2 GPIO资源扩展“小帮手”……………………………………………………………… 93
5.2.1 基础项目B74HC138译码器应用实验………………………………………… 93
5.2.2 基础项目C74HC154译码器应用实验………………………………………… 98
5.2.3 基础项目D74HC164“串入并出”应用实验…………………………………… 103
5.3 火柴棍游戏说“数码管”原理………………………………………………………… 108
5.3.1 数码管内部结构及分类………………………………………………………… 109
5.3.2 基础项目E 一位数码管0~F数码显示……………………………………… 111
5.3.3 实战项目A 基于74HC595串行动态数码管显示…………………………… 114
第6章 “点、线、面的艺术”字符/点阵型液晶编程应用…………………………………… 121
6.1 单片机人机交互中的显示单元……………………………………………………… 122
6.1.1 常见的单片机显示方案选择…………………………………………………… 122
6.1.2 神奇的单片机“显卡”…………………………………………………………… 123
6.2 字符型1602液晶模块………………………………………………………………… 124
6.2.1 模块功能引脚定义……………………………………………………………… 125
6.2.2 读/写时序及程序实现…………………………………………………………… 126
6.2.3 液晶功能配置命令……………………………………………………………… 128
6.2.4 基础项目A1602液晶字符、进度条、移屏实验……………………………… 132
6.2.5 基础项目B 四线驱动1602节省GPIO实验………………………………… 138
6.3 图形/点阵型12864液晶模块………………………………………………………… 141
6.3.1 模块功能引脚定义……………………………………………………………… 142
6.3.2 读/写时序及程序实现…………………………………………………………… 143
6.3.3 液晶功能配置命令……………………………………………………………… 144
6.3.4 汉字坐标与绘图坐标…………………………………………………………… 146
6.3.5 基础项目C12864液晶字符、汉字显示实验…………………………………… 148
6.3.6 实战项目A12864液晶进度条动画效果……………………………………… 151
6.3.7 基础项目D 两线驱动12864节省GPIO实验………………………………… 154
6.3.8 实战项目B 两线串行模式正弦波打点绘图…………………………………… 158
第7章 “0101,我是键码!”独立按键/矩阵键盘交互编程………………………………… 163
7.1 “输入设备”人机交互中的“桥梁”…………………………………………………… 164
7.2 轻触按键基础知识与应用…………………………………………………………… 164
7.2.1 轻触按键分类及组成结构……………………………………………………… 164
7.2.2 轻触按键电压波形……………………………………………………………… 165
7.2.3 常见按键“去抖动”方法………………………………………………………… 166
7.3 基础按键/键盘结构及应用…………………………………………………………… 167
7.3.1 独立按键结构及电路…………………………………………………………… 167
7.3.2 基础项目A 独立按键检测与控制实验………………………………………… 168
7.3.3 行列式矩阵键盘结构…………………………………………………………… 171
7.3.4 基础项目B 矩阵键盘“线反转式”扫码法实验………………………………… 172
7.4 不曾遗忘的“IBMPS/2”键盘/鼠标协议及应用…………………………………… 179
7.4.1 回到“XT、AT、PS/2”的时代…………………………………………………… 179
7.4.2 PS/2通信及数据帧构成………………………………………………………… 181
7.4.3 PS/2键盘的通码、断码和扫描码集…………………………………………… 182
7.4.4 PS/2设备到主机通信流程……………………………………………………… 186
7.4.5 实战项目APS/2小键盘加1602液晶密码锁实验…………………………… 187
7.4.6 实战项目BPS/2大键盘Shift键大小写功能实验…………………………… 195
第8章 “高楼大厦,各有功用”Flash程序存储器与EEPROM …………………………… 202
8.1 小宇老师的“高楼大厦”……………………………………………………………… 203
8.2 细说“高楼大厦”之功用……………………………………………………………… 205
8.2.1 “临时办公室”随机读写RAM ………………………………………………… 205
8.2.2 “教务调度室”堆栈……………………………………………………………… 206
8.2.3 “专业教室”FlashROM ………………………………………………………… 206
8.2.4 “机密档案室”EEPROM ……………………………………………………… 208
8.2.5 “校长决策室”选项字节………………………………………………………… 209
8.2.6 “学校资源管理”端口及外设寄存器…………………………………………… 210
8.2.7 “实训创新室”引导启动ROM ………………………………………………… 211
8.2.8 “核心事务管理”CPU/SWIM/Debug/ITC寄存器…………………………… 212
8.2.9 “突发事件传达室”32级中断向量……………………………………………… 213
8.3 存储器资源相关寄存器简介………………………………………………………… 214
8.3.1 FLASH_CR1/FLASH_CR2控制寄存器……………………………………… 214
8.3.2 FLASH_FPR保护寄存器……………………………………………………… 217
8.3.3 FLASH_PUKR程序存储器解保护寄存器…………………………………… 218
8.3.4 FLASH_DUKR数据EEPROM 解保护寄存器……………………………… 218
8.3.5 FLASH_IAPSR状态寄存器…………………………………………………… 219
8.4 FlashROM 的编程方式简介………………………………………………………… 220
8.4.1 什么是IAP和ICP ……………………………………………………………… 220
8.4.2 如何理解标准/快速编程以及RWW 功能…………………………………… 220
8.4.3 如何理解字节编程……………………………………………………………… 221
8.4.4 如何理解字编程………………………………………………………………… 222
8.4.5 如何理解块编程………………………………………………………………… 223
8.5 存储器读/写保护与控制……………………………………………………………… 224
8.5.1 ROP存储器读出保护…………………………………………………………… 224
8.5.2 “接头暗号”MASS存储器存取安全系统……………………………………… 224
8.6 基础项目A:1位数码管计数状态掉电不丢失实验……………………………… 226
第9章 “单片机的外科手术”Optionbytes配置及应用…………………………………… 231
9.1 “开始手术”配置系统参数及外设功能……………………………………………… 232
9.2 Optionbytes选项配置详解………………………………………………………… 233
9.3 利用STVP修改选项字节方法及流程……………………………………………… 240
9.4 利用IAR修改选项字节方法及流程………………………………………………… 243
9.5 基础项目A 基于IAP方式修改选项配置实验…………………………………… 248
第10章 “内藏三心,坚实比金”时钟控制器配置及应用…………………………………… 252
10.1 “唐僧的心”说STM8时钟源选择………………………………………………… 253
10.2 好大的一棵“时钟树”………………………………………………………………… 256
10.3 配置系统主时钟为HSI …………………………………………………………… 257
10.4 配置系统主时钟为HSE …………………………………………………………… 265
10.4.1 自动切换时钟源步骤及配置过程……………………………………………… 265
10.4.2 基础项目BHSI与HSE自动切换时钟源…………………………………… 268
10.4.3 手动切换时钟源步骤及配置过程……………………………………………… 272
10.4.4 基础项目CHSI与HSE手动切换时钟源…………………………………… 275
10.5 配置系统主时钟为LSI …………………………………………………………… 279
10.5.1 基础项目D 程序配置启用LSI时钟源……………………………………… 281
10.5.2 基础项目EHSI与LSI自动切换时钟源…………………………………… 283
10.5.3 基础项目FHSI与LSI手动切换时钟源…………………………………… 287
10.6 修剪“时钟树枝”降低系统功耗……………………………………………………… 288
10.7 时钟安全系统CSS“比干的心”……………………………………………………… 290
10.7.1 基础项
深入浅出STM8单片机入门、进阶与应用实例 电子书 下载 mobi epub pdf txt