0013H—001AH 外部中断1中断地址区 。
001BH—0022H 定时/计数器1中断地址区 。
0023H—002AH 串行中断地址区 。
可见以上的40个单元是专门用于存放中断处理程序的地址单元,中断响应后,按中断的类型,自动转到各自的中断区去执行程序 。从上面可以看出,每个中断服务程序只有8个字节单元,用8个字节来存放一个中断服务程序显然是不可能的 。因此以上地址单元不能用于存放程序的其他内容,只能存放中断服务程序 。但是通常情况下,我们是在中断响应的地址区安放一条无条件转移指令,指向程序存储器的其它真正存放中断服务程序的空间去执行,这样中断响应后,CPU读到这条转移指令,便转向其他地方去继续执行中断服务程序 。
下图是ROM的地址分配图:

文章插图
从上图中大家可以看到,0000H-0002H,只有三个存储单元,3个存储单元在我们的程序存放时是存放不了实际意义的程序的,通常我们在实际编写程序时是在这里安排一条ORG指令,通过ORG指令跳转到从0033H开始的用户ROM区域,再来安排我们的程序语言 。从0033开始的用户ROM区域用户可以通过ORG指令任意安排,但在应用中应注意,不要超过了实际的存储空间,不然程序就会找不到 。
数据存储器
数据存储器也称为随机存取数据存储器 。数据存储器分为内部数据存储和外部数据存储 。MCS-51内部RAM有128或256个字节的用户数据存储(不同的型号有分别),片外最多可扩展64KB的RAM,构成两个地址空间,访问片内RAM用“MOV”指令,访问片外RAM用“MOVX”指令 。它们是用于存放执行的中间结果和过程数据的 。MCS-51的数据存储器均可读写,部分单元还可以位寻址 。
MCS-51单片机的内部数据存储器在物理上和逻辑上都分为两个地址空间,即:
数据存储器空间(低128单元);
特殊功能寄存器空间(高128单元);
这两个空间是相连的,从用户角度而言,低128单元才是真正的数据存储器 。下面我们就来详细的与大家讲解一下:
低128单元:
片内数据存储器为8位地址,所以最大可寻址的范围为256个单元地址,对片外数据存储器采用间接寻址方式,R0、R1和DPTR都可以做为间接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址范围最大为256个单元,而DPTR是16位地址指针,寻址范围就可达到64KB 。也就是说在寻址片外数据存储器时,寻址范围超过了256B,就不能用R0、R1做为间接寻址寄存器,而必须用DPTR寄存器做为间接寻址寄存器 。

文章插图
从上图中我们可以看到,8051单片机片内RAM共有256个单元(00H-FFH),这256个单元共分为两部分 。其一是地址从00H—7FH单元(共128个字节)为用户数据RAM 。从80H—FFH地址单元(也是128个字节)为特殊寄存器(SFR)单元 。从图1中可清楚地看出它们的结构分布 。
1、通用寄存器区(00H-1FH)
在00H—1FH共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以R0—R7来命名,我们常称这些寄存器为通用寄存器 。这四块中的寄存器都称为R0—R7,那么在程序中怎么区分和使用它们呢?聪明的INTEL工程师们又安排了一个寄存器——程序状态字寄存器(PSW)来管理它们,CPU只要定义这个寄存的PSW的D3和D4位(RS0和RS1),即可选中这四组通用寄存器 。对应的编码关系如下表所示 。惹程序中并不需要用4组,那么其余的可用做一般的数据缓冲器,CPU在复位后,选中第0组工作寄存器 。
推荐阅读
- 猫咪最迟多久不排尿
- 租房子需要如何写合同
- 全网无版权音乐免费搜索下载 vip歌曲免费下载网站
- 怎么取电影票 二维码,微信电影票怎么取票流程
- 时光浪漫的语录 时光语录经典唯美
- 微软在备受瞩目的失败之后带着智能手机回归
- 微信验证失败什么原因,为什么微信好友验证后还是登录不了
- 西红柿怎么切丁
- 世界上最原始的哺乳动物 世界上最原始的哺乳动物名字
