天津大学课件-单片机芯片的硬件结构(第2讲课件.ppt
文本预览下载声明
* 3、用户RAM区 在内部RAM低128单元中,通用寄存器占去32个单元,位子址区占去16个单元,剩余80个单元,这就是供用户使用的一般RAM区,其单元地址为30H-7FH。 对于用户RAM区,只能以存储单元的形式来使用,其他没有任何规定或限制。但应当提及,在一般应用中常把堆栈开辟在此区中。 * 2.2.2 内部数据存储器高128单元 内部数据存储器的高128单元是为专用寄存器提供的,因此称之为专用寄存器区,其单元地址为80H-FFH,用于存放相应功能部件的控制命令、状态或数据。因这些寄存器的功能已作专门规定,故而称为专用寄存器(SFR),有时也称为特殊功能寄存器。MC5—51中80C51的专用寄存器共有22个,其中可寻址的为21个。 一.专用寄存器简介 现把22个专用寄存器中的5个介绍如下,其余的将在以后章节中陆续说明。 1.程序计数器(PC-Program Counter) PC是一个16位的计数器。其内客为将要执行的指令地址,寻址范围达64KB。 PC有自动加1功能,以实现程序的顺序执行。PC没有地址,是不可寻址的,因此 用户无法对它进行读写。但在执行转移、调用、返回等指令时能自动改变其内容,以改变程序的执行顺序。 2.累加器A(或ACC-Accumulator) 累加器为8位寄存器,是程序中最常用的专用寄存器,功能较多,地位重要。概括起来有以下几项功能: * 累加器用于存放操作数,是ALU数据输入的一个重要来源。单片机中大部分单操作指令的操作数取自累加器,许多双操作数指令中的一个操作数也取自累加器。 ·累加器是ALU运算结果的暂存单元,用于存放运算的中间结果。 ·累加器是数据传送的中转站,单片机中的大部分数据传送都通过累加器进行。 ·在变址寻址方式中把累加器作为变址寄存器使用。 MCS-51只有一个累加器,而单片机个的大部分数据操作都是通过累加器进行的,所以累加器的使用十分频繁,其情形有如城市个交通繁忙的路口,很容易出现阻塞现象。为此在80C51中设置了一些不经过累加器的数据传送指令,例如:寄存器与直接寻址单元之间的数据传送指令,直接寻址单元与间接寻址单元之间的数据传送指今,寄存器、直接寻址单元、间接寻址单元与立即数之间的数据传送指令等,以缓和累加器的拥堵。 由于累加器的“瓶颈”作用制约着单片机运算速度的提高,为此人们已开始考虑使用寄存器阵列(Register File)来代替累加器,即赋予更多的寄存器以累加器功能,形成多累加器结构,从而彻底解决累加器的“瓶颈”问题,以利于提高单片机的效率。 * 3、B寄存器 B寄存器是一个8位寄存器,主要用于乘除运算。乘法运算时,B为乘数。乘法操作后,乘积的高8位存于B中。除法运算时,B为除数。除操作后,余数存于B中。此外,B寄存器也可作为一般数据寄存器使用。 4、程序状态字(PSW-Program Status Word) 程序状态字是一个8位寄存器,用于寄存指令执行的状态信息。其中有些位状态是根据指令执行结果,由硬件自动设置的,而有些位状态则是使用软件方法没定的。PSW的位状态可以用专门指令进行测试,也可以用指令读出。一些条件转移指令将根据PSW中有关位的状态,来进行程序转移。PSW的各位定义如下: * * 5.数据指针(DPTR) 数据指针为16位寄存器,它是MCS-51中唯一一个供用户使用的16位寄存器。 DPTR的使用比较灵活,它既可以按16位寄存器使用,也可以作为两个8位寄存器使用,即 DPH DPTR高位字节 DPL DPTR低位字节 DPTR在访问外部数据存储器时作地址指针使用,由于外部数据存储器的寻址范围为64KB,故把DPTR设计为16位。此外,在变址寻址方式中,用DPTR作基址寄存器,用于对程序存储器的访问。 * 二.专用寄存器的字节寻址 如上所述,MCS-5l的22个专用寄存器中,有21个是可寻址的。这些可寻址寄存 器的名称、符号及地址列于表2—3中。 * * 对专用寄存器的字节寻址问题作如下几点说明: 21个可寻址的专用寄存器是不连续地分散在内部RAM高128单元之中。尽管还剩余许多空闲单元,但用户并不能使用。如果访问这些没有定义的单元,读出的为不定数,而写入的数被合弃。 ·在22个专用寄存器个,唯一一个不可寻址的专用寄存器就是程序计数器(PC)。 PC在物理上是独立的,不占据RAM单元,因此是不可寻址的寄存器。 ·对专用寄存器只能使用直接寻址方式,在指令中既可使用寄存器符号表示,也可使用寄存器地址表示。 * 三.专用寄存器的位寻址 在21个可寻址的专用卑存器中,有11
显示全部