首页>参考读物>电子电工>电子工程

STM8实战
作者 : 高显生 彭英杰 编著
出版日期 : 2016-06-21
ISBN : 978-7-111-53834-9
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 484
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书是一本介绍如何使用意法公司推出的集成开发环境STVD、配合使用意法公司的ST-LINK/V2在线仿真/编程器完成STM8系列单片机开发的入门书籍。全书以STM8主流系列大容量产品STM8S208RB单片机为例,对STM8S系列单片机的片内功能、开发环境、功能模块以及接口电路等方面做了详细的介绍。本书也同样是一本0基础入门单片机C语言开发的实践指导书。

图书特色

全书以STM8主流系列大容量产品STM8S208RB单片机为例,配合意法公司推出的集成开发环境STVD和ST-LINK/V2在线仿真/编程器,对STM8S系列单片机的片内功能、开发环境、功能模块以及接口电路等做了详细介绍。

本书通过对基于STM8的单片机系统板的学习,对STM8单片机开发所涉及的集成开发环境、在线编程仿真、内核结构、功能模块和接口电路做了较为详细的介绍,并且将“动手DIY”作为学好单片机的基本理念贯穿于本书始终,让初学者既能低成本投入,又能增强动手能力,还可以摆脱对开发板的过分依赖,培养独立思考能力,这正是作者对整个STM8单片机开发学习过程和本书内容的精妙安排。

本书特点
使用了意法公司集成开发环境STVD和ST-LINK/V2在线仿真/编程器完成开发。
教你快速掌握单片机C语言程序设计的精髓。
全书基于寄存器操作,可加深对芯片功能的理解。
每章都配有丰富的实践和练习,便于读者快速入门STM8单片机开发。
可以结合优酷网上的配套视频学习。

高显生 男,1972年出生,电气工程师,骨灰级单片机爱好者,长期热衷于单片机公益培训和研发,倡导简捷易懂、立足应用的单片机学习方法,著有《我和PIC单片机:基于PIC18》《AVR单片机入门与速成攻略》等书。先后录制了《我和单片机的21天之旅》《我的PIC日记》《迷人的AVR单片机》等多部大型公益视频教程,在网络上得以广泛传播和推广,深受学生朋友及科研工作者的喜爱和好评。

图书前言

近年来,意法半导体有限公司(以下简称意法公司)的单片机产品在国内单片机市场上受到了广泛关注,其旗下STM32系列单片机凭借高性能、高性价比成为32位单片机的市场主流产品,而STM8系列由于采用了和STM32系列一样的外设以及高性能的beCAN模块也迅速得到用户的认可。甚至在如今的人才市场上,会不会使用STM8和STM32单片机往往是用人方选择硬件工程师的条件之一,其重要性和技术影响力可见一斑。
从8位单片机来讲,STM8系列单片机与PIC16系列、PIC18系列、mega AVR系列相比,无论在性能、价格上都不逊色,特别是STM8的超低价格系列单片机,使单片机的价格低于一元成为现实,这无疑对降低产品成本极为有利。
本书是介绍如何使用意法公司推出的集成开发环境STVD、配合使用意法公司的ST-LINK/V2在线仿真/编程器完成STM8系列单片机开发的入门书籍。全书以STM8主流系列大容量产品STM8S208RB单片机为例,对STM8S系列单片机的片内功能、开发环境、功能模块以及接口电路等方面做了详细介绍。本书也是一本零基础入门单片机C语言编程的实践指导书。
本书不拘泥于概念和原理的阐述,而是立足于实践,从系统板基础电路起步,一章一个例子、一章一个实验、一章一个总结、一个模块一套或多套代码,让读者低投入快速入门STM8单片机的开发。
本书对读者没有学历、基础知识的限制,只要快乐阅读、勤于动手,有无基础都可以在短时间内入门STM8单片机开发。更为欣喜的是,STM8单片机的外设模块与STM32系列是通用的,为日后学习基于ARM Cortex 系列的STM32系列单片机打下了很好的基础。
本书使用了流行的C语言编写全部代码,而且所有代码均基于对单片机寄存器的直接操作,没有使用STM8的固件库。当前,对单片机的操作有两种观点,一方主张使用寄存器操作,理由是代码简洁且高效;另一方主张使用固件库,理由是代码易读,不用对硬件有更深入的了解。作为学习STM8单片机的入门教材,我更支持前者,原因有二:一是STM8的寄存器数量虽然多,但还在一个可接受的范围内;二是,作为初学者,将来肯定要过渡到STM32系列,掌握了STM8的外设详细功能,为日后学习用固件库开发STM32打下了好的基础。
本书的配套视频教程是《爱上STM8单片机》,读者可以登录优酷网观看。本书在视频教程的基础上进行了进一步的统筹、规纳和整理,是视频教程的凝练和升华。由于作者水平所限,加之写作时间仓促,书中错误在所难免,在此恳请读者和业内人士给予批评斧正。也欢迎大家通过互联网与我分享、交流STM8的开发心得。作者QQ:710878209,微信号:gpmza2000。本书配套DEMO系统板和开发板由睿芯美微淘宝网店同步推出,网址:http://shop59521455.taobao.com。
本书得以出版,要特别感谢机械工业出版社的编辑们。另外要感谢我的哥哥高显功,作为高级电气工程师的他,出于浓厚的亲情,在百忙的研发工作中,抽出了宝贵的时间,担任了本书的技术审校,并对编写方法提出了很多有价值的指导意见。最后要感谢我的家人,在我奋笔疾书的日日夜夜,是他们照顾了我的饮食起居,让我能更加专注于本书的创作。
尺有所短,寸有所长。如果你的头脑中时常对电子设备萌发出一些新奇的想法或创意,请一定将其捕捉,并且通过对本书的学习和实践,努力将其变为现实,这也许就是你走上研发之路的起点,你的人生也会因此变得更加精彩。

高显生
2015年9月于哈尔滨

上架指导

单片机

封底文字

本书通过对一个基于STM8单片机系统板的学习,将STM8单片机开发所涉及的集成开发环境、在线编程仿真、内核结构、功能模块和接口电路做了较为详细的介绍,并且将“动手DIY”做为学好单片机的基本理念贯穿于本书始终,让初学者既能低成本投入、又能增强动手能力、还可以摆脱对开发板的过份依赖,培养出独立思考的能力来,这正是作者对整个STM8单片机开发学习过程和本书内容的精妙安排。

本书特色:
使用了意法公司集成开发环境STVD和ST-LINK/V2在线仿真/编程器完成开发。
教你快速常握单片机C语言程序设计的精髓。
全书基于寄存器操作,可加深对芯片功能的理解。
每章都有配套的实践和练习。
可以结合优酷网上的配套视频学习。

作者简介

高显生 彭英杰 编著:暂无简介

图书目录

前言
第一篇 基础功能
第1章 体验STM8 2
1.1 意法公司的MCU产品 2
1.1.1 STM8系列 2
1.1.2 STM32系列 5
1.2 性能优异的STM8S 5
1.2.1 片内功能概述 5
1.2.2 引脚功能 9
1.3 通用I/O口 12
1.3.1 GPIO的特点 12
1.3.2 GPIO的配置 13
1.3.3 GPIO的寄存器 14
第2章 入门C语言 17
2.1 数据和运算 17
2.1.1 数的进制 17
2.1.2 码制 18
2.1.3 数据类型 19
2.1.4 常量 19
2.1.5 变量 19
2.1.6 运算符 20
2.1.7 复合赋值运算符 22
2.2 语句 23
2.2.1 控制语句 23
2.2.2 其他语句 28
2.3 函数 28
2.3.1 自定义函数 29
2.3.2 函数的声明和调用 30
2.4 程序 30
2.4.1 程序的构成 30
2.4.2 程序的注释 31
2.4.3 局部变量和全局变量 32
2.4.4 变量修饰关键词 33
2.4.5 指针 34
2.5 预处理命令 35
2.5.1 宏定义 35
2.5.2 文件包含 35
2.6 构造类型数据 36
2.6.1 数组 36
2.6.2 结构体 36
2.6.3 共用体 37
第3章 开发工具 39
3.1 开发工具 39
3.1.1 ST-LINK/V2仿真/编程器 39
3.1.2 STM8S系统板 40
3.2 开发环境 41
3.2.1 集成开发环境 41
3.2.2 下载STTOOLSET 42
3.2.3 安装STTOOLSET 43
3.2.4 安装Cosmic C编译器 47
3.2.5 移植头文件 52
3.3 编写应用程序 52
3.3.1 建立开发项目 52
3.3.2 我的第一个C程序 55
3.3.3 设置编辑器中的字体 56
3.3.4 设置工程选项 57
3.3.5 编译代码及烧写 58
第4章 仿真调试 62
4.1 编程接口 62
4.1.1 单线接口 62
4.1.2 单线接口的控制寄存器 63
4.1.3 供电电源 63
4.2 复位 64
4.2.1 复位的原理 64
4.2.2 复位源 64
4.2.3 复位寄存器 65
4.3 硬件调试 66
4.3.1 进入调试模式 66
4.3.2 调试功能按钮 69
4.3.3 设置断点 70
4.3.4 建立观察窗口 71
4.3.5 调试应用程序 72
4.4 软件仿真 74
第5章 存储器 77
5.1 FLASH和EEPROM 77
5.1.1 存储器组织结构 78
5.1.2 存储器保护 79
5.1.3 存取安全系统 79
5.1.4 存储器的编程 80
5.1.5 存储器的控制寄存器 81
5.1.6 EEPROM的读写 84
5.2 选项字节 88
5.2.1 选项字节的功能 88
5.2.2 修改选项字节 89
第6章 时钟树及电源管理 92
6.1 时钟树 92
6.1.1 时钟的产生 92
6.1.2 时钟控制器 93
6.1.3 系统时钟 94
6.1.4 主时钟切换 95
6.1.5 时钟配置 98
6.1.6 时钟中断 99
6.1.7 时钟控制寄存器 99
6.1.8 时钟切换编程实例 105
6.2 电源管理 107
6.2.1 运行模式 107
6.2.2 低功耗模式 108
第7章 看门狗及蜂鸣器 109
7.1 看门狗 109
7.1.1 独立看门狗 109
7.1.2 独立看门狗控制寄存器 110
7.1.3 窗口看门狗 111
7.1.4 窗口看门狗控制寄存器 114
7.2 蜂鸣器 115
7.2.1 蜂鸣器的功能 115
7.2.2 蜂鸣器的控制寄存器 116
7.2.3 蜂鸣器的编程应用 116
7.3 自动唤醒 121
7.3.1 自动唤醒功能 121
7.3.2 自动唤醒时间间隔 122
7.3.3 AWU寄存器 123
第二篇 单元模块
第8章 外部中断 128
8.1 中断系统 128
8.1.1 中断源 128
8.1.2 优先级 130
8.1.3 中断指令 131
8.2 外部中断的特点 132
8.2.1 外部中断控制寄存器 132
8.2.2 中断服务 134
8.2.3 外部中断的编程应用 137
第9章 定时器TIM1 142
9.1 TIM1功能 142
9.1.1 TIM1的内部结构 142
9.1.2 时基单元 143
9.1.3 计数模式 147
9.1.4 时钟/触发控制器 150
9.1.5 捕捉/比较阵列 157
9.1.6 输入模块 158
9.1.7 输入捕捉模式 159
9.1.8 输出模块 161
9.1.9 中断 166
9.2 TIM1的寄存器 167
9.2.1 控制寄存器 167
9.2.2 外部触发寄存器 171
9.2.3 中断、状态和事件寄存器 173
9.2.4 捕捉比较寄存器 177
9.3 TIM1的编程应用 192
9.3.1 系统时钟计数 192
9.3.2 外部时钟计数 196
9.3.3 基于捕捉的频率计 201
9.3.4 PWM四路调光灯 206
第10章 定时器TIM2/TIM3 210
10.1 TIM2/TIM3介绍 210
10.1.1 通用定时器的结构 210
10.1.2 时基单元 210
10.1.3 捕获/比较阵列 211
10.1.4 TIM2/TIM3的控制寄存器 213
10.2 TIM2/TIM3的编程应用 226
第11章 定时器TIM4 231
11.1 TIM4简介 231
11.1.1 TIM4的内部结构 231
11.1.2 TIM4的功能 231
11.1.3 TIM4的控制寄存器 232
11.2 TIM4的编程应用 235
第12章 ADC模块 242
12.1 ADC模块的功能 242
12.1.1 A/D转换器工作原理 242
12.1.2 ADC2模块的内部结构 243
12.1.3 模拟通道的等效电路 244
12.2 ADC模块的控制 245
12.2.1 启动A/D转换 245
12.2.2 转换模式 245
12.2.3 触发转换 246
12.2.4 A/D转换时序 246
12.2.5 转换结果的存储方式 247
12.2.6 ADC模块的低功耗模式和中断 248
12.2.7 ADC模块的相关寄存器 249
12.3 ADC模块的编程应用 252
第13章 SPI模块 257
13.1 串行外设接口 257
13.1.1 SPI总线 257
13.1.2 SPI模块的特点 257
13.1.3 SPI模块的结构 258
13.1.4 单主单从应用 259
13.1.5 时钟的相位和极性 260
13.1.6 SPI主模式 262
13.1.7 SPI从模式 262
13.1.8 单工通信 263
13.1.9 状态标志 263
13.1.10 CRC校验 264
13.1.11 错误标志 265
13.1.12 SPI的低功耗模式 266
13.1.13 SPI中断 266
13.2 SPI的控制寄存器 266
13.3 存储器93C46 271
13.3.1 93C46的引脚功能 271
13.3.2 93C46操作指令 272
13.3.3 93C46的数据传输时序 274
13.4 SPI模块的编程应用 274
第14章 I2C模块 280
14.1 I2C总线 280
14.1.1 I2C总线的特点 281
14.1.2 I2C总线通信协议 281
14.1.3 I2C器件的寻址 282
14.2 I2C模块的功能 283
14.2.1 I2C模块的内部结构 283
14.2.2 I2C主模式 284
14.2.3 I2C从模式 287
14.2.4 出错状态 289
14.2.5 时钟速率 290
14.2.6 低功耗模式 291
14.2.7 I2C中断请求 291
14.3 I2C的控制寄存器 293
14.4 DS1307实时时钟 303
14.4.1 DS1307的功能 303
14.4.2 DS1307的寄存器 304
14.4.3 DS1307的数据格式 305
14.5 I2C模块编程应用 306
第15章 beCAN模块 312
15.1 CAN总线 312
15.1.1 显性与隐性 312
15.1.2 报文 313
15.2 beCAN模块的特点 317
15.2.1 beCAN的内部功能 317
15.2.2 beCAN的结构 318
15.2.3 beCAN的工作模式 319
15.2.4 beCAN的测试模式 320
15.3 beCAN的工作方式 321
15.3.1 发送处理 321
15.3.2 接收处理 322
15.3.3 过滤器 323
15.3.4 标称位时间 327
15.3.5 beCAN中断 329
15.3.6 beCAN的时钟 330
15.3.7 beCAN的低功耗模式 330
15.4 beCAN的相关寄存器 331
15.4.1 控制寄存器 331
15.4.2 时钟寄存器 339
15.4.3 邮箱寄存器 340
15.4.4 过滤器寄存器 344
15.4.5 beCAN的寄存器管理 348
15.5 beCAN的编程应用 351
15.5.1 接口电路 351
15.5.2 编程实例 353
第16章 UART模块 359
16.1 UART的功能 359
16.1.1 串行通信 359
16.1.2 UART的特点 360
16.1.3 UART的内部结构 361
16.2 UART的控制 363
16.2.1 串行通信的帧格式 363
16.2.2 UART的收发控制 364
16.2.3 波特率发生器 367
16.2.4 奇偶校验 368
16.2.5 多处理器通信 368
16.2.6 UART 同步模式 370
16.2.7 单线半双工通信 372
16.2.8 UART的功耗管理 372
16.2.9 UART的中断 372
16.3 UART的控制寄存器 373
16.4 UART的编程应用 383
16.4.1 UART自收发实验 383
16.4.2 UART与计算机的通信 386
第三篇 应用扩展
第17章 步进电机 396
17.1 步进电机的特点 396
17.1.1 步进电机的分类 396
17.1.2 步进电机的工作原理 397
17.1.3 步距角的计算方法 397
17.2 28BYJ48型步进电机 398
17.2.1 28BYJ48电机性能指标 398
17.2.2 28BYJ48电机绕组结构 398
17.3 步进电机的驱动 399
17.3.1 步进电机的励磁方式 399
17.3.2 步进电机的驱动电路 400
17.3.3 步进电机编程实例 400
第18章 红外线应用 405
18.1 红外线遥控的编码方式 405
18.1.1 编码的帧结构 405
18.1.2 编码的方式 406
18.1.3 编码的调制与解调 406
18.2 红外线解码与发射 407
18.2.1  红外线解码的方法 407
18.2.2 红外线发射的方法 408
18.3 红外线遥控编程实例 409
18.3.1 红外线解码器 409
18.3.2 红外线发射器 414
第19章 数字温度传感器 419
19.1 DS18B20的功能介绍 419
19.1.1 DS18B20的特点 419
19.1.2 DS18B20的引脚定义 420
19.1.3 DS18B20的内部结构 420
19.1.4 温度值的存储方式 422
19.2 DS18B20的读写方式 423
19.2.1 DS18B20的初始化时序 423
19.2.2 DS18B20的写时序 423
19.2.3 DS18B20的读时序 424
19.3 DS18B20的通信协议 425
19.3.1 ROM指令 425
19.3.2 RAM指令 426
19.4 DS18B20的应用 426
19.4.1 DS18B20的供电方式 426
19.4.2 DS18B20的编程向导 428
19.4.3 DS18B20的使用要点 428
19.4.4 DS18B20编程实例 429
第20章 数字湿度传感器 435
20.1 湿度传感器的功能 435
20.1.1 DHT11的性能指标 435
20.1.2 DHT11的典型应用 436
20.1.3 DHT11的通信时序 436
20.2 DHT11的编程应用 438
第21章 字符型液晶显示器 442
21.1 1602液晶概述 442
21.1.1 1602液晶的特点 442
21.1.2 1602液晶的引脚功能 442
21.1.3 1602液晶与单片机的接口 443
21.2 1602液晶的功能 443
21.2.1 1602液晶的显示数据RAM 443
21.2.2 1602液晶的字符发生器 444
21.2.3 1602液晶的操作时序 445
21.2.4 1602液晶的操作指令 446
21.2.5 1602液晶的初始化 449
21.3 1602液晶编程实例 449
第22章 点阵型液晶显示器 453
22.1 12864点阵型液晶介绍 453
22.1.1 JLX12864G-086液晶的特点 453
22.1.2 JLX12864G-086液晶的引脚功能 454
22.2 12864点阵型液晶显示方式 455
22.2.1 显示屏与显存的对应关系 455
22.2.2 显存的组织结构 456
22.2.3 读写时序 457
22.2.4 UC1701X指令集 458
22.3 12864点阵型液晶应用实例 458
22.3.1 液晶显示器的接口电路 458
22.3.2 汉字的取模方法 459
22.3.3 图像的取模方法 460
22.3.4 汉字和图形显示 460
附录 469
后记 474

教学资源推荐
作者: (美)Charles L. Phillips John M. Parr Eve A. Riskin 著
作者: Devdas Shetty,Richard A.Kolk
作者: 周伟,刘易
作者: [美]托马斯 L.弗洛依德(Thomas L. Floyd)   大卫 M.布奇拉(David M. Buchla )    著
参考读物推荐
作者: (美)琳达·哥乔斯(Linda Gorchels)
作者: [马]阿珠纳·马尔祖基(Arjuna Marzuki) 著
作者: (英)Robin Heydon 著
作者: [美]弗兰克·D. 佩特鲁泽拉(Frank D. Petruzella) 著