本书以STC公司的STC8系列单片机为平台,以8051处理器架构、指令集、汇编和C语言程序设计为主线,从外设到μC/OS-II操作系统全方位、多角度系统地介绍了STC8系列单片机的硬件和软件开发流程。
从某种意义上而言,STC8系列单片机开启了8051单片机的崭新时代。与STC公司前一代的STC15系列8051增强型单片机相比,STC8系列单片机呈现出以下新的特点:
(1)增强了双数据指针DPTR的选择和控制功能。通过程序控制,可实现数据指针自动递增或递减功能,以及对两组数据指针的自动切换功能。
(2)将传统8051单片机内特殊功能寄存器SFR扩展到了扩展特殊功能寄存器XSFR,进一步增强了处理器对单片机集成外设的控制能力,这也增强了C语言指针的应用。
(3)进一步增强了中断优先级的控制能力,为STC8系列单片机的每个中断源设置了多达4个的中断优先级,这样可以实现更复杂的中断嵌套能力。
(4)进一步增强了I/O的能力,增加了上拉电阻及施密特触发器的控制能力。此外,为单片机内所集成的外设提供了更多的I/O引脚可选位置。
(5)新集成了I2C控制器模块,使得单片机可以与更多的I2C设备直接接口。以后读者无须再通过模拟I2C时序来与I2C设备通信。这样,进一步释放了8051内CPU的潜力。
(6)进一步提高了片内所集成的ADC模块的性能,其分辨率从10位提高到12位,并且采样率也有了很大的提高。
(7)进一步增加了PWM的通道数量,满足在复杂电机驱动和控制中的应用。
(8)进一步增加了CCP模块的通道数量,以满足复杂捕获、比较和PWM的应用功能。
(9)将片内扩展SRAM的容量由4KB增加到了8KB。
与STC8系列单片机增强功能相对应,在编著者已经出版的《STC单片机原理及应用》教材的基础上,修改和增加以下内容,使得该书能更全面系统地反映单片机在不同领域中的应用:
(1)增加了单片机和嵌入式系统基础知识一章,目的在于帮助读者理解单片机与嵌入式系统之间的联系和区别。
(2)将STC单片机开发所需的基础知识分为STC单片机硬件知识和STC单片机软件开发环境两章,目的是帮助读者从整体上认识开发单片机所需的知识,以及初步熟悉基于KeilμVision 5集成开发环境的STC单片机软件开发流程。
(3)将STC单片机I/O端口原理及驱动单独编写为一章,以帮助读者深入理解I/O驱动原理、驱动模式设置、上拉电阻设置以及施密特触发器设置等内容。
(4)将STC单片机中断系统原理及实现单独编写为一章,增加了4个中断优先级的设置内容,并中断嵌套的实现方法之处。
(5)在STC单片机增强型PWM发生器原理及应用一章中,增加了使用软件和硬件PWM模块驱动步进电机的方法,以帮助读者掌握增强型PWM模块在电机驱动和控制中的应用,并理解软件和硬件PWM原理的不同之处。
(6)增加了STC单片机I2C原理及实现一章,详细介绍STC8系列单片机所集成I2C模块的原理,以及通过I2C模块扩展I/O引脚的实现原理和方法,并通过7段数码管的控制进行具体说明。
(7)在STC单片机SPI原理及实现一章中,通过电阻触摸屏和XPT2046芯片,说明基于SPI接口读取SPI触摸信息的方法,以及单片机在驱动TFT显示屏中的应用。
(8)详细介绍了广泛使用的μC/OS-II操作系统的原理,以及在STC8系列单片机上移植的过程,并通过一个设计案例说明了该操作系统在STC8系列单片机上的应用方法。
为了方便老师教学和学生自学,本书提供了教学课件和所有设计实例的完整设计文件,以及公开视频教学资源,详见学习说明。
本书由何宾编著,张艳辉、王中正、钱明远负责部分章节的编写工作。在本书编写过程中,参考了STC公司最新的技术文档和手册,在此向STC公司表示衷心的感谢。同时,得到了STC公司员工在技术和市场服务方面的热心帮助,特别是得到了STC公司姚永平先生的支持,他对编著者在编写过程中遇到的各种问题进行了耐心细致的回答。本书的出版,也得到了电子工业出版社各位编辑的帮助和指导,在此表示深深的谢意。
由于编著者水平有限,编写时间仓促,书中难免有疏漏之处,敬请读者批评指正。
编著者
2018年5月于北京