
第2章51单片机基础51单片机已成为单片机领域一个广义的名词。自从Inte1公司20世纪80年代初推出MCS-51系列单片机以后,世界上许多著名的半导体厂商也相继生产与该系列兼容的单片机,使产品型号不断增加、品种不断丰富、功能不断加强。从系统结构上看,所有的51系列单片机都是以Inte1公司最早的典型产品8051为核心,增加了一定的功能部件后构成的。单片机的编程语言一般采用汇编语言或者是C语言,采用C语言的比较多,51单片机的C语言也称为C51。C51是在标准C语言的基础的扩展。本章主要对51单片机的硬件结构以及软件编程语言C51进行讨论,为后面单片机的使用打下基础。2.1认识单片机在通用微机中央处理器基础上,将输入/输出(I/O)接口电路、时钟电路以及一定容量的存储器等部件集成在同一芯片上,再加上必要的外围器件,如晶体振荡器,就构成了一个较为完整的计算机硬件系统。由于这类计算机系统的基本部件均集成在同一芯片内,因此被称为单片微控制器(Single-Chip-MicroController,单片机)或微控制单元(MicroControllerUnit,MCU)。通俗的讲:单片机就是一块集成芯片,但这块集成芯片具有一定特殊的功能,而它的功能的实现要靠我们使用者自已来编程完成。编程的目的是控制这块芯片的各个引脚在不同的时间输出不同的电平,进而控制与单片机各个引脚相连的外围电路的电气状态。编程时可以选择C语言或汇编语言。2.1.1单片机的特点、应用、分类1.单片机的特点(参阅有关资料)单片机芯片作为控制系统的核心部件,除了要具备通用微机CPU的数值计算功能外,还必须具有灵活、强大的控制功能,以便实时监测系统的输入量、控制系统的输出量,实现自动控制。由于单片机主要面向工业控制,工作环境比较恶劣,如高温、强电磁干扰,甚至含有腐蚀性气体,在太空中工作的单片机控制系统,还必须具有抗辐射能力,因而决定了单片机CPU具有以下特点:(1)低噪声与高可靠性(2)单片机寿命长(3)8位、32位单片机共同发展(4)低噪声与高速度(5)低电压与低功耗(6)ISP与IAP29
29 第2章 51单片机基础 51单片机已成为单片机领域一个广义的名词。自从Intel公司20世纪80年代初推出 MCS51系列单片机以后,世界上许多著名的半导体厂商也相继生产与该系列兼容的单片 机,使产品型号不断增加、品种不断丰富、功能不断加强。从系统结构上看,所有的51系 列单片机都是以Intel公司最早的典型产品8051为核心,增加了一定的功能部件后构成的。 单片机的编程语言一般采用汇编语言或者是C语言,采用C语言的比较多,51单片机的C语言 也称为C51。C51是在标准C语言的基础的扩展。 本章主要对51单片机的硬件结构以及软件编程语言C51进行讨论,为后面单片机的使用 打下基础。 2.1 认识单片机 在通用微机中央处理器基础上,将输入/输出(I/O)接口电路、时钟电路以及一定容量 的存储器等部件集成在同一芯片上,再加上必要的外围器件,如晶体振荡器,就构成了一 个较为完整的计算机硬件系统。由于这类计算机系统的基本部件均集成在同一芯片内,因 此被称为单片微控制器(Single-Chip-Micro Controller,单片机)或微控制单元 (MicroController Unit,MCU)。 通俗的讲:单片机就是一块集成芯片,但这块集成芯片具有一定特殊的功能,而它的 功能的实现要靠我们使用者自己来编程完成。编程的目的是控制这块芯片的各个引脚在不 同的时间输出不同的电平,进而控制与单片机各个引脚相连的外围电路的电气状态。编程 时可以选择C语言或汇编语言。 2.1.1 单片机的特点、应用、分类 1.单片机的特点(参阅有关资料) 单片机芯片作为控制系统的核心部件,除了要具备通用微机CPU的数值计算功能外,还 必须具有灵活、强大的控制功能,以便实时监测系统的输入量、控制系统的输出量,实现 自动控制。由于单片机主要面向工业控制,工作环境比较恶劣,如高温、强电磁干扰,甚 至含有腐蚀性气体,在太空中工作的单片机控制系统,还必须具有抗辐射能力,因而决定 了单片机CPU具有以下特点: (1)低噪声与高可靠性 (2)单片机寿命长 (3)8位、32位单片机共同发展 (4)低噪声与高速度 (5)低电压与低功耗 (6)ISP与IAP

ISP(In-SystemProgramming)技术的优势是,不需要编程器就可以进行单片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即成为成品,免去了调试时由于频繁地插入/取出芯片对芯片和电路板带来的不便。IAP(In-ApplicationProgramming)技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将程序从一个存储体转向另一个。ISP的实现一般需要很少的外部电路辅助实现,而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来对内部存储器编程,可以通过现有的Internet或其他通信方式很方便地实现远程升级和维护。2.单片机的应用(参阅有关资料)单片机的出现是近代计算机发展史上的一个重要里程碑,单片机的诞生标志着计算机正式形成了通用微型计算机和嵌入式计算机系统两大分支。与体积大、成本高的通用计算机相比,单片机的单芯片的微小体积和极低的成本,使其可广泛地地嵌入到玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通信设备中,成为现代电子系统中最重要的智能化工具。单片机应用的主要领域有:(1)在智能仪表中的应用(2)在机电一体化中的应用(3)在实时控制中的应用(4)在军工领域的应用(5)在分布式多机系统中的应用(6)在民用电子产品中的应用2.1.2常用的单片机产品目前生产单片机的厂商主要有Intel公司、Motorola公司、Philips公司、Atmel公司、WinBond公司、Microchip公司、AMD公司、Zilog公司等,产品型号规格众多,性能各具特色。1.MCS系列及兼容单片机(参阅有关资料)2.PIC系列单片机3.MSP430系列单片机4.M68HC08系列单片机5.ARM处理器6.DSP处理器2.1.3单片机与CPU、ARM、嵌入式系统的关系随着计算机技术与超大规模集成电路技术的发展,就计算机整体而言,形成了三大主流:巨型机、微型机、单片机,并按各自的技术规律飞速发展。1.单片机与CPU的关系30
30 ISP(In-System Programming)技术的优势是,不需要编程器就可以进行单片机的实验 和开发,单片机芯片可以直接焊接到电路板上,调试结束即成为成品,免去了调试时由于 频繁地插入/取出芯片对芯片和电路板带来的不便。IAP(In-Application Programming)技 术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对 另一个存储体重新编程,之后将程序从一个存储体转向另一个。ISP的实现一般需要很少的 外部电路辅助实现,而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的 RS232口,通过专门设计的固件程序来对内部存储器编程,可以通过现有的Internet或其他 通信方式很方便地实现远程升级和维护。 2.单片机的应用(参阅有关资料) 单片机的出现是近代计算机发展史上的一个重要里程碑,单片机的诞生标志着计算机 正式形成了通用微型计算机和嵌入式计算机系统两大分支。与体积大、成本高的通用计算 机相比,单片机的单芯片的微小体积和极低的成本,使其可广泛地地嵌入到玩具、家用电 器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统 、舰船、个人信息终端及通信设备中,成为现代电子系统中最重要的智能化工具。单片机 应用的主要领域有: (1)在智能仪表中的应用 (2)在机电一体化中的应用 (3)在实时控制中的应用 (4)在军工领域的应用 (5)在分布式多机系统中的应用 (6)在民用电子产品中的应用 2.1.2 常用的单片机产品 目前生产单片机的厂商主要有Intel公司、Motorola公司、Philips公司、Atmel公司、 WinBond公司、Microchip公司、AMD公司、Zilog公司等,产品型号规格众多,性能各具特 色。 1.MCS系列及兼容单片机(参阅有关资料) 2.PIC系列单片机 3.MSP430系列单片机 4.M68HC08系列单片机 5.ARM处理器 6.DSP处理器 2.1.3 单片机与 、 、嵌入式系统的关系 CPU ARM 随着计算机技术与超大规模集成电路技术的发展,就计算机整体而言,形成了三大主 流:巨型机、微型机、单片机,并按各自的技术规律飞速发展。 1.单片机与CPU的关系

很多人对单片机与CPU之间的区别不清楚,把单片机与CPU混为一谈,其实它们之间是由本质的区别的。微处理器是指计算机系统核心部件(CPU),从这个意义上讲,它只是计算机的一个部件,而并不是一台完整的计算机。单片机表面上看起来与CPU一样,是一片大规模集成电路芯片,但是在单片机内部集成了CPU、存储器、I/O口、总线系统等,它是把计算机的主要零部件以集成电路的工艺,集成在一块芯片上,用一片芯片实现了一台基本的计算机系统。单片机是计算机,而CPU是计算机中的一个部件。2.单片机与ARM的关系当前,以各种ARM芯片为核心构成的嵌入式系统非常流行,那么ARM与单片机之间有什么区别呢?ARM有多层含义,首先,ARM(AdvancedRISCMachines)是微处理器行业的一家知名企业,它设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。它具有性能高、成本低和能耗省等特点,适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。ARM将技术授权给世界上许多著名的半导体、软件和OEM厂商,其中包括Intel、IBM、LG半导体、NEC、SONY、Philips和美国国家半导体这样的大公司。软件系统的合伙人则包括微软、升阳和MRI等一系列知名公司。每个厂商得到的都是一套独一无二的的ARM相关技术及服务,ARM公司既不生产芯片也不销售芯片,只出售芯片技术授权。因此,ARM即可认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。当前市面上流行的各种ARM7、ARM9内核的控制器其实也是一种单片机,只不过这种单片机是32位的,它的处理速度很快,在以ARM处理器为内核的控制器中,集成了更多的硬件资源。所以,通常把这种器件称为超级单片机。这种单片机的运算速度很快,资源丰富,使得它可以像普通PC一样,能够运行操作系统,只不过这类操作系统是嵌入式的操作系统。ARM控制器+嵌入式操作系统,就构成了当前比较热门的嵌入式系统,一旦在控制器上加载了操作系统,其系统的性能和开发模式等都会发生质的飞跃,这与传统的单片机模式有看本质的不同。但是,单从硬件构成的角度去看,ARM其实就是“跑的快一点”的单片机。3.单片机与嵌入式系统的关系近年来,随着计算机应用体系的不同,将计算机分成嵌入式应用和非嵌入式通用型计算机。巨型机和典型微型计算机属子非嵌入式通用型计算机,而工控机、专用CPU、单片机等则属于嵌入式应用型计算机。后者面向实时测控应用系统,一般以这类计算机为内核,嵌入到实际的应用系统中,构成完整的并实现某种特定功能要求的应用系统,故称之为嵌入式计算机应用系统,简称嵌入式系统(EmbeddedSystem)。嵌入式系统是个泛的概念。所有用于实时测控的计算机应用系统,均可纳入嵌入式系统范畴。(1)嵌入式系统的构成嵌入式系统是一个完整具有实现某种特定功能的计算机应用系统,因此它应用包含系31
31 很多人对单片机与CPU之间的区别不清楚,把单片机与CPU混为一谈,其实它们之间是 由本质的区别的。 微处理器是指计算机系统核心部件(CPU),从这个意义上讲,它只是计算机的一个部 件,而并不是一台完整的计算机。 单片机表面上看起来与CPU一样,是一片大规模集成电路芯片,但是在单片机内部集成 了CPU、存储器、I/O口、总线系统等,它是把计算机的主要零部件以集成电路的工艺,集 成在一块芯片上,用一片芯片实现了一台基本的计算机系统。 单片机是计算机,而CPU是计算机中的一个部件。 2.单片机与ARM的关系 当前,以各种ARM芯片为核心构成的嵌入式系统非常流行,那么ARM与单片机之间有什 么区别呢? ARM有多层含义,首先,ARM(Advanced RISC Machines)是微处理器行业的一家知名企 业,它设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。它具有性能 高、成本低和能耗省等特点,适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP 和移动式应用等。ARM将技术授权给世界上许多著名的半导体、软件和OEM厂商,其中包括 Intel、IBM、LG半导体、NEC、SONY、Philips和美国国家半导体这样的大公司。软件系统 的合伙人则包括微软、升阳和MRI等一系列知名公司。每个厂商得到的都是一套独一无二的 的ARM相关技术及服务,ARM公司既不生产芯片也不销售芯片,只出售芯片技术授权。 因此,ARM即可认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以 认为是一种技术的名字。 当前市面上流行的各种ARM7、ARM9内核的控制器其实也是一种单片机,只不过这种单 片机是32位的,它的处理速度很快,在以ARM处理器为内核的控制器中,集成了更多的硬件 资源。所以,通常把这种器件称为超级单片机。 这种单片机的运算速度很快,资源丰富,使得它可以像普通PC一样,能够运行操作系 统,只不过这类操作系统是嵌入式的操作系统。ARM控制器+嵌入式操作系统,就构成了当 前比较热门的嵌入式系统,一旦在控制器上加载了操作系统,其系统的性能和开发模式等 都会发生质的飞跃,这与传统的单片机模式有着本质的不同。 但是,单从硬件构成的角度去看,ARM其实就是“跑的快一点”的单片机。 3.单片机与嵌入式系统的关系 近年来,随着计算机应用体系的不同,将计算机分成嵌入式应用和非嵌入式通用型计 算机。巨型机和典型微型计算机属于非嵌入式通用型计算机,而工控机、专用CPU、单片机 等则属于嵌入式应用型计算机。后者面向实时测控应用系统,一般以这类计算机为内核, 嵌入到实际的应用系统中,构成完整的并实现某种特定功能要求的应用系统,故称之为嵌 入式计算机应用系统,简称嵌入式系统(Embedded System)。 嵌入式系统是个广泛的概念。所有用于实时测控的计算机应用系统,均可纳入嵌入式 系统范畴。 (1)嵌入式系统的构成 嵌入式系统是一个完整具有实现某种特定功能的计算机应用系统,因此它应用包含系

统的全部硬件的组成结构与应用软件。如图2一1所示组成嵌入式系统应用的示意图,其中计算机是整个系统的指挥、管理、测控、处理的核心,嵌入在整个系统中。1计算机内核网络工控机功能连接常规器件单片机外围扩展CPU设备人机专用外围设备嵌入式系统对话TT测控对象图2-1嵌入式应用系统嵌入式系统的硬件主要由以下几部分组成:嵌入式系统的计算机内核、常规外围设备、专用外围设备、人机对话、网络连接。不同的嵌入式应用系统其硬件配置也各不相司,有简单的、复杂的、很复杂的。显然,以单片机为内核的应用系统是最典型的嵌入式应用系统。一个完整的嵌入式应用系统,除了针对确定的应用对象而配置的硬件组成系统外,还必须配置相应的软件系统。两者相辅相成,才能使应用系统正确、有效而可靠的工作。一个嵌入式应用系统,它必须配备相应的软件系统。主要包括:嵌入式系统软件、应用软件。(2)单片机是嵌入式系统中应用最典型、最广泛的内核单片机作为最典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。近年来各种类型的工控机,各种以通用微处理器构成的计算机主板模块,以通用微处理器为核心,片内扩展一些外围功能电路单元构成的嵌入式微处理器,甚至单片形态的PC等,都实现了嵌入式应用,成为嵌入式系统的庞大家族。随着单片机技术的发展,功能的不断增强及其应用广泛性,目前应用于嵌入式系统的计算机内核绝大部分是单片机。所以说,单片机是当前构成嵌入式应用系统中最典型的主流机型。学好单片机基本理论及其技术,是开发、设计各类嵌入式应用系统的基础。2.1.4单片机应用系统开发的软硬件环境1.单片机应用系统开发的硬件环境在设计一单片机应用系统的时,需要一定的硬件开发环境,不同的设计者需要的环境不同。(1)开发环境基本组成一个典型的单片机应用系统开发环境如图2-2所示,单片机应用系统开发环境中的硬件由PC、单片机仿真器、用户目标系统、编程器和数条连接电缆组成。单片机应用系统PC(用户目标系统)编程器目标系统CPUEPROM开通信仿真器EEPOM电缆仿真头CPLFlash EEPROM电CPU32
32 统的全部硬件的组成结构与应用软件。如图2-1所示组成嵌入式系统应用的示意图,其中计 算机是整个系统的指挥、管理、测控、处理的核心,嵌入在整个系统中。 图2-1 嵌入式应用系统 嵌入式系统的硬件主要由以下几部分组成:嵌入式系统的计算机内核、常规外围设 备、专用外围设备、人机对话、网络连接。不同的嵌入式应用系统其硬件配置也各不相 同,有简单的、复杂的、很复杂的。显然,以单片机为内核的应用系统是最典型的嵌入式 应用系统。 一个完整的嵌入式应用系统,除了针对确定的应用对象而配置的硬件组成系统外,还 必须配置相应的软件系统。两者相辅相成,才能使应用系统正确、有效而可靠的工作。一 个嵌入式应用系统,它必须配备相应的软件系统。主要包括:嵌入式系统软件、应用软 件。 (2)单片机是嵌入式系统中应用最典型、最广泛的内核 单片机作为最典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。近年来, 各种类型的工控机,各种以通用微处理器构成的计算机主板模块,以通用微处理器为核 心,片内扩展一些外围功能电路单元构成的嵌入式微处理器,甚至单片形态的PC等,都实 现了嵌入式应用,成为嵌入式系统的庞大家族。 随着单片机技术的发展,功能的不断增强及其应用广泛性,目前应用于嵌入式系统的 计算机内核绝大部分是单片机。所以说,单片机是当前构成嵌入式应用系统中最典型的主 流机型。学好单片机基本理论及其技术,是开发、设计各类嵌入式应用系统的基础。 2.1.4 单片机应用系统开发的软硬件环境 1.单片机应用系统开发的硬件环境 在设计一单片机应用系统的时,需要一定的硬件开发环境,不同的设计者需要的环境 不同。 (1)开发环境基本组成 一个典型的单片机应用系统开发环境如图2-2所示,单片机应用系统开发环境中的硬件 由PC、单片机仿真器、用户目标系统、编程器和数条连接电缆组成。 PC 通信 电缆 仿真器 仿真 电缆 单片机应用系统 (用户目标系统) 仿真头 CPU 目标系统 CPU 编程器 EPROM EEPOM Flash EEPROM CPU

图2-2单片机典型开发环境组成示意图软件由PC上的单片机集成开发环境软件和编程器软件构成,前者为单片机仿真器随机软件,后者为编程器随机软件。单片机仿真器又称单片机开发系统。单片机仿真器的工作步骤是:取下用户目标系统的单片机芯片(目标系统CPU),把仿真器上的CPU仿真头插入用户目标系统CPU相应的位置,从而将仿真器中的CPU和ROM借给了目标系统。PC通过仿真器和目标系统建立起一种透明的联系,程序员可以观察到程序的运行(实际上程序在仿真器中运行)和CPU内部的全部资源情况。也就是说,在开发环境中,用户目标系统的程序存储器是闲置的。我们调试的是仿真器中的程序,仿真器中的程序运行完全受仿真器的监控程序控制。仿真器的监控程序相当于PC的操作系统,该监控程序与PC上运行的集成开发环境相配合,使得我们可以修改和调试程序,并能观察程序的运行情况。程序调试完成后,将编程器通过通信电缆连接到PC上,将调试好的程序通过编程器写入单片机芯片(即写入单片机内部的程序存储器),从用户目标系统上拨掉仿真头CPU,即完成了单片机的仿真调试。然后换上写入程序的单片机芯片(目标系统CPU),得到单片机应用系统的运行态,义称脱机运行。由于仿真器的功能差别很大,脱机运行有时和仿真运行并不完全一致,还需要返回仿真过程调试。上述过程有时可能要重复多次。单片机仿真器在开发环境中出借CPU和程序存储器到用户目标系统,调试完成后,通过编程器把程序固化到程序存储器,插入目标系统,同时插入目标系统CPU,即可得到单片机应用系统的运行态。编程器的功能是把调试好的目标代码写入单片机的片内(外)程序存储器中,把写好后的芯片插到用户目标板上进行脱机(脱离仿真器)运行,如未达到用户要求,则要重新返回仿真阶段查找软件或硬件的原因。这个过程可能要重复多遍。(2)单片机的在线编程通常进行单片机开发时,编程器是必不可少的。仿真、调试完的程序,需要借助编程器烧到单片机内部或外接的程序存储器中。普通编程器的价格从几百元到几千元人民币不等,对于一般的单片机爱好者来说,这是一笔不小的开支。另外,在开发过程中,程序每改动一次就要拔下电路板上的芯片编程后再插上,比较麻烦。随着单片机技术的发展,出现了可以在线编程的单片机。目前有两种实现在线编程的方法:在系统编程(ISP)和在应用编程(IAP)。ISP一般通过单片机专用的串行编程接口对单片机内部的Flash存储器进行编程,而IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将控制从一个存储体转向另一个。ISP的实现一般需要很少的外部电路辅助实现,而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序对内部存储器编程。ISP和IAP为单片机的实验和开发带来了很大的方便和灵活性,也为广大单片机爱好者带来了福音。利用ISP和IAP,不需要编程器就可以进行单片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即为成品,甚至可以远程在线升级或改变单片机中的程序。33
33 图2-2 单片机典型开发环境组成示意图 软件由PC上的单片机集成开发环境软件和编程器软件构成,前者为单片机仿真器随机 软件,后者为编程器随机软件。 单片机仿真器又称单片机开发系统。单片机仿真器的工作步骤是:取下用户目标系统 的单片机芯片(目标系统CPU),把仿真器上的CPU仿真头插入用户目标系统CPU相应的位置 ,从而将仿真器中的CPU和ROM借给了目标系统。PC通过仿真器和目标系统建立起一种透明 的联系,程序员可以观察到程序的运行(实际上程序在仿真器中运行)和CPU内部的全部资 源情况。也就是说,在开发环境中,用户目标系统的程序存储器是闲置的。我们调试的是 仿真器中的程序,仿真器中的程序运行完全受仿真器的监控程序控制。仿真器的监控程序 相当于PC的操作系统,该监控程序与PC上运行的集成开发环境相配合,使得我们可以修改 和调试程序,并能观察程序的运行情况。 程序调试完成后,将编程器通过通信电缆连接到PC上,将调试好的程序通过编程器写 入单片机芯片(即写入单片机内部的程序存储器),从用户目标系统上拔掉仿真头CPU,即 完成了单片机的仿真调试。然后换上写入程序的单片机芯片(目标系统CPU),得到单片机 应用系统的运行态,又称脱机运行。由于仿真器的功能差别很大,脱机运行有时和仿真运 行并不完全一致,还需要返回仿真过程调试。上述过程有时可能要重复多次。 单片机仿真器在开发环境中出借CPU和程序存储器到用户目标系统,调试完成后,通过 编程器把程序固化到程序存储器,插入目标系统,同时插入目标系统CPU,即可得到单片机 应用系统的运行态。 编程器的功能是把调试好的目标代码写入单片机的片内(外)程序存储器中,把写好 后的芯片插到用户目标板上进行脱机(脱离仿真器)运行,如未达到用户要求,则要重新 返回仿真阶段查找软件或硬件的原因。这个过程可能要重复多遍。 (2)单片机的在线编程 通常进行单片机开发时,编程器是必不可少的。仿真、调试完的程序,需要借助编程 器烧到单片机内部或外接的程序存储器中。普通编程器的价格从几百元到几千元人民币不 等,对于一般的单片机爱好者来说,这是一笔不小的开支。另外,在开发过程中,程序每 改动一次就要拔下电路板上的芯片编程后再插上,比较麻烦。 随着单片机技术的发展,出现了可以在线编程的单片机。目前有两种实现在线编程的 方法:在系统编程(ISP)和在应用编程(IAP)。ISP一般通过单片机专用的串行编程接口 对单片机内部的Flash存储器进行编程,而IAP技术是从结构上将Flash存储器映射为两个存 储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将控制从一 个存储体转向另一个。ISP的实现一般需要很少的外部电路辅助实现,而IAP的实现更加灵 活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序对内部存 储器编程。 ISP和IAP为单片机的实验和开发带来了很大的方便和灵活性,也为广大单片机爱好者 带来了福音。利用ISP和IAP,不需要编程器就可以进行单片机的实验和开发,单片机芯片 可以直接焊接到电路板上,调试结束即为成品,甚至可以远程在线升级或改变单片机中的 程序

(3)使用JTAG界面单片机仿真开发环境JTAG(JointTestActionGroup,联合测试行动小组)是一种国际标准测试协议(与IEEE1149.1兼容),主要用于芯片内部测试。现在大部分高级器件都支持JTAG协议,例如DSP和FPGA器件等。标准的JTAG接口有4线:TMS、TCK、TDI和TDO,分别为模式选择、时钟、数据输入和数据输出线。JTAG最初是用来对芯片进行测试的,其基本原理是在器件内部定义一个TAP(TestAccessPort,测试访问口),通过专用的JTAG测试工具对内部节点进行测试。JTAG测试充许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件的分别测试。现在,JTAG接口还常用于实现ISP,对F1ashEEPROM等器件进行编程。JTAG编程方式是在线编程,在这种方式下不需要编程器。传统生产流程中的先对芯片进行预编程、现装配的方式也因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快了工程进度。新一代的单片机芯片内部不仅集成了大容量的FlashEEPROM,还具有JTAG接口,可连接JTAGICE仿真器。PC提供高级语言开发环境(Windows),支持C语言及汇编语言,不仅可以下载程序,还可以在系统中调试程序,具有调试目标系统的所有功能。开发不同的单片机系统只需更换目标板。JTAG仿真开发环境如图2-3所示。单片机应用系统PC(用户目标系统)JIAG仿真通信适配器接口图2-3JTAG单片机仿真开发系统在TTAG单片机仿真开发环境中,JTAG适配器提供了计算机通信口到单片机JTAG口的透明转换,并且不出借CPU和程序存储器给应用系统,使得仿真更加贴近实际目标系统。单片机内部已集成了基于JTAG协议的调试和下载程序。2.单片机应用系统开发的软件环境设计单片机应用系统需要的软件平台,主要包括以下几类:仿真软件平台、原理图及PCB图绘制软件平台、程序调试软件平台等。仿真软件平台的代表是PROTEUS软件:原理图及PCB图绘制软件平台的代表是PROTELE;程序调试软件平台的代表是μVision、WAVE、DAIS等。另外还有串口调试软件、程序下载软件等。具体软件平台的使用可参看有关资料。2.251单片机的总体结构51系列单片机已有多种产品,可分为两大系列:51子系列(又称为基本型)和52子系列(又称为增强型)。为了适应不同的需要,近几年单片机生产厂商又在基本单片机的基础上生产了称为特殊型的MCS-51单片机。无论是增强型还是特殊型,都是从基本型发展而来的,其基本功能是一样的,增强型和特殊型单片机是在基本型的基础上功能上的增强,因此本书以基本型为主。34
34 (3)使用JTAG界面单片机仿真开发环境 JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(与 IEEE 1149.1兼容),主要用于芯片内部测试。现在大部分高级器件都支持JTAG协议,例如 DSP和FPGA器件等。标准的JTAG接口有4线:TMS、TCK、TDI和TDO,分别为模式选择、时 钟、数据输入和数据输出线。JTAG最初是用来对芯片进行测试的,其基本原理是在器件内 部定义一个TAP(Test Access Port,测试访问口),通过专用的JTAG测试工具对内部节点 进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对 各个器件的分别测试。现在,JTAG接口还常用于实现ISP,对Flash EEPROM等器件进行编 程。 JTAG编程方式是在线编程,在这种方式下不需要编程器。传统生产流程中的先对芯片 进行预编程、现装配的方式也因此而改变,简化的流程为先固定器件到电路板上,再用 JTAG编程,从而大大加快了工程进度。 新一代的单片机芯片内部不仅集成了大容量的Flash EEPROM,还具有JTAG接口,可连接 JTAG ICE仿真器。PC提供高级语言开发环境(Windows),支持C语言及汇编语言,不仅可以 下载程序,还可以在系统中调试程序,具有调试目标系统的所有功能。开发不同的单片机 系统只需更换目标板。JTAG仿真开发环境如图2-3所示。 PC 通信 电缆 JTAG 适配器 仿真 电缆 单片机应用系统 (用户目标系统) JTAG 接口 图2-3 JTAG单片机仿真开发系统 在TTAG单片机仿真开发环境中,JTAG适配器提供了计算机通信口到单片机JTAG口的透 明转换,并且不出借CPU和程序存储器给应用系统,使得仿真更加贴近实际目标系统。单片 机内部已集成了基于JTAG协议的调试和下载程序。 2.单片机应用系统开发的软件环境 设计单片机应用系统需要的软件平台,主要包括以下几类:仿真软件平台、原理图及P CB图绘制软件平台、程序调试软件平台等。 仿真软件平台的代表是PROTEUS软件;原理图及PCB图绘制软件平台的代表是PROTELE; 程序调试软件平台的代表是µVision、WAVE、DAIS等。另外还有串口调试软件、程序下载软 件等。 具体软件平台的使用可参看有关资料。 2.2 51单片机的总体结构 51系列单片机已有多种产品,可分为两大系列:51子系列(又称为基本型)和52子系 列(又称为增强型)。为了适应不同的需要,近几年单片机生产厂商又在基本单片机的基 础上生产了称为特殊型的MCS-51单片机。 无论是增强型还是特殊型,都是从基本型发展而来的,其基本功能是一样的,增强型和 特殊型单片机是在基本型的基础上功能上的增强,因此本书以基本型为主

2.2.1内部结构与外部引脚1.内部结构5I单片机是在一块芯片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O功能部件,具有了一台微型计算机的基本结构。51单片机内部结构,主要包括下列部件:(1) CPU一个8位的CPU、一个一位的CPU(布尔处理机)。(2)存储器128B的片内数据存储器、4KB的片内程序存储器(8031无)、外部数据存储器和程序存储器的寻址范围为64KB,21个字节的专用寄存器。(3)1/0口4个8位并行I/0接口、一个全双工的串行口、2个1P1.0VCC406位的定时器/计数器、5个中断源、2个中断优先级。Pl.1 39 P0.02.外部引脚PO.138P1.237PO.2PL.351单片机大都采用40条引脚的双列直插式封装(D20PO.3P1.4P1.535P0.4IP),其引脚示意如图2-4所示。各引脚说明如下。P1.6PO.534P1.733PO.6(1)电源引脚VCC、VSS8MCS-51PO.7RST/VPD32电源引脚接入单片机的工作电源。P3.0/RXDEA/VPP31U系列单片机ALE/PROGP3.1/TXD12VCC(4O脚):接+5V电源(直流电源正端):VSSPSENP3.2/INTO1229328P2.7(20脚):接地(直流电源负端)。P3.3/INTiP2.6P3.4/TO4P3.5/T11526(2)时钟引脚XTAL1、XTAL2P2.516P3.6/WR25P2.4时钟电路是单片机的心脏,它用于产生单片机工P2.31724P3.7/RDP2.2XTAL11823作所需要的时钟信号。1oXTAL2P2.12021VSSP2.051单片机采用大都采用外接晶体和电容来组成并图 2-联谐振电路,电路如图2-5所示。XTALIC51单片机允许的振荡晶体M可在1.2~24MHz之间选择,典7MCS-51M型值有6MHz、11.0592MHz、12MHz。电容C1、C2起稳定振荡频TC,XTAL2率、快速起振的作用,可在20~100pF之间选择,典型值为图2-5采用内部时钟方式的电路30pF。应该指出,振荡电路产生的振荡脉冲并不直接为系统所用,而是经过二分频后才作为系统时钟信号的(状态周期)。6个状态周期构成51单片机的另一个时序周期一一机器周期。如果单片机的外部晶振是12MHz,则其内部的机器周期是1μs,指令周期为1~4μS。(3)RST/VPD(9脚)RST即为RESET,VPD为备用电源。复位以后内部寄存器的初始状态如表2-1所示。表2-1复位后的内部寄存器状态寄存器复位状态寄存器复位状态35
35 2.2.1 内部结构与外部引脚 1.内部结构 51单片机是在一块芯片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O功能部件, 具有了一台微型计算机的基本结构。 51单片机内部结构,主要包括下列部件: (1)CPU 一个8位的CPU、一个一位的CPU(布尔处理机)。 (2)存储器 128B的片内数据存储器、4KB的片内程序存储器(8031无)、外部数据存储器和程序存 储器的寻址范围为64KB,21个字节的专用寄存器。 (3)I/O口 4个8位并行I/O接口、一个全双工的串行口、2个1 6位的定时器/计数器、5个中断源、2个中断优先级。 2.外部引脚 51单片机大都采用40条引脚的双列直插式封装(D IP),其引脚示意如图2-4所示。各引脚说明如下。 (1)电源引脚VCC、VSS 电源引脚接入单片机的工作电源。 VCC(40脚):接+5V电源(直流电源正端);VSS (20脚):接地(直流电源负端)。 (2)时钟引脚XTAL1、XTAL2 时钟电路是单片机的心脏,它用于产生单片机工 作所需要的时钟信号。 51单片机采用大都采用外接晶体和电容来组成并 联谐振电路,电路如图2-5所示。 51单片机允许的振荡晶体M可在1.2~24MHz之间选择,典 型值有6MHz、11.0592MHz、12MHz。电容C1、C2起稳定振荡频 率、快速起振的作用,可在20~100pF之间选择,典型值为 30pF。 应该指出,振荡电路产生的振荡脉冲并不直接为系统所用,而是经过二分频后才作为 系统时钟信号的(状态周期)。6个状态周期构成51单片机的另一个时序周期——机器周期 。如果单片机的外部晶振是12MHz,则其内部的机器周期是1μs,指令周期为1~4μs。 (3)RST/VPD(9脚) RST即为RESET,VPD为备用电源。 复位以后内部寄存器的初始状态如表2-1所示。 表2-1 复位后的内部寄存器状态 寄 存 器 复位状态 寄 存 器 复位状态 图 2-4 51 单片机外部引脚图 图 2-5 采用内部时钟方式的电路

PCTMOD0OH0000HACC0OHTCON0OHB00HTHO00H0OHPSWTLO0OHTH1SP07H0OH00HDPTR000OHTL1OOHPO~P3OFFHSCONIPSBUF(XXX00000)(XXXXXXXX)IE(0XX00000)PCON(0XXX0000)51单片机通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路如图2-6所示。RC的典型值为C=10μF,R=8.2kQ。通常,因为系统运行等的需要,常常需要人工按钮复位,如图2-7所示,只需将一个常开按钮并联于上电复位电路,按下开关一定时间就能使RST引脚端为高电平,从而使单片机复位。在考虑单片机复位电路的同时,也要考虑系统的复位问题,RST5+5VHSTR图2-6上电复位电路图2-7上电与手动复位电路(4)输入/输出引脚P0P3输入/输出引脚P0~P3是51单片机的4个并行的I/0口,可以进行字节操作或进行位操作。PO、P2、P3除具有基本的输入/输出功能外,还具有第二功能。PO口当用作第二功能时,是作为地址总线低8位及数据总线分时复用口,一般作为扩展时地址/数据总线口使用:P2口当用作第二功能时,用作高8位地址总线,一般作为扩展时地址总线的高8位使用。现代的单片机应用系统设计中,一般不需要扩展片外的存储器与I/0口,所以本书不介绍51单片机外部扩展的有关知识,如果需要可以查阅有关资料。P3口当用作第二功能时,其定义如表2-2所示。表2-2P3口的第二功能定义引脚第二功能P3. 0RXD串行口输入端P3. 1TXD串行口输出端P3. 2INTO外部中断0请求输入端,低电平有效P3. 3INTI外部中断1请求输入端,低电平有效P3. 4TO定时器/计数器0计数脉冲输入端P3. 5T1定时器/计数器1计数脉冲输入端P3.6WR外部数据存储器及I/0口写选通信号输出端,低电平有效36
36 PC ACC B PSW SP DPTR P0~P3 IP IE 0000H 00H 00H 00H 07H 0000H 0FFH (×××00000) (0××00000) TMOD TCON TH0 TL0 TH1 TL1 SCON SBUF PCON 00H 00H 00H 00H 00H 00H 00H (××××××××) (0×××0000) 51单片机通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路如 图2-6所示。RC的典型值为C=10μF,R= 8.2kΩ。 通常,因为系统运行等的需要,常常需要人工按钮复位,如图2-7所示,只需将一个常 开按钮并联于上电复位电路,按下开关一定时间就能使RST引脚端为高电平,从而使单片机 复位。 在考虑单片机复位电路的同时,也要考虑系统的复位问题。 +5V C R RST MCS51 +5V C R1 R2 RST MCS-51 图 2-6 上电复位电路 图 2-7 上电与手动复位电路 (4)输入/输出引脚P0~P3 输入/输出引脚P0~P3是51单片机的4个并行的I/O口,可以进行字节操作或进行位操作。 P0、P2、P3除具有基本的输入/输出功能外,还具有第二功能。 P0口当用作第二功能时,是作为地址总线低8位及数据总线分时复用口,一般作为扩展 时地址/数据总线口使用;P2口当用作第二功能时,用作高8位地址总线,一般作为扩展时地 址总线的高8位使用。 现代的单片机应用系统设计中,一般不需要扩展片外的存储器与I/O口,所以本书不介 绍51单片机外部扩展的有关知识,如果需要可以查阅有关资料。 P3口当用作第二功能时,其定义如表2-2所示。 表2-2 P3口的第二功能定义 引 脚 第 二 功 能 P3.0 RXD 串行口输入端 P3.1 TXD 串行口输出端 P3.2 INT0 外部中断0请求输入端,低电平有效 P3.3 INT1 外部中断1请求输入端,低电平有效 P3.4 T0 定时器/计数器0计数脉冲输入端 P3.5 T1 定时器/计数器1计数脉冲输入端 P3.6 WR 外部数据存储器及I/O口写选通信号输出端,低电平有效

P3.7RD外部数据存储器及I/O口读选通信号输出端,低电平有效当不用作第二功能使用时,PO~P3口可以作为基本的输入/输出口使用;P3口部分位线用作了第二功能时,其余的位线还可以作为基本的输入/输出位线使用。(5)ALE/PROG(30脚)地址锁存有效输出端。(6)PSEN(29脚)、EA(31脚)PSEN为片外程序存储器读选通信号输出端,低电平有效。EA为片外程序存储器选用端,当EA端为高电平时,选择片内ROM,否则为片外ROM。2.2.2存储器结构51系列单片机存储器从物理结构上可分为片内、片外程序存储器(8031和8032无片内程序存储器)与片内、片外数据存储器等4部分。程序存储器(ROM)和数据存储器(RAM),在使用上是严格区分的,不得混用。程序存储器通常存放程序指令、常数及表格等,系统在运行过程中不能修改其中的数据;数据存储器则存放缓冲数据,系统在运行过程中可修改其中的数据。1.程序存储器51单片机从物理配置上可有片内、片外程序存储器,在现代51单片机应用系统设计中,:一般都选择片内带足够大程序存储器的单片机,所以不需要扩展片外的程序程序器,这样就可以直接将EA接高电平。在使用时只要知道其地址就可以了(C语言编程地址也可以弱化),如8K字节的ROM,其地址空间范围为:000OH~1FFFH。程序地址空间原则上可由用户任意安排,但复位和5个中断源的程序入口地址在51系列单片机中是固定的,用户不能更改。这些入口地址如表2-3所示。表2-351系列单片机复位、中断入口地址入口地址操作复位0000H0003H外部中断0定时器/计数器0溢出中断000BH外部中断10013H定时器/计数器1溢出中断001BH串行口中断0023H注:定时器/计数器2溢出或T2EX端负跳变(52子系列)中断源的程序入口地址为002BH。2.数据存储器51单片机片内有128个字节的数据存储器,外部可以扩展64K字节的数据存储器。现代单片机应用系统设计中,一般不需要扩展外部RAM,片内的足够用了。在使用时只要知道其地址就可以了,如51单片机的128个字节,其地址为00H~7FH。这128个字节由分为工作寄存器区、位寻址区、一般的RAM区。关于工作寄存器、位寻址、一般RAM区的知识可以查阅有关资料。37
37 P3.7 RD 外部数据存储器及I/O口读选通信号输出端,低电平有效 当不用作第二功能使用时,P0~P3口可以作为基本的输入/输出口使用;P3口部分位线 用作了第二功能时,其余的位线还可以作为基本的输入/输出位线使用。 (5)ALE/PROG(30脚) 地址锁存有效输出端。 (6)PSEN (29脚)、EA(31脚) PSEN 为片外程序存储器读选通信号输出端,低电平有效。EA为片外程序存储器选用端 ,当EA端为高电平时,选择片内ROM,否则为片外ROM。 2.2.2 存储器结构 51系列单片机存储器从物理结构上可分为片内、片外程序存储器(8031和8032无片内程 序存储器)与片内、片外数据存储器等4部分。 程序存储器(ROM)和数据存储器(RAM),在使用上是严格区分的,不得混用。程序存 储器通常存放程序指令、常数及表格等,系统在运行过程中不能修改其中的数据;数据存 储器则存放缓冲数据,系统在运行过程中可修改其中的数据。 1.程序存储器 51单片机从物理配置上可有片内、片外程序存储器,在现代51单片机应用系统设计 中,一般都选择片内带足够大程序存储器的单片机,所以不需要扩展片外的程序程序器, 这样就可以直接将EA 接高电平。在使用时只要知道其地址就可以了(C语言编程地址也可以 弱化),如8K字节的ROM,其地址空间范围为:0000H~1FFFH。 程序地址空间原则上可由用户任意安排,但复位和5个中断源的程序入口地址在51系列 单片机中是固定的,用户不能更改。这些入口地址如表2-3所示。 2.数据存储器 51单片机片内有128个字节的数据存储器,外部可以扩展64K字节的数据存储器。 现代单片机应用系统设计中,一般不需要扩展外部RAM,片内的足够用了。在使用时只 要知道其地址就可以了,如51单片机的128个字节,其地址为00H~7FH。这128个字节由分为 工作寄存器区、位寻址区、一般的RAM区。关于工作寄存器、位寻址、一般RAM区的知识可以 查阅有关资料。 表 2-3 51 系列单片机复位、中断入口地址 操 作 入口地址 复位 0000H 外部中断 0 0003H 定时器/计数器 0 溢出中断 000BH 外部中断 1 0013H 定时器/计数器 1 溢出中断 001BH 串行口中断 0023H 注:定时器 计数器 溢出或 端负跳变( / 2 T2EX 52 子系列)中断源的程序入口地址为002BH

2.2.3特殊功能寄存器特殊功能寄存器(SFR,SpecialFunctionRegisters),又称为专用寄存器,专用于控制、管理片内算术逻辑部件、并行I/0口、串行I/0口、定时器/计数器、中断系统等功能模块的工作。用户在编程时可以置数设置,却不能自由移做它用。各专用寄存器(PC例外)与片内RAM统一编址,且可作为直接寻址字节直接寻址。除PC外,51子系列单片机共有18个专用寄存器,其中3个为双字节寄存器,共占用21字节:52子系列有21个专用寄存器,其中5个为双字节寄存器,共占用26字节。按地址排列的各特殊功能寄存器名称、符号、地址如表2-5所示。其中有12个专用寄存器可以位寻址,它们字节地址的低半字节为0H或8H(即可位寻址的特殊功能寄存器字节地址具有能被8整除的特征)。在表2-4中也示出了这些位的位地址与位名称。表2-4特殊功能寄存器名称、符号、地址一览表位地址与位名称符号专用寄存器名称地址D7DSD4D3D2D1DOD6PO口PO80H8785838281808684堆栈指针SP81H数据指针低字节DPL82H数据指针高字节DPH83HITOTF1TRITFOTROIE1ITITEOTCON88H定时器/计数器控制888F8D8B898E&c8A定时器/计数器方式控制TMOD89HGATEM1GATEC/TMIMOC/TMOTLO8AH定时器/计数器0低字节TL18BH定时器/计数器1低字节THO8CH定时器/计数器0高字节TH1 8DH定时器/计数器1高字节P1口P190H979695949399190PCONIDL电源控制97HSMODGF1GFOPDRISMOTISM1SM2RENTB8RB8串行控制SCON98H9D99989F9E909B9A串行数据缓冲器SBUF99HP2口AOHP2A7A2A1A0A62H414EX1ETOEXOEAET2ETIIE中断允许控制A8HAFABA9A8RAAP3口BOP3BOHB7B3B2B1B6B5LPTOPX0PT2PT1PX1IPB8H中断优先级控制BAB9B8BDBBTF2EXF2RCLKTCLKEXEN2TR2C/T2CP/RL2定时器/计数器2控制T2CON*C8HCFCDCBCAC9C8CECCRLDL*CAH定时器/计数器2自动重装低字节定时器/计数器2自动重装高字节RLDH*CBHCCH定时器/计数器2低字节TL2*TH2*CDH定时器/计数器2高字节RS1RSOCFOONP程序状态字PSWDOHD7D6D5D1DOD4D3D2累加器4EOHE7EIEOE6E5E4E3E2B寄存器BFOHF7F6F5F4F1FOF3F2注:表中带*的寄存器与定时器/计数器2有关,只在52子系列芯片中存在,RLDH、RLDL也可写做RCAP2H、RCAP2L,分别称为定时器/计数器2捕捉高字节、低字节寄存器。注意:在SFR块地址空间80H~0FFH中,仅有21(51子系列)或26(52子系列)字节作为特殊功能寄存器离散分布在这128字节范围内,其余字节无意义,用户不能对这些字节进行38
38 2.2.3 特殊功能寄存器 特殊功能寄存器(SFR,Special Function Registers),又称为专用寄存器,专用于 控制、管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能 模块的工作。用户在编程时可以置数设置,却不能自由移做它用。各专用寄存器(PC例外) 与片内RAM统一编址,且可作为直接寻址字节直接寻址。除PC外,51子系列单片机共有18个 专用寄存器,其中3个为双字节寄存器,共占用21字节;52子系列有21个专用寄存器,其中 5个为双字节寄存器,共占用26字节。按地址排列的各特殊功能寄存器名称、符号、地址如 表2-5所示。其中有12个专用寄存器可以位寻址,它们字节地址的低半字节为0H或8H(即可 位寻址的特殊功能寄存器字节地址具有能被8整除的特征)。在表2-4中也示出了这些位的位 地址与位名称。 表 2-4 特殊功能寄存器名称、符号、地址一览表 专用寄存器名称 符号 地址 位地址与位名称 D7 D6 D5 D4 D3 D2 D1 D0 P0口 P0 80H 87 86 85 84 83 82 81 80 堆栈指针 SP 81H 数据指针低字节 DPL 82H 数据指针高字节 DPH 83H 定时器/计数器控制 TCON 88H TF1 8F TR1 8E TF0 8D TR0 8C IE1 8B IT1 8A IE0 89 IT0 88 定时器/计数器方式控制 TMOD 89H GATE C/ T M1 M0 GATE C/T M1 M0 定时器/计数器0低字节 TL0 8AH 定时器/计数器1低字节 TL1 8BH 定时器/计数器0高字节 TH0 8CH 定时器/计数器1高字节 TH1 8DH P1口 P1 90H 97 96 95 94 93 92 91 90 电源控制 PCON 97H SMOD — — — GF1 GF0 PD IDL 串行控制 SCON 98H SM0 9F SM1 9E SM2 9D REN 9C TB8 9B RB8 9A TI 99 RI 98 串行数据缓冲器 SBUF 99H P2口 P2 A0H A7 A6 A5 A4 A3 A2 A1 A0 中断允许控制 IE A8H EA AF — — ET2 AD ES AC ET1 AB EX1 AA ET0 A9 EX0 A8 P3口 P3 B0H B7 B6 B5 B4 B3 B2 B1 B0 中断优先级控制 IP B8H — — — — PT2 BD PS BC PT1 BB PX1 BA PT0 B9 PX0 B8 定时器/计数器2控制 T2CON* C8H TF2 CF EXF2 CE RCLK CD TCLK CC EXEN2 CB TR2 CA C/T2 C9 CP/RL2 C8 定时器/计数器2自动重装低字节 RLDL* CAH 定时器/计数器2自动重装高字节 RLDH* CBH 定时器/计数器2低字节 TL2* CCH 定时器/计数器2高字节 TH2* CDH 程序状态字 PSW D0H C D7 AC D6 F0 D5 RS1 D4 RS0 D3 OV D2 — D1 P D0 累加器 A E0H E7 E6 E5 E4 E3 E2 E1 E0 B寄存器 B F0H F7 F6 F5 F4 F3 F2 F1 F0 注:表中带*的寄存器与定时器/计数器2有关,只在52子系列芯片中存在,RLDH、RLDL也可写做RCAP2H、RCAP2L,分 别称为定时器/计数器2捕捉高字节、低字节寄存器。 注意:在SFR块地址空间80H~0FFH中,仅有21(51子系列)或26(52子系列)字节作为 特殊功能寄存器离散分布在这128字节范围内,其余字节无意义,用户不能对这些字节进行