仅以此书献给各位志同道合的读者!
也献给我的家人、导师、同事和我可爱的学生们!
“一盘好菜,与君共享” 写书初衷
亲爱的读者大大,感谢天赐的缘分让您翻开了这一页与我相逢。我是一个平凡、普通的高校教师,一直以来,我的工作都是讲授单片机应用相关的课程,带领学生们参加各类学科竞赛,或者泡在实验室一起学习和交流。日复一日,年复一年,我也从当年的“小鲜肉”变成了“老腊肉”,青春期虽然已经过了,但青春痘还挂在脸上。授课的日子里我走访过很多企业、学校,站在学生的角度,我看到了不少单片机初学者的难处。很多初学者朋友们在单片机学习的道路上苦于“4难”,第一是难找到适合自己入门的引导书,第二是难找到适合自己的开发板,第三是难找到循序渐进、层次分明的开发例程及项目,第四是难于树立坚持不懈、永不倦怠的决心。
于是乎,我有了写书的冲动,我想将我自己对单片机的拙见表述出来,提供给初学者朋友们,哪怕能解答和减少初学者朋友们一丁点的疑惑也是极好的。市面上从来都不缺单片机原理类的书籍,也不缺芯片手册或参考资料,所以我想按照我的风格写一本初学者能够“消化”的书,就像是一道“开胃菜”,让读者“吃好,喝好,喝好,吃好”!
“食谱一本,任君品尝” 内容安排
在辅导孩子们学科竞赛的过程中我接触到了意法半导体公司生产的STM8系列单片机,该系列单片机的性价比很高,片上资源非常丰富,开发流程非常简单,非常适合学过MCS 51内核单片机的朋友们进阶学习。STM8系列单片机是一个8位微控制器平台,拥有高性能8位内核和丰富的外设集合。在STM8单片机系列中又具体分为5个子系列,这就像是一根葫芦藤上结出的5个“宝葫芦”,说到这里是不是唤醒了你儿时的回忆? 那就跟着小宇老师一起,预备! 唱:“葫芦娃,葫芦娃,一根藤上七朵花”! 好吧! 言归正传,所谓的“宝葫芦”是指该家族的每一个系列都有自己的“特长”,“大娃STM8AF”主要针对汽车电子应用,“二娃STM8AL”适用于绿色能源作为供能的汽车电子中,“三娃STM8L”可以满足低功耗与便携设备要求,“四娃STM8S”主要用于消费及工业控制领域,“五娃STM8T”基于ProxSense技术可以用在电容接近、触摸识别产品中。
这么多的系列总要挑选一个“代表”来讲解吧? 没错,本书主要讲解STM8S系列单片机。其实STM8各种系列单片机中的资源都是相似的,知识点都有共性和相通的地方,所以读者如果顺利“拿”了STM8S系列单片机,自然也能掌握其他系列单片机的使用。以STM8S系列单片机为例,这只4面都是脚的“小蜘蛛”可是很厉害的,在“小蜘蛛”内部拥有非常丰富的片上资源,有通用输入/输出引脚资源、内部存储器资源、选项字节单元、时钟源、中断控制单元、定时/计数器单元、电源管理单元、蜂鸣器单元、看门狗资源、通信接口资源、模拟数字转换单元等。这些资源就好比是一本“菜谱”,读者需要做的就是端起菜谱认真学习,哪里不会点哪里,等到您把菜谱都“吃了个遍”的时候,就可以抛开菜谱仰天长啸:“Soeasy,妈妈再也不用担心我的STM8单片机学习”!
本书按照STM8系列单片机资源脉络一共分为21个章节,章节的排布是按照初学者的进阶顺序安排的,根据知识点的难易程度可以分为基础章节、进阶章节和应用章节。
基础章节是从第1~7章,这一部分内容比较简单,与其他内核或者型号的单片机知识是类似的。第1章的内容是站在初学者的角度去探讨单片机的发展、应用和修行之路。第2章主要介绍STM8单片机家族系列成员,讲解了各系列单片机特点和适用,方便读者在实际应用中进行选型。第3章主要介绍STM8系列单片机软/硬件开发环境搭建及调试的相关知识。第4章介绍了单片机GPIO资源的使用和配置方法。第5章讲解了单片机控制LED 器件的方法,第6章讲解了单片机并行模式/串行模式下驱动常见字符/点阵型液晶模块的方法,第7章讲解独立按键/矩阵键盘交互编程的相关知识。
进阶章节是从第8~14章,这一部分内容属于STM8系列单片机的基础资源,读者对这些知识点的理解会直接影响后续的应用,所以务必要细读。第8章主要介绍STM8系列单片机内部存储器资源结构及组成,这一部分知识非常重要,对该章节的学习可以深化读者对单片机内部构造的认知。第9章讲解了单片机Optionbytes选项字节的相关功能与配置方法。第10章主要讲解单片机时钟控制器的相关知识,让读者理解时钟源选择、时钟源切换、时钟外设PCG功能、时钟安全系统CSS功能和时钟信号输出CCO功能等。第11章主要讲解中断控制器的相关知识。第12章讲解8位基本型定时/计数器TIM4资源的相关知识和应用。第13章讲解16位高级型定时/计数器TIM1资源的相关知识和应用。第14章讲解STM8系列单片机电源管理及功耗控制的相关知识。
应用章节是从第15~21章,这一部分内容偏向某些具体应用(如数据通信、外设驱动、信号转换等),这些章节的内容可以由读者选择性地深入研究,在基础项目之上将各资源用起来,慢慢体会STM8系列单片机的优点,最终制作出合适的产品。第15章主要讲解单片机片内BEEP资源激励信号的产生与控制,介绍了有源/无源电磁讯响器使用。第16章讲解单片机片内看门狗资源,重点理解独立看门狗IWDG资源和窗口看门狗WWDG资源。第17章主要介绍单片机系统中的数据通信模型和STM8系列单片机片上UART 资源的相关知识,章节中还引入了通信电平标准、通信电平转换、TTS语音合成技术的XFS5152CE 芯片应用等实例。第18章详细介绍了1 Wire单总线串行通信协议,以单总线数字温度传感器DS18B20为例详细讲解STM8系列单片机GPIO 引脚模拟单总线读/写时序、初始化时序实现传感器的功能操作。第19章主要讲解单片机同步串行外设接口SPI的相关知识,以华邦电子生产的W25Qxx系列Flash存储器芯片为例深入讲解了相关寄存器和操作时序。第20章主要讲解I2C串行通信相关知识,以Atmel公司AT24Cxx系列EEPROM 芯片为例深入讲解相关寄存器和操作时序。第21章详细介绍了STM8系列单片机模数转换器A/D资源的原理及应用。
“色香味全,客官慢用” 本书特点
食客们一般都用色、香、味这3方面去评价一盘好菜。笔者编写此书时也力求做到“色香味全”,结合本书内容和书写风格笔者认为本书具备以下3个特点。
第1个特点是“食材新鲜,营养健康”。目前市面上的8位微控制器以MCS 51内核单片机居多,本书讲解的STM8系列单片机是基于意法半导体高性能内核的8位微控制器,产品较新,其片上资源非常丰富,产品的性价比、功耗、保密性较好。非常适合于学习完51单片机的读者进阶学习。本书以STM8系列单片机官方最新手册(参考手册、用户手册及芯片数据手册)和勘误表作为参考文献,纠正了以往STM8系列单片机文献中的部分错误,可以让读者少走弯路,轻松“消化”相关知识,吸取“营养”。
第2个特点是“烹调用心,易于吸收”。枯燥乏味的原理和知识会让初学者望而生畏,为了让初学者们“易于吸收”,全书21个章节之中均引入了小故事、小趣闻、小笑话和各种小比喻,读者翻一翻目录一看便知。书籍中的例程均配有详尽的注释、原理结构图均有详细的分析、实验现象均有详细的说明,这样一来就可以帮助读者加深理解,让读者迅速拿下相关资源。
第3个特点是“科学配比,成分均衡”。在知识点的构成上基础章节、进阶章节和应用章节各占33%,知识点无缝衔接,正好符合书籍名称中的“入门、进阶和应用”,章节中安排了实践环节,在实践环节中又细分为基础项目和实战项目,本书基础项目39个,实战项目16个,全书共计55个梯级实践项目,有了难易分明的实践项目就可以帮助读者由浅入深、由简入繁地理解和掌握相关知识。
“食无定味,适口者珍” 书籍适用
“川鲁粤淮扬,闽浙湘本帮”,乍一听是不是感觉有点像化学元素周期表啊? 这里说的主要是中国的菜系,不同的菜系口味不同,做法差异也很大,不同菜系来自于不同的地方,不同人群的口味和对菜肴的喜爱程度都是不一样的。打住! 吃货写书的特点就是经常“跑偏”。回到正题,同一道菜给不同的人品尝,得到的评价往往褒贬不一,所谓“食无定味,适口者珍”就是这个道理,这个道理和读书、评书是一样的,书籍不分优劣,适合自己的书就是现阶段对于自己来说最好的书。所以,不同学习阶段和层次的读者对本书的内容和感觉是不同的。
菜肴是物质层面,补充能量,是人类身体的需求,书籍是精神层面,补充认知,是人类心灵的需求。本书同样也有适用的读者范围,本书主要针对STM8单片机初学人员,面向在校学生、初级工程师、单片机程序开发人员等,本书可以作为单片机爱好者的自学用书或者单片机培训机构的培训教材,也可以作为高等院校电子信息类专业的学习参考用书。
“盘中之餐,粒粒辛苦” 致谢
“烹制”这本“开胃菜”的路上充满了感慨,编书之路远比笔者预想的要艰难,原理讲出来要吸引人,例程给出来要看得懂,开发板做出来要用得上,章节安排得要有梯度。这一路都离不开家人、导师、同事、学生和北京航空航天大学出版社的帮助、建议和鼓励。感谢我的家人,特别是我的父亲和母亲,正是因为有他们作为我坚实的后盾,在我写书过程中给予鼓励,这本书才得以欢快愉悦地完成。
感谢与非网(www.eefocus.com)编辑粟艳萍女士对本书的认可和推荐,笔者作为与非网STM8/STM32社区成员之一,深深的被粟艳萍女士无私奉献的精神所感动,正是她的勤恳付出才保障了论坛的无限活力。感谢带我入门电子世界的夏木兰、孙玉轩、占永宁、程思宁、王海荣、郝波等老师,也感谢为本书提出意见和建议的业界前辈们,他们是:风驰STM8开源开发平台研发工程师凌观胜先生、中山市大谷电子科技有限公司总经理赖荣杰先生、北京凌阳爱普科技有限公司(大区经理)王浩先生、《手把手教你学51单片机C语言版》一书作者宋雪松老师、青岛英谷教育科技股份
有限公司物联网项目部主管与教材编辑孙锡亮老师以及《AVR单片机自学笔记》和《51单片机自学笔记》作者范红刚老师。
依托海南省电子信息科学与技术实验示范中心的软硬件平台,最终完成了书籍实例的编写、数据的测量和试验环境的搭建,在此对海南热带海洋学院电子信息科学与技术实验示范中心的大力支持表示感谢,也感谢对本书提出建设性意见的同事朋友们。
还要感谢试读章节和验证项目例程的学生们,正是有了你们的辛苦付出,本书才能广纳意见进行修正,为的就是让读者“读得懂,用得上”,这些可爱的思修电子工作室技术骨干成员分别是:张雪风、朱子超、李毅、谢华尧、曹立夫、白倩雯、刘美君、雷欣、刘坤、于永澔、李健波、董冠希、周晨炜、林英炜、彭嘉伟、宋冬雪、刘旭、万嘉诚、王光耀和张敏子等。
最后感谢秦雨同学为本书插图的制作花费了大量的时间,一并感谢一直关注本书编写和提出章节建议的电子爱好者协会的成员们,他们是:杨洪基、苏明、张文斌、潘树、刘程祥、董永祥、黄炯丹、王天韧、杨磊、程子豪和宣泽等。
龙顺宇
2015年12月12日夜
于海南三亚