C8051F410存储器体系结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C8051F410存储器体系结构
Xxx
(xxx.xxx)
摘要:存储器是单片机的一个重要组成部分,存储器中每个存储单元可存放一个八位二进制信息,通常用两位16进制数来表示。其中着重介绍了各个存储器的概念、结构、寻址范围及作用。本文分为七部分,其中主要内容是介绍了C8051F410存储器的各个体系结构,让我们能够更进一步的了解。这样可以使我们能够更加熟练、有效的运用C8051F410。
关键词:C8051F410 存储器寻址范围程序
C8051F410 Memory architecture
xxx
(xxx.xxx)
Abstract Memory is an important part of SCM,the memory of each memory cell can be stored in a eight bit binary information,usually two 16 hexadecimal numbers.Among the highlights of the various memory concepts、structure、addressing range and effect.This paper is divided into seven parts,the main content is presented the system structure of the C8051F410 memory,so that we can further understand then.This can enable us to be more skilled, effective use of C8051F410.
Key words: C8051F410 Memory Addressing range Program
一存储器的存储空间
(一)介绍
C8051F410单片机在物理结构上有四个存储空间:1、片内程序存储器2、片外程序存储器3、片内数据存储器4、片外数据存储器。在逻辑上,从用户的角度上,C8051F410单片机有三个存储空间:1、片内外统一编址的64K的程序存储器地址空间(MOVC)2、256B 的片内数据存储器的地址空间(MOV)3、以及64K片外数据存储器的地址空间(MOVX)。在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同的存储器空间的选通信号。(二)程序内存ROM
寻址范围:0000H ~ FFFFH 容量64KB
EA = 1,寻址内部ROM;EA = 0,寻址外部ROM
地址长度:16位
作用:存放程序及程序运行时所需的常数。
七个具有特殊含义的单元是:
0000H ——系统复位,PC指向此处;
0003H ——外部中断0入口
000BH —— T0溢出中断入口
0013H ——外中断1入口
001BH —— T1溢出中断入口
0023H ——串口中断入口
002BH ---- T2溢出中断入口
(三)内部数据存储器RAM
物理上分为两大区:00H ~ 7FH即128B内RAM 和 SFR区。
作用:作数据缓冲器用
图为C8051F410单片机存储器的空间结构图
二程序存储器
一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。
C8051F410具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的C8051F410单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。
当=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部ROM空间。
当=0时,程序从外部存储器开始执行,例如前面提到的片内无ROM的8031单片机,在实际应用中就要把8031的引脚接为低电平。
C8051F410片内有4kB的程序存储单元,其地址为0000H—0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,这在使用中应加以注意:
其中一组特殊是0000H—0002H单元,系统复位后,PC为0000H,单片机从0000H单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。
另一组特殊单元是0003H—002AH,这40个单元各有用途,它们被均匀地分为五段,它们的定义如下:
0003H—000AH 外部中断0中断地址区。
000BH—0012H 定时/计数器0中断地址区。
0013H—001AH 外部中断1中断地址区。
001BH—0022H 定时/计数器1中断地址区。
0023H—002AH 串行中断地址区。
可见以上的40个单元是专门用于存放中断处理程序的地址单元,中断响应后,按中断的类型,自动转到各自的中断区去执行程序。从上面可以看出,每个中断服务程序只有8个字节单元,用8个字节来存放一个中断服务程序显然是不可能的。因此以上地址单元不能用于存放程序的其他内容,只能存放中断服务程序。但是通常情况下,我们是在中断响应的地址区安放一条无条件转移指令,指向程序存储器的其它真正存放中断服务程序的空间去执行,这样中断响应后,CPU读到这条转移指令,便转向其他地方去继续执行中断服务程序。
图为ROM的地址分配图
从图中可得,0000H-0002H,只有三个存储单元,3个存储单元在我们的程序存放时是存放不了实际意义的程序的,通常我们在实际编写程序时是在这里安排一条ORG指令,通过ORG 指令跳转到从0033H开始的用户ROM区域,再来安排我们的程序语言。从0033开始的用户ROM区域用户可以通过ORG指令任意安排,但在应用中应注意,不要超过了实际的存储空间,不然程序就会找不到。
三数据存储器
数据存储器也称为随机存取数据存储器。数据存储器分为内部数据存储和外部数据存储。C8051F410内部RAM有128或256个字节的用户数据存储(不同的型号有分别),片外最多可扩展64KB的RAM,构成两个地址空间,访问片内RAM用“MOV”指令,访问片外RAM 用“MOVX”指令。它们是用于存放执行的中间结果和过程数据的。C8051F410的数据存储器均可读写,部分单元还可以位寻址。
C8051F410的数据存储器空间中有256字节的内部RAM,位于0x00 ~ 0xFF的地址空间。数据存储器中的低128字节用于通用寄存器和临时存储器。可以用直接或间接寻址方式访问数据存储器的低128字节。0x00 ~ 0x1F为4个通用寄存器区,每个区有8个8位寄存器。接下来的16字节,地址0x20 ~ 0x2F,既可以按字节寻址又可以作为128个位地址用直接寻址方式访问。数据存储器中的高128字节只能用间接寻址访问。该存储区与特殊功能寄存器(SFR)占据相同的地址空间,但物理上与SFR空间是分开的。当寻址高于0x7F的地址时,指令所用