图书前言

前言

单片机技术是现代电子系统设计、智能控制的核心技术,是应用电子、电子信息、电子通信、物联网技术、机电一体化、电气自动化、工业自动化、计算机应用等相关专业的必修课程。本书是集编著者35年单片机应用经历和教学经验,精心打造的8051单片机最新技术的单片机课程教材。

STC基于传统8051单片机框架研发的STC 8位单片机取得了巨大的成功,推陈出新,涌现出一代又一代的经典芯片,是国产8位单片机的佼佼者,是8位MCU国产替代的领航者。在此基础上,STC又向前迈出了重要的一步: STC 32位单片机上市了。

本书融STC 8位单片机与32位单片机于一体,学生以STC高端8位单片机STC8H8K64U为核心和基础进行学习后,可轻松、快速入门STC 32位单片机STC32G12K128。本书基于STC大学计划实验箱(9.3版主控单片机: STC8H8K64U,9.4版主控单片机: STC32G12K128)开发实验实训,以单片机资源为项目导向,基于任务驱动组织教学内容,结合STC大学计划实验箱(9.3/9.4版本),教师可轻松实施“教、学、做”一体化教学。STC32G12K128与STC8H8K64U单片机在引脚上、接口资源上兼容,9.3版与9.4版大学计划实验箱除控制芯片不同外,其他完全一致,STC32G12K128单片机应用程序与STC8H8K64U单片机应用程序可快速进行转换,因此,通过本书既学习了STC 8位单片机,又能快速入门STC 32位单片机。

单片机的学习实际上就是学习各功能模块、接口对应的特殊功能寄存器,单片机编程就是利用编程语言(汇编或C)管理与控制各特殊功能寄存器,达到应用单片机完成各种具体任务的目的。所以,学习单片机的特殊功能寄存器是关键。为了更好地理解和应用特殊功能寄存器,本书根据特殊功能寄存器的特点,对其描述进行了改革,在此,事先做个说明。

(1) 因为STC8H8K64U单片机功能接口较多,基本RAM区的特殊功能寄存器区已容纳不下,很大一部分特殊功能寄存器布局在扩展RAM区域,为此,STC8H8K64U单片机的特殊功能寄存器可分成两种类型: 一种称为基本特殊功能寄存器(FSR),即为传统8051的特殊功能寄存器区; 另一种可称为扩展特殊功能寄存器(XFSR),位于扩展RAM地址空间区域。访问扩展特殊功能寄存器要与访问扩展RAM区相区分,因此,要特别注意,访问扩展特殊功能寄存器前要执行“P_SW1|=0x80;”语句,访问结束后,执行“P_SW1&=0x7f;”语句,切换为访问扩展RAM状态。

(2) 基本特殊功能寄存器又分为两种类型,即可位寻址特殊功能寄存器和不可位寻址特殊功能寄存器。在单片机的应用中,很多时候,只需进行1位或少数几位的控制,在进行这1位或这少数几位的操作时,又不能影响该特殊功能寄存器其他位的信息。对于可位寻址的特殊功能寄存器,可直接对该特殊功能寄存器的位符号进行操作,如对PSW的CY置“1”直接执行“CY=1;”即可; 对PSW的CY清零直接执行“CY=0;”即可。为此,在可位寻址特殊功能寄存器描述时,直接用该特殊功能寄存器的位符号来描述。比如,介绍PSW的CY时,直接对CY进行描述。对于不可位寻址特殊功能寄存器,不可直接对该特殊功能寄存器的位符号进行操作。例如,单片机要切换到停机模式,需要对PCON的PD置“1”操作,但我们不能对PD直接赋值,如“PD=1;”是错误的,必须知道PD在PCON中的位置,利用“或”语句对指定的位置位与1相“或(加)”操作,其他位与0相“或(加)”实现对该位置“1”,PD在PCON中的位置是B1位,因此,对PD的置“1”操作的语句是“PCON|=0x02;”; 同样,需要对PCON的PD置“0”操作,但我们也不能对PD直接赋值,如“PD=0;”是错误的,必须利用“与”语句对指定的位置位与0相“与(乘)”操作,其他位与1相“与(乘)”实现对该位置“0”,因此,对PD的置“0”操作的语句是“PCON&=0xfd;”。对于不可位寻址特殊功能寄存器而言,各控制位的位符号虽然重要,但它所在的位置更重要。为此,在不可位寻址特殊功能寄存器描述某个控制位时,主体是“特殊功能寄存器名称.位位置”,后面括号中给出该位的位符号。如描述PCON的PD时,就写成“PCON.1(PD)”,一目了然,知道该控制位在该特殊功能寄存器中的位置,利用“或”和“与”操作,就能实现该位的置“1”与置“0”操作,而其他位不受影响。

(3) 扩展特殊功能寄存器(XFSR)是不可位寻址的,因此,对各控制位或状态位的置“1”和置“0”操作必须采用让扩展特殊功能寄存器(XFSR)的功能位(控制位或状态位)通过或“1”和与“0”的方法,对指定位实现置“1”和置“0”的操作。

教材力求实用性、应用性与易学性,以提高读者的工程设计能力与实践动手能力为目标。本书具有以下几方面的特点。

(1) 单片机机型贴近生产实际: STC单片机是我国8位单片机应用中市场占有率最高的,本书采用了STC高端8位单片机(STC8H8K64U)和新晋STC 32位单片机(STC32G12K128)。

(2) 以单片机资源为项目导向,基于任务驱动组织教学内容,结合STC大学计划实验箱(9.3/9.4版本),教师可轻松实施“教、学、做”一体化教学。

(3) 融STC 8位单片机与32位单片机于一体,以STC高端8位单片机STC8H8K64U为核心和基础,进而可轻松、快速入门STC 32位单片机。

(4) 为了便于读者更好地理解教学内容以及教学的需要,采用了多样化的习题类型,如填空题、选择题、判断题、问答题与程序设计题。

(5) 在本书的编写中,直接与STC单片机的创始人姚永平先生、陈锋工程师进行密切沟通与交流,姚永平先生担任本书的主审,确保教材内容的系统性与正确性。

(6) 本书任务实例基于STC大学计划实验箱(9.3/9.4)开发,是STC单片机大学推广计划的指定教材。

本书由丁向荣编著。STC在技术上给予了大力支持和帮助,STC单片机创始人姚永平先生对全书进行了认真审阅,并提出了宝贵意见。在此对所有提供帮助的人表示感谢!

由于编著者水平有限,书中定有疏漏和不妥之处,敬请读者不吝指正!

编著者

2022年5月于广州

本书配套教学资源