《深入浅出STM8单片机入门、进阶与应用实例》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:龙顺宇编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2016
  • ISBN:7512421950
  • 页数:804 页
图书介绍:

第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公司的软件开发环境IAR for STM8 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 Flash loader demonstrator串口下载软件运用 49

3.4 “望闻问切”参数测试与分析 53

3.4.1 信号观察好搭档“示波器” 53

3.4.2 数据分析好帮手“逻辑分析仪” 54

第4章 “五指琴魔,智能乐章”通用输入/输出GPIO资源 56

4.1 GPIO配置模式基础知识铺垫 57

4.1.1 “Play it!”弹奏单片机的智能乐章 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 基础项目B 74HC138译码器应用实验 93

5.2.2 基础项目C 74HC154译码器应用实验 98

5.2.3 基础项目D 74HC164“串入并出”应用实验 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 基础项目A 1602液晶字符、进度条、移屏实验 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 基础项目C 12864液晶字符、汉字显示实验 148

6.3.6 实战项目A 12864液晶进度条动画效果 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 不曾遗忘的“IBM PS/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 实战项目A PS/2小键盘加1602液晶密码锁实验 187

7.4.6 实战项目B PS/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 “专业教室”Flash ROM 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 Flash ROM的编程方式简介 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章 “单片机的外科手术”Option bytes配置及应用 231

9.1 “开始手术”配置系统参数及外设功能 232

9.2 Option bytes选项配置详解 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 基础项目B HSI与HSE自动切换时钟源 268

10.4.3 手动切换时钟源步骤及配置过程 272

10.4.4 基础项目C HSI与HSE手动切换时钟源 275

10.5 配置系统主时钟为LSI 279

10.5.1 基础项目D程序配置启用LSI时钟源 281

10.5.2 基础项目E HSI与LSI自动切换时钟源 283

10.5.3 基础项目F HSI与LSI手动切换时钟源 287

10.6 修剪“时钟树枝”降低系统功耗 288

10.7 时钟安全系统CSS“比干的心” 290

10.7.1 基础项目G“挖心不死”效果验证 294

10.8 可配置时钟输出“CCO”功能 297

10.8.1 基础项目H可配置时钟输出“CCO”实验 299

第11章 “轻重缓急,有条不紊”中断控制器配置及应用 304

11.1 何谓中断?意义何在? 305

11.2 “中断”了!咋处理? 306

11.3 “临朝治政,百官进言”中断源及分类 308

11.3.1 “皇帝、皇后、皇太后”谁敢惹? 309

11.3.2 “文武百官”挨个来 310

11.3.3 “圣旨到!”STM8中断指令 311

11.3.4 “STM8中断皇朝”游戏攻略 312

11.4 中断管理模式 318

11.4.1 非嵌套模式“微臣有本请奏” 319

11.4.2 嵌套模式“大人此言差矣” 320

11.5 中断功能相关寄存器详解 321

11.5.1 CPU条件代码寄存器CCR 321

11.5.2 软件优先级寄存器ITC_SPRx 323

11.5.3 外部中断控制寄存器EXTI_CRx 324

11.6 基础项目A查询法/中断法独立按键对比实验 328

第12章 “老和尚捻珠数羊”8位基本型定时/计数器TIM4 334

12.1 单片机定时/计数器本质及区别 335

12.2 STM8S单片机定时/计数器资源 336

12.2.1 STM8S定时/计数器分类 336

12.2.2 STM8S208MB定时器/计数器简介 337

12.3 TIM4系统结构及配置方法 338

12.3.1 如何理解计数模式? 340

12.3.2 更新事件UEV的意义 341

12.3.3 TIM4初始化流程及配置 342

12.4 TIM4相关寄存器简介 343

12.4.1 TIM4_CR1控制寄存器1 344

12.4.2 TIM4_IER中断使能寄存器 346

12.4.3 TIM4_SR状态寄存器 346

12.4.4 TIM4_EGR事件产生寄存器 347

12.4.5 TIM4_CNTR计数器 348

12.4.6 TIM4_PSCR预分频寄存器 348

12.4.7 TIM4_ARR自动重装载寄存器 349

12.5 基础项目A自定义1Hz信号输出实验 349

第13章 “多才多艺,功能王者”16位高级型定时/计数器TIM1 353

13.1 TIM1资源功能及特性简介 354

13.2 “小菜一碟”定时功能 355

13.2.1 TIM1资源时基单元结构 355

13.2.2 定时功能配置流程及相关寄存器简介 357

13.2.3 基础项目A配置输出1/1 k/10 k/100 kHz方波实验 365

13.3 “轻松拿下”计数功能 371

13.3.1 外部时钟源模式1计数功能 371

13.3.2 模式1配置流程及相关寄存器简介 372

13.3.3 基础项目B捕获/比较通道脉冲计数实验 380

13.3.4 外部时钟源模式2计数功能 386

13.3.5 模式2配置流程及相关寄存器简介 387

13.3.6 基础项目C外部触发引脚脉冲计数实验 390

13.4 输入捕获之“轻松测量”信号周期及占空比 395

13.4.1 谈谈方波信号的频率及占空比测量 395

13.4.2 TIM1资源的输入捕获功能 396

13.4.3 周期测量功能配置流程 398

13.4.4 基础项目D简易1 kHz~1 MHz方波信号频率计 407

13.4.5 PWM信号占空比测量 412

13.4.6 什么是复位触发模式? 414

13.4.7 占空比测量功能配置流程 415

13.4.8 基础项目E简易PWM信号占空比测量实验 419

13.5 “灵活自由”的输出比较功能 424

13.5.1 输出比较功能结构及用途 424

13.5.2 什么叫做“边沿对齐”方式? 426

13.5.3 怎么理解“中间对齐”方式? 429

13.5.4 边沿/中间对齐PWM输出配置流程 431

13.5.5 基础项目F边沿对齐方式四路PWM信号输出 441

13.5.6 基础项目G中间对齐方式四路PWM信号输出 446

第14章 “摇身一变睡美人儿”电源模式管理及系统功耗控制 451

14.1 为什么要注重单片机系统功耗? 452

14.2 如何降低单片机系统功耗? 453

14.2.1 功耗控制之硬件调整 453

14.2.2 功耗控制之软件优化 454

14.3 STM8单片机功耗管理 456

14.3.1 STM8低功耗优势 456

14.3.2 STM8供电电压/时钟功耗影响 457

14.3.3 STM8运行模式 459

14.3.4 Wait等待模式 460

14.3.5 Halt停机模式 461

14.3.6 Active-Halt活跃停机模式 462

14.4 AWU自动唤醒“单片机起床吧!” 464

14.4.1 AWU系统结构及操作流程 464

14.4.2 AWU配置及唤醒时间计算 466

14.4.3 基础项目A验证AWU“闹钟唤醒”效果 470

14.5 低功耗STM8L系列单片机 475

第15章 “哗啵哗啵~滴滴~”蜂鸣器激励信号产生与控制 477

15.1 状态音提示小助手“电/磁讯响器” 478

15.1.1 压电式蜂鸣器原理与应用 479

15.1.2 电磁式蜂鸣器原理与应用 479

15.1.3 自激励源蜂鸣器 480

15.1.4 外激励源蜂鸣器 480

15.1.5 蜂鸣器选型原则及参数 481

15.2 蜂鸣器硬件驱动电路设计 482

15.2.1 三极管开关驱动电路 482

15.2.2 基于ULN2003A/ULN2003D的驱动电路 483

15.3 STM8单片机蜂鸣器控制 485

15.3.1 选项字节配置蜂鸣器功能复用引脚 487

15.3.2 基础项目A自激励源蜂鸣器“鸣叫”控制实验 489

15.3.3 外激励源蜂鸣器控制 491

15.3.4 基础项目B外激励源蜂鸣器“变调”效果实验 493

第16章 “系统状态监察/执行官”独立/窗口看门狗配置及应用 496

16.1 “监察/执行官”IWDG与WWDG 497

16.2 独立看门狗IWDG启用与配置 497

16.2.1 IWDG启用方法 498

16.2.2 IWDG系统结构及配置方法 499

16.2.3 IWDG实现机制 502

16.2.4 IWDG超时溢出时间计算 503

16.3 基础项目A验证IWDG超时复位 506

16.4 窗口看门狗WWDG启用与配置 510

16.4.1 WWDG启用方法 510

16.4.2 WWDG系统结构及配置方法 511

16.4.3 WWDG实现机制 514

16.4.4 WWDG超时溢出时间计算 515

16.4.5 WWDG在系统低功耗模式下的状态 516

16.5 基础项目B验证WWDG超时复位 518

第17章 “你来我往,烽火传信”串行数据通信及UART应用 522

17.1 “烽火戏诸侯”说单片机数据通信 523

17.2 单片机通信理论铺垫 526

17.2.1 单片机并行通信 527

17.2.2 单片机串行通信 528

17.2.3 串行通信位同步方式 529

17.2.4 串行通信数据传送方式 532

17.2.5 串行通信时钟及传送速率 534

17.2.6 串行信道数据编码格式 535

17.2.7 串行信道中的常见电平标准 536

17.3 单片机数据通信电平转换问题及解决方案 537

17.3.1 单向8通道电平转换方案SN74LVC8T245 538

17.3.2 单向16通道电平转换方案SN74LVC16T245 540

17.3.3 自动方向检测转换器方案TXB0108 542

17.3.4 针对漏极开路应用的自动方向检测转换器方案TXS0108 543

17.3.5 EIA RS-232C电平转换方案MAX232/MAX3232 544

17.4 常用串行通信接口 546

17.4.1 DB25串口接口及规范 546

17.4.2 DB9串口接口及规范 547

17.5 走进STM8单片机USART/UART 548

17.5.1 STM8单片机USART/UART基础知识 548

17.5.2 收发流程及相关寄存器简介 549

17.5.3 数据位配置 550

17.5.4 校验位配置 553

17.5.5 停止位配置 556

17.5.6 波特率计算与配置 557

17.5.7 功能使能位配置 560

17.5.8 异步通信模式下的发送程序 563

17.5.9 异步通信模式下的接收程序 564

17.5.10 异步通信模式初始化程序 565

17.5.11 STM8单片机智能卡/IrDA/LIN功能及相关寄存器简介 568

17.6 基础项目A Unique ID“身份证号码”输出实验 573

17.7 实战项目A上/下位机串口命令交互实验 578

17.8 实战项目B基于XFS5152CE的TTS语音合成系统 583

17.8.1 神奇的语音合成“TTS”技术 583

17.8.2 初识XFS5152CE语音合成芯片 584

17.8.3 搭建XFS5152CE硬件平台 586

17.8.4 详解XFS5152CE功能控制命令 595

17.8.5 简单易用的“文本控制标记” 601

17.8.6 方便实用的“提示音” 603

17.8.7 语音识别命令词 604

17.8.8 上位机软件实现XFS5152CE功能控制 604

17.8.9 串口驱动XFS5152CE语音合成程序源码 606

第18章 “通信神功,脚踏独木桥”1-Wire单总线器件编程及应用 613

18.1 初识“独木桥”单总线串行通信 614

18.2 DS18B20数字温度传感器简介 615

18.2.1 DS18B20功能描述 615

18.2.2 DS18B20引脚/封装及实物 616

18.2.3 DS18B20典型硬件电路 617

18.3 DS18B20系统结构 618

18.3.1 器件“身份证”64位光刻ROM序列 619

18.3.2 器件内部9字节存储器 620

18.4 DS18B20功能配置流程 625

18.4.1 设备初始化流程 625

18.4.2 写数据至从机流程 627

18.4.3 主机读取数据流程 629

18.5 实战项目A单点DS18B20温度值测量串口打印 631

18.5.1 单点测量硬件电路原理 631

18.5.2 单点测量程序设计及功能测试 633

18.6 实战项目B读取单设备“身份证”64位ROM序列 640

18.7 实战项目C串口交互三点DS18B20温度采集系统 641

第19章 “击鼓声响,双向传花”串行外设接口SPI配置及应用 648

19.1 “击鼓传花”说SPI“玩儿法” 649

19.2 STM8同步串行外设接口简介 650

19.3 STM8单片机SPI资源结构 651

19.3.1 主/从角色如何扮演? 653

19.3.2 传输数据高/低位谁在前? 654

19.3.3 时钟极性与时钟相位 654

19.4 SPI资源相关寄存器简介 656

19.4.1 SPI_CR1控制寄存器1 656

19.4.2 SPI_CR2控制寄存器2 658

19.4.3 SPI_ICR中断控制寄存器 660

19.4.4 SPI_SR状态寄存器 661

19.4.5 SPI_DR数据寄存器 662

19.4.6 SPI_CRCPR多项式寄存器 663

19.4.7 SPI_RXCRCR接收数据多项式寄存器 663

19.4.8 SPI_TXCRCR发送数据多项式寄存器 664

19.5 不同“角色”的初始化流程及配置 664

19.5.1 主设备初始化流程及配置 664

19.5.2 从设备初始化流程及配置 667

19.5.3 基础项目A三线SPI接口双机通信实验 668

19.6 初识winbond华邦W25Qxx系列存储颗粒 676

19.6.1 W25Qxx系列存储颗粒概述 676

19.6.2 W25Qxx系列存储颗粒“控制和状态寄存器” 679

19.6.3 W25Qxx系列存储颗粒功能指令详解 680

19.6.4 实战项目A串口打印W25Q16存储器芯片器件ID 696

19.6.5 实战项目B W25Q16存储芯片数据读写实验 704

第20章 “大老爷升堂,威武!”串行总线接口I2C配置及应用 713

20.1 “大老爷升堂问案”说I2C“玩法” 714

20.2 初识标准I2C总线协议 716

20.2.1 “相关人等”I2C总线上的“角色” 717

20.2.2 “升堂退堂”数据有效性及起止条件 719

20.3 初识Atmel公司AT24Cxx系列EEPROM芯片 720

20.3.1 AT24Cxx系列芯片简介 721

20.3.2 AT24Cxx系列芯片写操作时序 722

20.3.3 AT24Cxx系列芯片读操作时序 724

20.3.4 基础项目A STM8模拟I2C读写AT24C02应答测试实验 726

20.3.5 基础项目B STM8模拟I2C单字节读写AT24C02实验 739

20.3.6 实战项目A STM8模拟I2C多字节读写AT24C02实验 747

20.3.7 实战项目B STM8模拟I2C页写入AT24C02实验 758

第21章 “对内翻译官”A/D模数转换器原理及应用 764

21.1 表达消息的“电信号” 765

21.1.1 模拟信号Analog signal 765

21.1.2 数字信号Digital signal 766

21.1.3 A/D转换与D/A转换 767

21.2 STM8单片机逐次逼近型A/D资源 768

21.2.1 STM8单片机A/D资源配备 769

21.2.2 ADC2系统结构 769

21.2.3 ADC2转换模式 771

21.2.4 ADC2转换速度 772

21.2.5 ADC2分辨率及转换精度 773

21.3 ADC2资源配置与应用 773

21.3.1 ADC2初始化流程“七步走” 774

21.3.2 ADC2相关寄存器及配置 774

21.4 A/D转换系统可靠性设计 781

21.4.1 供电及转换参考电压优化 782

21.4.2 采样前端电路处理 783

21.4.3 采样数据软件滤波 783

21.5 实战项目A电压采集和低/高压等级指示器 785

21.6 实战项目B“一线式”4*4矩阵键盘设计与实现 793

参考文献 804