当前位置:首页 > 单片机 > 单片机
[导读] 8051/89C51共有21个专用寄存器,现把其中部分寄存器简单介绍如下:(1)程序计数器(Program Counter,PC) PC是一个16位的计数器,它的作用是控制程序的执行顺序,其内容为下一条要执行的指令的地址,寻址范围达64KB。

 8051/89C51共有21个专用寄存器,现把其中部分寄存器简单介绍如下:

(1)程序计数器(Program Counter,PC) PC是一个16位的计数器,它的作用是控制程序的执行顺序,其内容为下一条要执行的指令的地址,寻址范围达64KB。PC有自动加1的功能,从而实现程序的顺序执行。PC没有地址,是不可寻址的,因此用户无法对它进行读/写操作,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。因地址不在SFR(专用寄存器)内,一般不计作专用寄存器。

(2)累加器(Accumulator,ACC) 累加器为8位寄存器,是最常用的专用寄存器,功能较多,地位重要。它既可用于存放操作数,也可用来存放运算的中间结果。MCS-51单片机中大部分单操作数指令的操作数就取自累加器,许多双操作数指令中的一个操作数也取自累加器。

(3)B寄存器 B寄存器也是一个8位寄存器,主要用于乘除运算。乘法运算时,B存乘数,乘法操作后,乘积的高8位存于B中;除法运算时,B存除数,除法操作后,余数存于B中。此外,B寄存器也可作为一般寄存器使用。

(4)程序状态字(Program Status Word,PSW) 程序状态字是一个8位寄存器,用于存放程序运行中的各种状态信息。其中有些位的状态是根据程序执行结果,由硬件自动设置的,而有些位的状态则使用软件方法设定。PSW的位状态可以用专门指令进行测试,也可以用指令读出。一些条件转移指令根据PSW某些位的状态进行程序转移。PSW的各位定义如图1-10所示。

PSW位地址:

D7H

D6H

D5H

D4H

D3H

D2H

D1H

D0H

CY

AC

F0

RS1

RS0

OV

P

图1-10 PSW的各位定义

PSW的字节地址为D0H。

除PSW.1位保留未用外,其余各位的定义及使用如下:

CY(PSW.7)——进位标志位。CY是PSW中最常用的标志位。其功能有二:一是存放算术运算的进位标志,在进行加或减运算时,如果操作结果的最高位有进位或借位时,CY由硬件置“1”(Single Chip Micro Computer),否则清“0”;二是在位操作中作累加位使用。位传送、位与位等位操作,进位标志位是固定的操作位之一。

AC(PSW.6)——辅助进位标志位。在进行加或减运算中,当低4位向高4位进位或借位时,AC由硬件置“1”,否则AC位清“0”。在BCD码调整中也要用到AC位状态。

F0(PSW.5)——用户标志位。这是一个供用户定义的标志位,需要利用软件方法置位或复位,用于控制程序的转向。

RS1和RS0(PSW.4、PSW.3)——工作寄存器组选择位。它们被用于选择CPU当前使用的通用寄存器组。通用寄存器共有4组,其对应关系如表1-5所示。

表1-5 通用寄存器组的选择

RS1    RS0

寄存器组

片内RAM地址

0       0

0

00H—07H

0       1

1

08H—0FH

1       0

2

10H—17H

1       1

3

18H—1FH

这两个选择位的状态是由软件设置的,被选中的寄存器组即为当前通用寄存器组。当单片机上电或复位后,RS1:RS0=00。

OV(PSW.2)——溢出标志位。在带符号数加减运算中,OV=1表示加减运算超出了累加器A所能表示的符号数有效范围(-128~+127),即产生了溢出;因此运算结果是错误的;OV=0表示运算正确,即无溢出产生。

在乘法运算中,OV=1表示乘积超过255,即乘积分别在B与A中;OV=0表示乘积只在A中。

在除法运算中,OV=1表示除数为0,除法不能进行;OV=0表示除法可正常进行。

P(PSW.0)——奇偶标志位,表明累加器A中内容的奇偶性。如果A中有奇数个“1”,则P置“1”,否则置“0”。凡是改变累加器A中内容的指令均会影响P标志位。

该标志位对串行通信中的数据传输有重要的意义,在串行通信中常采用奇偶校验的办法来校验数据传输的可靠性。

(5)数据指针(DPTR) 数据指针为16位寄存器。编程时,DPTR既可以按16位寄存器使用,也可以按两个8位寄存器分开使用,即:

DPH DPTR高8位字节

DPL DPTR 低8位字节

DPTR通常在访问外部数据存储器时作地址指针使用。由于外部数据存储器的寻址范围为64KB,故把DPTR设计为16位。

(6)堆栈指针 (Stack Pointer,SP) 堆栈是一个特殊的存储区,用来暂存数据和地址,它是按“先进后出”的原则存取数据的。堆栈共有两种操作:进栈和出栈。

由于MCS-51单片机的堆栈设在内部RAM中,因此SP是一个8位寄存器。系统复位后,SP的内容为07H,从而复位后堆栈实际上是从08H单元开始的,但08H~1FH单元分别属于工作寄存器1~3区,如果程序要用到这些区,最好把SP值改为更大的值。一般在内部RAM的30H~7FH单元中开辟堆栈。SP的内容一经确定,堆栈的位置也就跟着确定下来,由于SP可初始化为不同的值,因此,堆栈位置是浮动的。21ic基础知识

这里只集中讲述了6个专用寄存器,其余的专用寄存器(如TCON、TMOD、IE、IP、SCON、PCON、SBUF等)将在以后章节中陆续介绍。

对专用寄存器的字节寻址问题作如下几点说明:

(1)21个可字节寻址的专用寄存器不连续地分散在内部RAM高128单元之中,尽管还余有许多空闲地址,但用户并不能使用。

(2)程序寄数器PC不占据RAM单元,它在物理上是独立的,因此是不可寻址的寄存器。

(3)对专用寄存器只能使用直接的寻址方式,书写时既可使用寄存器符号,也可使用寄存器单元地址。

全部专用寄存器可位寻址的位共83位,这些位都具有专门的定义和用途。这样,加上位寻址的128位,在MCS-51的内部RAM中共有128+83=211个可寻址位。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭