MCS51单片机专用功能寄存器

发布者:Mingyue1314最新更新时间:2013-06-08 来源: 21ic关键字:MCS51单片机  功能寄存器  空间范围 手机看文章 扫描二维码
随时随地手机看文章

MCS-51单片机内的锁存器、定时器、串行口数据缓冲器以及各种控制寄存器和状态寄存器都是以专用功能寄存器(或称特殊功能寄存器)的形式出现的,它们分散地分布在内部RAM地址空间范围(80H~FFH)内,表 2-5列出了这些专用功能寄存器(SFR)的助记标识符、名称及地址。

其中,凡字节地址可以被8整除的专用功能寄存器都可以位寻址。其位地址见表2-6。

大部分寄存器的应用将在后面有关章节中评述,这里仅作简单介绍。

·累加器ACC

累加器是一个最常用的专用寄存器。大部分单操作数指令的操作取自累加器。很多双操作数指令的一个操作数取自累加器。加、减、乘、除算术运算指令的运算结果都存放在累加器A或AB寄存器对中。指令系统中用A作为累加器的助记符。

·B寄存器

在乘除指令中,用到了B寄存器。乘法指令的两个操作数分别取自A 和B 其结果存放在AB寄存器对中。除法指令中,被除数取自A,除数取自B,商数存放于A,余数存放于B。在其它指令中,B寄存器可作为RAM中的一个单元来使用。

·程序状态字PSW

程序状态字是一个8位寄存器,它包含了程序状态信息。此寄存器各位的含义参见图2-8。

其中PSW.1未用。其它各位说明如下:

·CY(PSW.7)进位标志

在执行某些算术和逻辑指令时,可以被硬件或软件置位或清零。在布尔处理机中它被认为是位累加器;其重要性相当于一般中央处理机中的累加器A 。

· AC(PSW.6)辅助进位标志

当进行加法或减法操作而产生由低4位数(十进制的一个数引向高4位数进位或借位时,AC将被硬件置位,否则就被清零。Ac被用于十进制调整。详见DAA指令。

·FO(PSW.5)标志O

是用户定义的一个状态标记,可以用软件来使它置位或清零,也可以用软件测试FO以控制程序的流向。[page]

·RS1,RS0(PSW.4, PSW.3)寄存器区选择控制位 1和0

可以用软件来置位或清零以确定工作寄存器区。RS1,RS0与寄存器区的对应关系如下:

RS1 RS0

0 0 —— 区 0(00H~07H)

0 1 —— 区 1(08H~0FH)

1 0 —— 区 2(10H~17H)

1 1 —— 区 3(18H~1FH)

·OV(PSW.2) 溢出标志

当执行算术指令时,由硬件置位或清零,以指示溢出状态。当执行加法指令ADD时,若用 C6\'表示 D6位向 D7位有进位,用C7\'表示D7向进位位有进位,则有:

OV=C6 \'⊕C7\'

即当位6向位7有进位而位7不向Cy进位时,或位6不向位7进位而位7向CY有进位时;溢出标志OV置位,否则清零。

同样,在执行减法指令SUBB时C6和C7表示有借位。因此,溢出标志在硬件上可以用一个异或门获得。

溢出标志常用于用ADD和SUBB指令对带符号数作加减运算时,OV= 1表示加减运算的结果超出了目的寄存器A所能表示的带符号数(2的补码)的范围(-128~+127),参见第三章中关于 ADD和 SUBB指令的说明。

在MCS-51中,无符号数乘法指令MUL的执行结果也会影响溢出标志。若置于累加器A和寄存器B的两个数的乘积超过255时,OV=1, 否则OV=0。此积的高8位放在B 内,低 8位放在 A内。因此, OV= 0意味着只要从 A中取得乘积即可;否则要从 BA寄存器对中取得乘积。

除法指令DIV也会影响溢出标志。当除数为0时,OV= 1,否则OV=0。

·P(PSW.0)奇偶标志

每个指令周期都由硬件来置位或清0,以表示累加器A中1的位数的奇偶数。若1的位数为奇数,则P置位,否则清0。此标志位对串行通信中的数据传输有重要的意义。在串行通信中常用奇偶校验的办法来检验数据传输的可靠性。在发送端可根据P的值对数据的奇偶位置位或清零。若通信协议中规定采用奇校验的办法,则P=0时,应对数据(假定由A取得)的奇偶位置位;否则就清0。

·栈指针SP

栈指针SP是一个8位专用寄存器。它指示出堆栈顶部在内部RAM中的位置。系统复位后,SP初始化为07H,使得堆栈事实上由08H单元开始。考虑到08H~lFH单元分属于工作寄存器区 1~3,若程序设计中要用到这些区,则最好把SP值改置为 1FH或更大的值。SP的初始值越小,堆栈深度就可以越深。堆栈指针的值可由软件改变,因此堆伐在内部 RAM中的位置比较灵活。

除用软件直接改变SP值外,在执行PUSH,POP指令,各种子程序调用,中断响应,子程序返回(RET)和中断返回(RETI)等指令时,SP值将自动增量或减量。

·数据指针DPTR

数据指针DPTR是一个16位专用寄存器,其高位字节寄存器用DPH表示;低位字节寄存器用 DPL 表示。既可以作为一个 16位寄存器 DPTR来处理,也可以作为两个独立的8位寄存器DPH和DPL来处理。DPTR主要用来存放16位地址,当对 64KB外部数据存储器空间寻址时,可作为间址寄存器用。

传送指令有下列两条:

MOVX A,@DPTR

MOVX @DPTR,A

在访问程序存储器时,DPTR可用作基址寄存器,有一条采用基址个变址寻址方式的指令MOVX A,@A + DPTR,常用于读取存放在程序存储器内的表格常数。

·端口P0~P3

专用寄存器P0,P1,P2和P3分别是 I/O 端口P0~P3的锁存器。P0~P3作为专用寄存器还可用直接寻址方式参与其它操作指令。

·串行数据缓冲器SBUF

串行数据缓冲器 SBUF用于存放欲发送或已接收的数据,它实际上由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器。当要发送的数据传送到SBUF时,进的是发送缓冲器。当要从SBUF读数据时,则取自接收缓冲器,取走的是刚接收到的数据。

·定时器/计数器

MCS-51系列中有两个16位定时器/计数器T0和T1。它们各由两个独立的 8位寄存器组成,共有四个独立的寄存器:TH0,TL0,TH1 ,TL1。可以对这四个寄存器寻址,但不能把T0,T1 当作一个16位寄存器来寻址。

·其它控制寄存器

IP,IE,TMOD,TCON,SCON和PCON寄存器分别包含有中断 系统、定时器/计数器、串行口和供电方式的控制和状态位,这些寄存器将在本章有关节中叙述。

关键字:MCS51单片机  功能寄存器  空间范围 引用地址:MCS51单片机专用功能寄存器

上一篇:初学89c52单片机的心得
下一篇:C51存储器类型与51单片机的物理区域

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

STM32单片机寄存器功能解析
“大神”叫你先上STM32,51是小朋友玩的,所以你就不学51了 初学者建议从51单片机开始,虽然很多人建议直接上STM32,但本人还是建议先学习51单片机,简单且不容易打消积极性,很多人都是在积极性消退之后就会半途而废,等熟悉了LED、串口、SPI、按键、中断、IIC等这些基础之后,如果对单片机还有兴趣,不妨再去晋升学习STM32单片机,有了51单片机作为基础,这时候学习STM32也是可以非常快的就能上手。 一般的寄存器的定制是从0开始定义,0000这个寄存器地址存放的是温度的一个数据,然后0001这个采用的是湿度的数据,它们两个数据的范围都是0到65535,并且都是只读的,所以它适用于的是03这个功能,组态地址就不用关心了
[单片机]
STM32单片机<font color='red'>寄存器</font>的<font color='red'>功能</font>解析
mcs-51单片机汇编语言条件转移指令(8条)编程举例
控制转移 指令 用于控制程序的流向,所控制的范围即为程序存储器区间,MCS-51系列单片机的控制转移 指令 相对丰富,有可对64kB程序空间地址单元进行访问的长调用、长转移指令,也有可对2kB字节进行访问的绝对调用和绝对转移指令,还有在一页范围内短相对转移及其它无条件转移指令,这些指令的执行一般都不会对标志位有影响。 . 条件转移指令(8条) 条件转移指令是指在满足一定条件时进行相对转移 JZ rel ; A=0,(PC)+ 2 + rel→(PC),累加器中的内容为0,则转移到偏移量所指向的地址,否则程序往下执行 JNZ rel ; A≠0,(PC)+ 2 + rel→(PC),累加器中的内容不为0
[单片机]
MCS-51单片机实用子程序库5
(5) 标号: FDIV 功能:浮点数除法 入口条件:被除数在 中,除数在 中。 出口信息:OV=0时,商仍在 中,OV=1时,溢出。 影响资源:PSW、A、B、R2~R7、位1EH、1FH 堆栈需求: 5字节 FDIV: INC R0 MOV A,@R0 INC R0 ORL A,@R0 DEC R0 DEC R0 JNZ DIV1 MOV @R0,#41H;被除数为零,不必运算 CLR OV RET DIV1: INC R1 MOV A,@R1 INC R1 ORL A,@R1 DEC R1 DEC R1 JNZ DIV2 SETB OV ;除数为零,溢出 RET DIV2: LCALL MVR0 ;将 传送到第一工作区中 MO
[单片机]
mcs-51单片机 扫描矩阵键盘程序
#include reg52.h #define uint unsigned int #define uchar unsigned char sbit DSCQ=P2^6;//位定义段锁存器控制端 sbit WSCQ=P2^7;//位定义位锁存器控制端 uchar code table ={0x3f,0x06,0x5b,0x4f, //0,1,2,3 0x66,0x6d,0x7d,0x07, //4,5,6,7 0x7f,0x6f,0x77,0x7c, //8,9,a,b 0x39,0x5e,0x79,0x71};//c,d,e,f void delay(uint t);//声明延时函数 void keyscan()
[单片机]
MCS-51单片机与无线调制器的综合应用
GPS是目前技术上最成熟且已实用的一种定位系统,但是在GPS定位系统中,由于其是一个单向导航系统,他是把星历数据等传给地面接收机,可在许多具体应用时,例如在车辆调度系统中,一般都需要把利用GPS测得的信息数据传到调度中心,由于其系统由一个基准站和多个用户台组成,基准站与用户台之间的联系,即由基准站计算出的各种校正值发送到用户台,上边这一切都需要用到数据链来完成数据的传输。其中,数据链由调制解调器和电台组成。在无线数据传输系统中,调制解调器足一个关键部分,调制解调器(Modem)是将数据进行编码和调制,然后输入到电台发射出去,用户台将其接收下来,并将数据解调后,送入GPS接收机进行改正。本文介绍了单片机控制Modem的原理和方法。
[单片机]
MCS-51单片机的中断系统介绍
计算机与外界的联系是通过外部设备(也称为外设、输入/输出设备或I/O设备)与外界联系的。计算机与外设之间不是直接相连的,而是通过不同的接口电路来达到彼此间的信息传送的目的。 计算机与外设之间交换信息的方式: (1)无条件传送方式:外设对计算机来说总是准备好的。 (2)查询传送方式:传送前计算机先查询外设的状态,若已经准备好就传送,否则就继续查询/等待。 (3)中断传送方式:外设通过申请中断的方式与计算机进行数据传送。 (4)直接存储器存取方式(DMA):传送数据的双方直接通过总线传送数据, 不经CPU中转。 1.中断的定义 所谓 中断 ,是指CPU执行正常程序时,系统中出现特殊请求,CPU暂时中止当
[单片机]
时钟芯片DS1302和MCS51单片机的接口程序C51
#pragma small #include #include /******************************************** * DS1302 PIN Configuration * ******************************************** sbit DS_CLK = P1^6 sbit DS_IO = P1^5; sbit DS_RST = P1^4; /******************************************** * Shift Data from Mcu in DS1302 * **************************
[单片机]
8051的特殊功能寄存器
8051有21个特殊功能寄存器,其中大部分是8位的,还有一些是16位的。我们对51单片机的操作实质是对特殊功能寄存器的操作。SFR是我们操作的对象,对他们进行读和写就是在操作51单片机。 PSW(程序状态字寄存器):保存程序在执行过程中一些状态。 CY:进位位CY是在执行加法(减法)时,如果第7位有进位(借位),则将CY置1。 AC:辅助进位位AC,是指第3位向第4位有进位(借位)时,将AC置1. F0:是用户标志位,留给我们用的 RS1和RS0是工作寄存器组选择位,由RS1和RS0控制选择哪一组工作寄存器工作。 OV:溢出标志位,在加减法运算的过程中,
[单片机]
8051的特殊<font color='red'>功能</font><font color='red'>寄存器</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved