当前位置:首页 > 单片机 > 单片机
[导读]MCS-51单片机内的锁存器、定时器、串行口数据缓冲器以及各种控制寄存器和状态寄存器都是以专用功能寄存器(或称特殊功能寄存器)的形式出现的,它们分散地分布在内部RAM地址空间范围(80H~FFH)内,表 2-5列出了这些专用

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以控制程序的流向。

·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寄存器分别包含有中断 系统、定时器/计数器、串行口和供电方式的控制和状态位,这些寄存器将在本章有关节中叙述。

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

74LS175是一款4D触发器集成电路,它包含6个D触发器,这些触发器可以组合起来形成寄存器或抢答器等多种功能部件。

关键字: 74ls175 触发器 寄存器

单片机复位电路的作用是:使单片机恢复到起始状态,让单片机的程序从头开始执行,运行时钟处于稳定状态、各种寄存器、端口处于初始化状态等等。

关键字: 复位电路 单片机 寄存器

"上海·临港杯"人工智能全球创新大赛正式拉开帷幕 上海2023年9月25日 /美通社/ -- 9月19日下午,"上海·临港杯"人工智能全球创新大赛暨港...

关键字: 大赛 人工智能 创客 MIDDOT

上海2023年9月21日 /美通社/ -- 由于在雇主品牌建设拥有优异表现,台达于9月15日在 “2023 HRoot 人力资本论坛·上海站”获颁“2023大中华区卓越雇...

关键字: ROOT MIDDOT EXPLORING

寄存器变量是计算机中一种重要的存储方式,它使用CPU中的寄存器来存储数据和指令。寄存器直接与CPU的运算和控制部件相连,因此访问速度非常快,通常在一个CPU周期内就能完成数据的读写操作。相比于内存和硬盘等存储设备,寄存器...

关键字: 寄存器 存储器

寄存器和存储器是计算机及其它电子设备中的两种重要存储组件,它们在存储方式、存储容量和访问速度等方面存在明显的差异。

关键字: 寄存器 存储器

寄存器和内存是计算机系统的两个重要组成部分,它们之间存在着密切的关系。本文将介绍寄存器和内存的基本概念、功能、类型以及它们之间的关系,旨在帮助读者更好地理解计算机系统的运行原理。

关键字: 寄存器 内存

成都2023年9月18日 /美通社/ --  由成都世纪康博会展有限公司承办的第29届中国·成都医疗健康博览会(简称:成都医博会)将于2023年9月21-23日在成都世纪城国际展览中心6/7号馆举...

关键字: 仪器设备 BSP MIDDOT 医疗器械

南京2023年9月16日 /美通社/ -- 今日,由中国 "双一流"建设高校南京医科大学、全球基因测序和芯片技术的领导者因美纳与"Nature Research Custom Media&q...

关键字: IO BSP GO OV

杭州2023年9月15日 /美通社/ -- 2023年9月14日,物产中大华妍"伊触即发·妍值城市运营会上海站",在上海衡山路小红楼顺利召开。汇聚上海行业大咖同仁,共赴金秋,点亮全国运营...

关键字: BSP MIDDOT 创始人 可持续发展
关闭
关闭