当前位置:首页 > 实用技巧 >

访问高端ram区使用哪种寻址方式

来源:原点资讯(www.yd166.com)时间:2024-01-18 04:46:18作者:YD166手机阅读>>

如果将DPTR寄存器拆分为两个独立的8位寄存器DPH和DPL,则MCS-51单片机主要有27个特殊功能寄存器,其中8051系列有11个寄存器具有位寻址功能,8052系列单片机由于扩展了一个定时器/计数器,则有12个寄存器具有位寻址功能,这些寄存器中的每一位都具有位地址,具有定义的位可以直接按位访问,可进行位寻址的SFR的分布见表2-8所列。需要注意的是,PC不占据RAM单元,在物理上是独立的,因此是不可寻址的寄存器。对专用寄存器只能使用直接寻址方式,编写程序的时候既可使用寄存器符号,也可使用寄存器单元地址。内部RAM及特殊功能寄存器各存储单元之间的数据传送用MOV指令。

表2-8 8051和8052系列单片机中可进行位寻址的SFR的分布

访问高端ram区使用哪种寻址方式,(21)

续表

访问高端ram区使用哪种寻址方式,(22)

注:表2-8中“—”表示该位没有使用,不能用指令进行读写操作;“*”表示该二进制位没有特殊含义,仅仅代表该寄存器的某一个二进制位,可以通过指令读写该位数据。

表2-5中,R0~R7寄存器组在汇编程序中可以通过设置RS1、RS0两个位,将寄存器分配到不同工作寄存器区,不同工作寄存器区的通用寄存器Rn(n=0~7)尽管编号n相同,但具有不同的RAM地址,因此通用寄存器共有8×4=32个。

表2-7中,寄存器T2CON、T2MOD、RCAP2L、RCAP2H、TL2、TH2是8052系列单片机扩展的定时器/计数器2的寄存器,在8051系列单片机中不存在。

由表2-8可知,能够按位访问的SFR其字节地址均为8的倍数,且每个SFR的字节地址为该寄存器最低位的位地址。比如:P2寄存器的字节地址为0A0H,最低位P2.0的位地址也是0A0H。由表2-6和表2-8可知,MCS-51单片机可以按位访问的位地址范围为00H~0F7H,其中位地址0AEH、0BEH、0BFH和0D1H共计4个位单元没有定义,读写操作没有意义;而ET2(0ADH)、PT2(0BDH)和T2CON的8个位适合具备定时器/计数器2的8052系列单片机,8051没有定时器/计数器2,读写操作没有意义。

3.外部数据存储器

由于MCS-51单片机内部数据存储器只有128B,往往不够用,这就需要扩展外部数据存储器。外部数据存储器最多可以扩到64KB,16位数据指针寄存器作为间接寻址的寄存器的地址指针,其寻址范围为64KB。当外部数据存储器小于256B时,可用R1、R0作为间接寻址寄存器的地址指针。访问外部数据存储器或扩展I/O口可用MOVX指令。

2.2 MCS-51单片机时钟电路与总线时序

无论是通用微型计算机还是单片机,CPU所有的工作都是在时钟信号控制下进行的,每执行一条指令,CPU的控制器就要发出一系列特定的控制信号,这些控制信号在时间上的先后次序就是CPU的工作时序。

2.2.1 时钟电路

MCS-51单片机的时钟连接有两种方式,一种是内部时钟方式,但须在XTAL1和XTAL2引脚外接石英晶体(2~24MHz)和振荡电容,电容C1和C2对频率有微调作用,电容量的选择范围为5~30pF,如图2-7(a)所示。另一种是采用外部时钟方式,即将XTAL2引脚悬空,外部时钟信号(外部振荡器提供的信号)从XTAL1引脚输入,如图2-7(b)所示。

访问高端ram区使用哪种寻址方式,(23)

图2-7 MCS-51单片机的时钟连接方式

在单片机应用电路设计中,时钟电路器件应该尽可能靠近CPU对应引脚。如果CPU无法正常工作,可通过示波器检测CPU时钟引脚是否有一定幅值的时钟信号,如果有,则时钟电路正常。

2.2.2 总线时序

MCS-51单片机的振荡频率经过内部二分频以后得到的信号周期,称为状态周期,即一个状态周期包括两拍的时钟周期。机器周期就是计算机完成一种基本操作所需的时间。MCS-51单片机的机器周期由6个状态周期组成,即S1~S6,而每个状态又分为两拍,称为P1和P2,因此一个机器周期中的12个振荡周期常可表示为S1P1、S1P2、…、S6P1、S6P2。若采用12MHz的晶体振荡器,则每个机器周期为12×106/(12×106)=1μs,若采用6MHz晶体振荡器,则每个机器周期为2μs。

在MCS-51单片机指令系统中,有单字节指令、双字节指令和三字节指令。每条指令的执行时间分别占用1个或几个机器周期。单字节指令和双字节指令都可能是单机器周期和双机器周期的,而三字节指令都是双机器周期的,只有乘、除法指令占用4个机器周期。

每一条指令的执行都包括取指令和执行指令两个阶段。在取指令阶段,CPU从程序存储器中取出指令操作码及操作数,然后执行这条指令的逻辑功能。对于绝大部分指令,在整个指令执行过程中,ALE是周期性的信号,如图2-8所示。在每个机器周期中,ALE信号出现两次:第一次在S1P2和S2P1期间,第二次在S4P2和S5P1期间。ALE信号的有效宽度为1个S状态。每出现一次ALE信号,CPU就进行一次取指令操作。

访问高端ram区使用哪种寻址方式,(24)

栏目热文

内部ram寻址方式(七种寻址方式详解)

内部ram寻址方式(七种寻址方式详解)

本文转自电气工程师必备的微信公众号“电气工程师助手”,内有上百G资源免费下载。S7-1200提供了全局存储器数据块和临时...

2024-01-18 05:08:28查看全文 >>

51单片机内ram的可寻址区(51单片机内ram的组成是如何划分的)

51单片机内ram的可寻址区(51单片机内ram的组成是如何划分的)

1.RAM keil C语言编程 RAM是程序运行中存放随机变量的数据空间。在keil中编写程序,如果当前模式为sma...

2024-01-18 04:43:46查看全文 >>

访问内部ram的寻址方式(扩展ram的寻址方式)

访问内部ram的寻址方式(扩展ram的寻址方式)

C51单片机习题及答案第一章1-1选择1.计算机中最常用的字符信息编码是( A )A ASCII B BCD码 C 余3...

2024-01-18 05:13:02查看全文 >>

内部ram与外部ram互换指令(动态ram和静态ram都是什么)

内部ram与外部ram互换指令(动态ram和静态ram都是什么)

1)数据传送类指令(7种助记符)MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;M...

2024-01-18 04:51:33查看全文 >>

怎样理解内存寻址与外部设备寻址(内存的存储容量和寻址范围)

怎样理解内存寻址与外部设备寻址(内存的存储容量和寻址范围)

我是电控阿甘,从事电气工作十余年,专注分享【电工基础知识 自动化控制知识】,助力电工入门和电工进阶电气工程师,点击右上方...

2024-01-18 04:54:42查看全文 >>

定义可位寻址变量使用什么语句

定义可位寻址变量使用什么语句

关于间接寻址分为存储器间接寻址和地址寄存器间接寻址,本文主要针对地址寄存器间接寻址进行详细讲解,关于存储器间接寻址可参见...

2024-01-18 04:58:42查看全文 >>

求ram地址分配范围(如何计算ram地址范围)

求ram地址分配范围(如何计算ram地址范围)

一、总线概述计算机系统是以微处理器为核心的,各器件要与微处理器相连,且必须协调工作,所以在微处理机中引入了总线的概念,各...

2024-01-18 04:53:34查看全文 >>

寻址为16k*8的ram需要几根地址线(16根地址线的寻址范围)

寻址为16k*8的ram需要几根地址线(16根地址线的寻址范围)

IPv6在网络地址空间、服务质量、安全性、路由汇聚等方面比起IPv4有了很大改善,但其推广过程举步维艰,笔者认为目前制约...

2024-01-18 04:37:33查看全文 >>

怎么求ram芯片的寻址范围(dram芯片的最小引脚数目怎么算)

怎么求ram芯片的寻址范围(dram芯片的最小引脚数目怎么算)

执行任何一条指令都需要使用操作数。寻址方式就是根据指令中给出地址寻找操作数地址的方式。根据指令操作的需要,计算机有多种寻...

2024-01-18 04:55:25查看全文 >>

如何区分堆栈寻址和内存块寻址(内存的存储容量和寻址范围的计算)

如何区分堆栈寻址和内存块寻址(内存的存储容量和寻址范围的计算)

什么叫寻址方式?寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式。ARM的寻址方式ARM处理器具有8种...

2024-01-18 05:06:15查看全文 >>

文档排行