8051/89C51的21个专用寄存器介绍

发布者:科技驿站最新更新时间:2018-11-23 来源: eefocus关键字:89C51  专用寄存器 手机看文章 扫描二维码
随时随地手机看文章

 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个可寻址位。


关键字:89C51  专用寄存器 引用地址:8051/89C51的21个专用寄存器介绍

上一篇:MCS-51单片机的存储器组织结构
下一篇:MCS-51与中断有关的寄存器、中断入口地址及编号

推荐阅读最新更新时间:2024-03-16 16:18

8051单片机的端口结构—P2口
P2口的位结构与P0口类似,有MUX开关。驱动部分与P1口类似,但比P1口多了一个转换部分。 当CPU对片内存储器和I/0口进行读写时,即执行MOV指令,或在EA=1的条件下执行MOVE指令,由内部控制电路自动使开关MUX倒向锁存器的Q端,这时P2口为一般I/O口;当CPU 对片外存储器进行读写时,即执行MOV指令,或在EA=1的条件下执行MOVC指令,开关倒向地址线端,这时P2口之输出高8位地址。当系统扩展片外EPROM和RAM时,由P2口输出地址(低8位地址由P0输出)。此时,MUX在CPU的控制下,转向内部地址线的一端。因为访问片外EPROM和RAM的操作往往接连不断,P2口要不断送出高8位地址,此时P2口无法再用作通用
[单片机]
<font color='red'>8051</font>单片机的端口结构—P2口
89C51单片机与TLC2543芯片的串行A/D驱动程序设计
串行A/D转换器转换后的结果是以串行方式输出,数字量以串行方式输出可简化系统的连线,缩小电路板的面积,节省系统的资源。下面以TLC2543为例,介绍串行A/D驱动程序的设计。 89C51单片机与TLC2543芯片的接口电路图如下图所示。TLC2543的3个控制输入端CS(的反)、I/OCLOCK、DATAINPUT和一个数据输出端DATAOUT分别与单片机的P1.4、Pl.l、P1.2和P1.3引脚相连,单片机采用的晶振频率为12MHz。 电路设计时,我们将TLC2543有两个基准电压输入REF+、REF-分别与电源(VCC)、GND相连,这样连接可保证数字输出的满度和零点,但在高精度的测量要求中,如果VCC的质量一般,应
[单片机]
<font color='red'>89C51</font>单片机与TLC2543芯片的串行A/D驱动程序设计
单片机89C51指令
  1.数据传送指令汇总   2.算术运算类指令汇总   3.控制转移类指令汇总   4.逻辑运算指令汇总   5.布尔(位)操作指令汇总
[单片机]
单片机<font color='red'>89C51</font>指令
89C51单片机与1片ADC0809组成的数据采集系统编程实例
在1个由89C51单片机与1片ADC0809组成的数据采集系统中,ADC0809的8个输入通道的地址为7FF8H~7FFFH,试画出有关接口电路图,并编写出每隔1分钟轮流采集1次8个通道数据的程序,共采样50次,其采样值存入内RAM20H单元开始的存储区中。 图片1 参考程序如下: 0~7通道地址:fef8h~feffh ORG 000H LJMP MAIN ORG 0003H LJMP I_INT0 ORG 000BH LJMP I_T0 ORG 050H MAIN: MOV
[单片机]
<font color='red'>89C51</font>单片机与1片ADC0809组成的数据采集系统编程实例
富威C8051F9XX无端医疗照护解决方案
  富威集团Silicon Labs 低功耗MCU C8051F9XX应用于无端医疗照护解决方案。该系列芯片已被广泛应用于RFID标签、水气表计量、传感器接口、能量采集、报警系统、烟雾检测以及掌上型医疗照护系统等。C8051F9XX是目前业内最省电的MCU,最低待机功耗为10nA,有效增加电池寿命。C8051F9XX内置12Bit AD,可以完全满足医疗系统的AD要求,大大降低客户的成本。      在一般操作模式中,8位F9xx微控制器可达到业界最低的消耗电流,以提供嵌入式市场中最低的系统层级功耗。此一电源效率极佳的微控制器提供最低的操作模式电流消耗(160µA/MHz),可大幅节省系统运作时的电力。在休眠模式中,此款微控制器所
[单片机]
富威C<font color='red'>8051</font>F9XX无端医疗照护解决方案
C8051F020中的ADC应用要素
哈尔滨工程大学 汪滨琦 陈红伟 姜广文 摘要: 归纳SOC型芯片C8051F020中模数转换部分的应用要素,包括精度与通道、速率与启动、基准与增益、数据与控制,提出编程及相关SFR的操作顺序。 关键词: 片上系统(SOC) A/D转换(ADC) 特殊功能寄存器(SFR)     C8051F020(简称F020)是美国德州Cygnal 公司推出的一种混合信号SOC型8位单片机。它属于C8051F系列中的F02X子系列。其性能价格比在目前应用领域极具竞争力。F020具有8路12位A/D转换(简称ADC)接口和8路8位在线可编程(ISP)的ADC电路,片上的特殊功能寄存器(简称SFR)有15个与ADC的控制相关,它们是: AMUX
[单片机]
基于USB2.0的同步高速数据采集器的设计
随着计算机技术的迅速发展,对外部总线速度的要求越来越高。通用串行总线(Universal Serial Bus,即USB总线)凭借其即插即用、热插拔以及较高的传输速率等优点,成为PC机与外设连接的普遍标准。在许多便携式电脑上,已经找不到RS-232接口。迄今为止,常用的USB总线标准有1998年发布的USBl.1版本和2000年发布的USB2.0版本。其中1.1版本支持两种传输速率:1.5Mbps和12Mbps,主要应用在低速传输要求的场合;而2.0版本面向高数据率传输的场合,支持480Mbps的传输速度,并向下完全兼容USBl.1协议。在实际应用中,通常会遇到一些突发信号,需要对其进行高速采集,对数据进行高速传输,所以USB2.
[应用]
基于C8051F的模数转换及直流电机驱动系统中的应用
1 引言 随着微型计算机的迅速发展,单片机的性能也大大增强。本文介绍Silicon Labs公司的8位单片机C8051F001系列,该系列器件内部集成了A/D转换器,这给测量模拟信号带来了极大方便。利用单片机自身的PWM口可实现对电机数字系统的控制,提高了控制精度,大大简化了电路,符合小型化和低功耗的设计要求。 2 ADC的内部结构和特点 C8051F001/2/5/6/7系列自带一个9通道的可配置模拟开关(AMUX),一个可编程增益放大器(PGA)和一个100 kS/s,12位分辨率的逐次逼近型ADC,ADC还集成了跟踪保持电路和可编程窗口检测器。AMUX、PGA、模数转换方式和窗口检测器都可通过软件对特殊功能寄存器的设置
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved