首页 百科知识 存储器数据寄存器

存储器数据寄存器

时间:2022-10-27 百科知识 版权反馈
【摘要】:51单片机内部有一个8位的面向控制、功能强大的微处理器,其主要功能是运算和控制整个系统协调工作.它由运算器和控制器两部分组成.运算器实现对操作数的算术运算、逻辑运算和位操作.包括算术逻辑单元(ALU)、累加器A、寄存器B、程序状态字PSW、暂存器、布尔处理器以及十进制调整电路等部件.算术逻辑单元ALU是计算机中必不可少的数据处理单元之一,主要对数据进行算术逻辑运算.从结构上看,该单元实质是一个全加

一、单片机的内部结构

(一)中央处理器

51单片机内部有一个8位的面向控制、功能强大的微处理器,其主要功能是运算和控制整个系统协调工作.它由运算器和控制器两部分组成.

1.运算器.

运算器实现对操作数的算术运算、逻辑运算和位操作.包括算术逻辑单元(ALU)、累加器A、寄存器B、程序状态字PSW、暂存器、布尔处理器以及十进制调整电路等部件.

(1)算术逻辑单元ALU(Arithmetical Logic Unit).

算术逻辑单元ALU是计算机中必不可少的数据处理单元之一,主要对数据进行算术逻辑运算.从结构上看,该单元实质是一个全加器,它的运算结果将对程序状态字PSW产生影响.该单元主要完成以下操作:

①加、减、乘、除运算;

②增量(加1)减量(减1)运算;

③十进制数调整;

④位操作中的置位、复位和取反操作;

⑤与、或、异或等运算操作;

⑥数据传送操作.

(2)累加器A.

累加器A是CPU中最繁忙、使用频度最高的一个特殊功能寄存器,简称为ACC或A寄存器,其作用为:

①累加器A是ALU的输入数据源之一,也是ALU的输出数据的存储寄存器.

②CPU中的数据传送大多数都通过累加器A,累加器A是一个非常重要的数据中转站.

(3)寄存器B.

寄存器B是一个8位寄存器,是为ALU进行乘、除运算而设置的.在执行乘法运算指令的时候,寄存器B用于存放其中的一个乘数和乘积的高8位数.在执行乘法运算指令的时候,寄存器B用于存放除数和余数.在其他情况下,B寄存器可以作为一个普通的寄存器使用.

(4)程序状态字.

程序状态字PSW(Program Status Words)是一个8位的专用寄存器,用于存储程序运行中的各种状态信息.它被按位定义,可以进行位寻址操作.

(5)暂存器.

用以暂存进入运算器之前的数据.

(6)布尔处理器.

布尔处理器(位处理器)是51单片机ALU所具有的一种功能.单片机指令系统的位处理指令集(17条位操作指令),存储器中的位地址空间都涉及布尔处理器.它借用程序状态寄存器PSW中的进位标志CY做为位操作“累加器”,构成51单片机内的布尔处理器.它可对直接寻址的位(bit)变量进行位处理,如置位、清零、取反、测试转移以及逻辑“与”“或”等位操作,使用户在编程时可以利用指令完成原来单凭复杂的硬件逻辑所完成的功能,并可方便地设置标志等.

(7)十进制调整电路.

顾名思义,其用来进行十进制调整的电路.

2.控制器.

控制器是控制计算机系统各种操作的部件,其功能是控制指令的读取、译码和执行,对指令的执行过程进行定时控制,并根据执行结果决定其后的操作.它包括时钟发生器、定时控制逻辑、复位电路、指令寄存器IR、指令译码器ID、程序计数器PC、程序地址寄存器、数据指针DPTR、堆栈指针SP等.

(二)存储器结构

51系列单片机的存储组织采用的是哈佛(Harvard)结构,即将程序存储器和数据存储器截然分开,程序存储器和数据存储器具有各自独立的寻址方式、寻址空间和控制系统.这种结构对于单片机“面向控制”的实际应用极为方便.

在物理结构上,51系统单片机有4个存储器空间:

程序存储器:片内程序存储器和片外程序存储器;

数据存储器:片内数据存储器和片外数据存储器.

1.存储原理.

存储器是利用电平的高低来存放数据的,它由大量的寄存器组成,其中每一个寄存器称为一个存储单元,其可存放一个独立意义的二进制代码.一个代码由若干位(bit)组成,代码的位数称为位长,习惯上也称为字长.

2.内部程序存储器.

程序存储器用来存放经过调试正确的应用程序和表格之类的固定数据.

3.内部数据存储器.

数据存储器由随机存储器RAM组成,这种存储器又叫读写存储器,它不仅能读取存放在存储单元中的数据,还能随时写入新的数据,写入后原来的数据就丢失了.断电后RAM中的信息全部丢失.因此,RAM用来存放运算中的数据、中间结果及最终结果.

4.特殊功能寄存器.

在51单片机内部有一个CPU用来实现运算、控制功能,有四个并行I/O口,有程序存储器,有数据存储器,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路.对并行I/O口的读写只要将数据送入到相应I/O口的锁存器就可以了,那么对于定时/计数器,串行I/O口等怎么用呢?在单片机中有一些被称为特殊功能寄存器(SFR)的存储单元,其功能是用来控制这些器件单元.

5.存储器结构特点.

单片机的存储器结构与微型计算机有很大的不同.它具有两个重要的特点:一是数据存储器和程序存储器相互独立,二是存储器由内外两部分组成.对于面向控制应用且又不可能具有磁盘的单片机系统来说,程序存储器是至关重要的,但数据存储器也必不可少.为此单片机的存储器分为数据存储器和程序存储器,其地址空间、存取指令和控制信号各不相同.

(三)I/O端口结构

51系列单片机有1个8位双向并行I/O端口P0和3个8位准双向并行I/O端口P1~P3.每一位端口都由锁存器、输出驱动器和输入缓冲器组成.它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能.

1.P0端口.

图1-1表示了P0端口中某一位的电路结构.图中电路中包含有一个数据输出锁存器、两个三态数据输入缓冲器、一个数据输出驱动电路和一个输出控制电路.当对P0口进行写操作时,由锁存器和驱动电路构成数据输出通路.由于通路中已有输出锁存器,因此数据输出时可以与外设直接连接,而不需再加数据锁存电路.

img2

图1-1 P0端口的位电路结构

P1端口某一位电路结构如图1-2所示.因为P1口通常是作为通用I/O口使用的,所以在电路结构上与P0口有一些不同之处,主要表现为以下两点:首先它不再需要多路转接电路MUX;其次是电路的内部有上拉电阻,与场效应管共同组成输出驱动电路.为此,P1口作为输出口使用时,可以对外提供推拉电流负载,无须再外接上拉电阻.当P1口作为输入口使用时,同样需先向其锁存器写“1”,使输出驱动电路的FET截止.

img3

图1-2 P1端口的位电路结构

P2端口的电路如图1-3所示.P2口电路比P1口电路多了一个多路转接电路MUX,这正好与P0口相同.P2口可以作为通用I/O口使用,这时多路转接电路开关连接锁存器Q端.通常情况下,P2口是作为高位地址线使用而不作为数据线使用,此时多路转接电路开关应接相反方向.

img4

图1-3 P2端口的位电路结构

P3端口某一位的电路如图1-4所示.P3口的特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑.对于第二功能信号有输入和输出两类.

(四)定时器/计数器结构

8051有两个16位定时器/计数器T0和T1,分别与两个8位寄存器TL0、TH0及TL1、TH1对应.8051的定时器/计数器可以工作在定时或计数两种方式.

1.定时方式.

定时方式实现对单片机内部的时钟脉冲或分频后的脉冲进行计数.

img5

图1-4 P3端口的位电路结构

2.计数方式.

实现对外部脉冲的计数,定时器/计数器的使用将在后续章节中进行具体学习.

(五)中断系统

在单片机系统设计中,中断是一个非常重要的概念.

在程序的执行过程中,有时候需要停下正在运行的工作转而执行其他一些重要的工作,并在执行完后返回到原来的断点处继续执行,这就是中断的一般过程.

8051有5个中断源,两个中断优先级,可以实现两个中断服务嵌套.两个外部中断INT0、INT1,两个定时器中断T0、T1,还有一个串行口中断.

中断的控制由中断允许寄存器IE和中断优先级寄存器IP实现.关于中断的设置和实现将在后续章节进行具体讲解学习.

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈