搜档网
当前位置:搜档网 › 单片机的RAM存储器详解

单片机的RAM存储器详解

单片机的RAM存储器详解
单片机的RAM存储器详解

51单片机的存储器的RAM详解

传统MCS-51单片机内部数据存储器RAM结构

内部数据存储器低128单元

8051单片机的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H~7FH)和高128单元(单元地址80H~FFH)。如图所示为低128单元的配置图。

工作寄存器区

8051共有4组寄存器,每组8个寄存单元(各为8),各组都以R0~R7作寄存单元编号。寄存器常用于存放操作数中间结果等。由于它们的功能及使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。4组通用寄存器占据内部RAM的00H~1FH单元地址。

在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是哪一组,由程序状态字寄存器PSW中RS1、RS0位的状态组合来决定。

通用寄存器为CPU提供了就近存储数据的便利,有利于提高单片机的运算速度。

此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。

位寻址区

内部RAM的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。位寻址区共有16个RAM单元,计128位,地址为00H~7FH。MCS-51具有布尔处理机功能,这个位寻址区可以构成布尔处理机的存储空间。这种位寻址能力是MCS-51的一个重要特点。

用户RAM区

在内部RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下80个单元,这就是供用户使用的一般RAM区,其单元地址为30H~7FH。对用户RAM区的使用没有任何规定或限制,但在一般应用中常把堆栈开辟在此区中。

内部数据存储器高128单元

内部RAM的高128单元是供给专用寄存器使用的,其单元地址为80H~FFH。因这些寄存器的功能已作专门规定,故称之为专用寄存器(Special Function Register),也可称为特殊功能寄存器。

外部数据存储器

外部数据存储器是指通过添加硬件RAM IC实现的,用来扩充RAM的存储器。

在 80C51/87C51/89C51片内,分别内置最低地址空间的4KB ROM/EPROM程序存储器(内部程序存储器),而在8031片内,则没有内部程序存储器,必须外部扩展EPROM。80C51系列单片机中64KB 内、外程序存储器的地址是统一编排的。8031单片机没有内部程序存储

器,地址从0000H~FFFFH都是外部程序存储空间。应始终接地,对于内部有ROM的单

片机(5l、52系列),该引脚接高电平,使程序从内部ROM开始执行。当PC值超出内部ROM 的容量时,会自动转向外部程序存储器空间。外部程序存储器地址空间为1000H~FFFFH,访问程序存储器使用MOVC指令。

51单片机存储区分配如下:

存储区地址范围功能说明

内部RAM (256Byte)00H-1FH内部使用DATA区,四个工作寄存

器组(4*8=32Byte),用于内部

参数传递

20H-2FH BDATA区,DATA 区的16 个字

节的可位寻址区

30H-7FH用户可用非位寻址DATA区,可在

一个周期内直接寻址

80H-FFH IDATA区,用户可用的内部RAM

区的高128 个字节,必须采用间

接寻址

80H-FFH可以进行位寻址的特殊功能寄存

器(SFR)

外部扩展

RAM

(最大64KByte)00H-FFH PDATA区,外部存储区的256 个

字节通过P0 口的地址对其寻址,

需要两个指令周期

00H-FFFFH XDATA区(外部存储区),使用

DPTR 寻址

ROM (最大64KByte)00H-FFFFH CODE区(程序存储区),使用

DPTR 寻址

80C52(80C51增强型单片机)内部RAM结构

80C52是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS 工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。

80C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

内部数据存储器

AT89S51单片机的ram,只有128字节,地址范围:00H~7FH。

SFR不是RAM,是特殊功能寄存器,地址范围:80H~FFH,SFR在其中离散分布着。

AT89S52单片机的ram,就有256字节,地址范围:00H~FFH。

SFR,特殊功能寄存器,仍然在地址范围:80H~FFH。

下面着重来讲AT89S52这样的增强型单片机的内部RAM结构。

内部RAM大小为256个字节

其中00H~7FH

可分为3个区域:

00H~1FH 是通用寄存器区

20H~2FH 是位寻址区

30H~7FH 是用户RAM区

80H~FFH是特殊功能寄存器区

对于AT89S52, 80H~FFH两者的地址重叠了,区别方法如下:

对80H~FFH直接寻址,就是读写SFR,特殊功能寄存器;

对80H~FFH间接寻址,就是读写RAM。

下面说下data,idata,xdata,pdata,code等词的意思

1,DATA,51的内部RAM,只有128B(字节)大小,不管是最新的什么增强型单片机;

其实就是内部RAM的低128个字节。

2,IDATA,大小也为128B,与DATA构成256字节的内存(如AT89C52),也就是增强型单片机中内部RAM的高128个字节,与特殊寄存器重合,间接寻址。

3,XDATA,外部RAM,只能使用MOVX寻址。即需外加扩展芯片实现的外部数据储存器。4,CODE,代码区,即是你的代码的大小,AT89C51为4K,C52为8K等,增强型的有更多的选择。

如下图的STC单片机,SRAM达到1280字节。

其实就是

DATA :128B

IDATA:128B

XDATA:1024B

只是现在的单片机工艺集成度越来越高,把本来可以用来外部扩展的RAM集成到单一个芯片中去了。单虽然物理上面是一个RAM但是在逻辑上面讲,1280字节的RAM 仍然区分为256字节的内部RAM和1024字节的外部RAM(也叫内部扩展RAM)。

单片机程序存储空间和数据存储空间详解

创作编号: GB8878185555334563BT9125XW 创作者:凤呜大王* 单片机程序程序存储空间(ROM)和数据存储空间(RAM)详解 问题:STC89C52RC单片机:8K字节程序存储空间,512字节数据存储空间,内带2K 字节EEPROM存储空间;它们分别存的是什么? 8K的程序存储空间是存储代码,也就是你写的程序生成的HEX文件的,相当于电脑系统的C盘。 512字节相当于内存,存储空间存储变量,像u8 x,y,z,u32 a之类的临时变量掉电后数据丢失。 2K eeprom相当于电脑系统的硬盘,数据写入后掉电不丢失。主要是单片机在运行的过程中写入数据或者读取数据。像设置的闹铃值,设置好了就不用每次都去设置了,保存在单片机里面,即使掉电了,设置的数据也不会丢失,只需单片机上电再读取就好了。 单片机原理及系统结构 在此先详细分析51单片的存储器结构和寻址方法,再分析片外存储器的扩展,最后给出设计原理并分析系统结构。

图一:存储空间分布 51单片机存储器结构分析 8051单片机的存储器在物理结构上分为程序存储器空间和数据存储器空间,共有4个存储空间:片内程序存储器、片外程序存储器以及片内数据存储器、片外数据存储器空间。 这种程序存储和数据存储分开的结构形式被称为哈佛结构。MCS-51使用哈弗结构,它的程序空间和数据空间是分开编址的,即各自有各自的地址空间,互不重叠。所以即使地址一样,但因为分开编址,所以依然要说哪一个空间内的某地址。而ARM (甚至是x86)这种冯诺依曼结构的MCU/CPU,它的地址空间是统一并且连续的,代码存储器/RAM/CPU寄存器,甚至PC机的显存,都是统一编址的,只是不同功能的存储器占据不同的地址块,各自为政。 MCS-51单片机存储器的配置特点 ①内部集成了4K的程序存储器ROM; ②内部具有256B的数据存储器RAM(用户空间+SFR空间); ③可以外接64K的程序存储器ROM和数据存储器RAM。 从物理结构的角度讲,51单片机的存储系统可以分为四个存储空间:既片内ROM,RAM和片外ROM、RAM。 从逻辑结构上看(既编程的角度),可以分为三个不同的空间: (1)片内、片外统一编址的64KB的程序存储器地址空间:0000H~FFFFH(用16位地址);,其中0000H~0FFFH为片内4KB的ROM地址空间,1000H~FFFFH为

MCS-51单片机存储器结构

MCS-51单片机在物理结构上有四个存储空间: 1、片内程序存储器 2、片外程序存储器 3、片内数据存储器 4、片外数据存储器 但在逻辑上,即从用户的角度上,8051单片机有三个存储空间: 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区。 作用:作数据缓冲器用。 下图是8051单片机存储器的空间结构图 程序存储器 一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设

计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。 MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。 当=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部ROM空间。 当=0时,程序从外部存储器开始执行,例如前面提到的片内无ROM的8031单片机,在实际应用中就要把8031的引脚接为低电平。 8051片内有4kB的程序存储单元,其地址为0000H—0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,这在使用中应加以注意: 其中一组特殊是0000H—0002H单元,系统复位后,PC为0000H,单片机从0000H 单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。 另一组特殊单元是0003H—002AH,这40个单元各有用途,它们被均匀地分为五段,它们的定义如下: 0003H—000AH 外部中断0中断地址区。 000BH—0012H 定时/计数器0中断地址区。

详细分析MCS-51单片机内部数据存储器RAM

详细分析MCS-51单片机内部数据存储器RAM 8051单片机的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H~7FH)和高128单元(单元地址80H~FFH)。如图所示为低128单元的配置图。 寄存器区 8051共有4组寄存器,每组8个寄存单元(各为8),各组都以R0~R7作寄存单元编号。寄存器常用于存放操作数中间结果等。由于它们的功能及使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。4组通用寄存器占据内部RAM的00H~1FH单元地址。 在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是哪一组,由程序状态字寄存器PSW中RS1、RS0位的状态组合来决定。通用寄存器为CPU提供了就近存储数据的便利,有利于提高单片机的运算速度。此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。 位寻址区 内部RAM的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。位寻址区共有16个RAM单元,计128位,地址为00H~7FH。MCS-51具有布尔处理机功能,这个位寻址区可以构成布尔处理机的存储空间。这种位寻址能力是MCS-51的一个重要特点。 用户RAM区 在内部RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下80个单元,这就是供用户使用的一般RAM区,其单元地址为30H~7FH。对用户RAM 区的使用没有任何规定或限制,但在一般应用中常把堆栈开辟在此区中。 内部数据存储器高128单元

80C51单片机存储器的扩展

程设计任务书 机械工程学院学院机制1211 班学生张会利-39号 课程设计题目: 单片ROM扩展 一、课程设计工作日自 2015 年 1 月 19 日至 2015 年 2 月 23 日 二、同组学生:张会利 三、课程设计任务要求(包括课题来源、类型、目的和意义、基本要求、完成时间、主要参考资 料等): 1、目的及意义 (1)巩固和深化《单片机原理及应用》课程的理论知识,培养,分析、解决实际问题的能力。(2)掌握单片机基本运用技术及汇编语言的基本方法,能根据题目要求确定设计思路、绘制流程图、编制并调试汇编语言程序,得出结果。 2、主要内容 用一片Intel2732为80C51单片机扩展一个4KB的外部程序存储器,要求使用73LS138译码器,地址范围为A000H~AFFFH。请连线并写明扩展步骤。 3、基本要求 (1)分析题目,写出详细分析过程。 (2)绘制工作流程图。 (3)编制程序,画出硬件线路图。 (4)上机调试程序,运行结果。 (5)编写设计说明书,包括1—4个步骤的内容。 (6)答辩。 4、主要参考资料 单片机基础及应用,赵巍,冯娜,马苏常,刘玉山等,清华大学出版社,2009年指导教师签字:教研室主任签字:

程序设计说明书 (一)芯片简介 1.2732简介: 2732是容量为4k×8位(4KB)。采用单一+5V供电,最大静态工作电流100mA, 电流35mA出时间最大为250ns. 2732的封装形式为DIP24,管脚如图所示。 ●A0~A11 :12条地址线,表示有212个地址单元 ●O0~O7 :8条数据线,表示地址单元字长8位 ●CE :片选控制输入端,低电平有效 ●OE/Vpp :双功能管脚,低电平时,允许2732输出数据 ●Vcc :工作电平+5V ●GND :芯片接地端 2.74LS373简介: 74LS373是带三态缓冲输出的8D锁存器,由于单片机的三片总线结构中,数据线与地址线的低8位公用P0口,因此必须用地址所存器将地址信号和数据信号区分开。74L373的锁存控制端G直接与单片机的锁存控制信号和数据信号ALE相连,在AEL的下降沿锁存低8位地址。

51单片机大容量数据存储器的扩展

郑州航空工业管理学院 《单片机原理与应用》 课程设计说明书 10 级自动化专业 1006112 班级 题目51单片机大容量数据存储器的系统扩展姓名杨向龙学号100611234 指导教师王义琴职称讲师 二О一三年六月十日

目录 一、51单片机大容量数据存储器的系统扩展的基本原理 (4) 二、设计方案 (4) 三、硬件的设计 (5) 3.1 系统的硬件构成及功能 (5) 3.2硬件的系统组成 (5) 3.2.1、W241024A (5) 3.2.2、CPLD的功能实现 (5) 3.2.3、AT89C52简介 (6) 3.2.4、SRAM的功能及其实现 (9) 3.3、基本单片机系统大容量数据存储器系统扩展 (9) 五、结论 (13) 六、参考资料 (13)

51单片机大容量数据存储器的系统扩展 摘要:在单片机构成的实际测控系统中,仅靠单片机内部资源是不行的,单片 机的最小系统也常常不能满足要求,因此,在单片机应用系统硬件设计中首先要解决系统扩展问题。51单片机有很强的外部扩功能, 传统的用IO口线直接控制大容量数据存储器的片选信号的扩展系统存在运行C51编译的程序时容易死机的缺点。文中介绍了一种改进的基于CPLD的51系列单片机大容量数据存储器的扩展方法,包括硬件组成和软件处理方法。 关键字:W241024A、CPLD、AT89C52、SRAM 一、51单片机大容量数据存储器的系统扩展的基本原理 MCS-51 单片机系统扩展时,一般使用P0 口作为地址低8位(与数据口分时复用),而P2口作为地址高8位,它共有16根地址总线,最大寻址空间为64KB。但在实际应用中,有一些特殊场合,例如,基于单片机的图像采集传输系统,程控交换机话单的存储等,需要有大于64KB 的数据存储器。 二、设计方案 在以往的扩展大容量数据存储器的设计中,一般是用单片机的IO口直接控制大容量数据存储器的片选信号来实现,但是这种设计在运行以C51编写的程序(以LARGE 方式编译)时往往会出现系统程序跑飞的问题,尤其是在程序访问大容量数据存储器(如FLASH)的同时系统产生异常(如中断),由于此时由IO 口控制的片选使FLASH 被选中而SRAM 无法被选中,堆栈处理和函数参数的传递无法实现从而导致程序跑飞的现象。文章介绍一种基于CPLD 的大容量数据存储器的扩展系统,避免了上述问题的产生,提高了扩展大容量数据存储器系统的可靠性。该系统MCU 采用89C52,译码逻辑的实现使用了一片EPM7128 CPLD 芯片,系统扩展了一片128K 的SRAM,一片4M 字节的NOR FLASH,以上芯片均为5V 供电。

单片机存储器类型介绍

单片机存储器类型详解 分为两大类RAM和ROM,每一类下面又有很多子类: RAM:SRAM SSRAM DRAM SDRAM ROM:MASK ROM OTP ROM PROM EPROM EEPROM FLASH Memory RAM:Random Access Memory随机访问存储器 存储单元的内容可按需随意取出或存入,这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。它的特点就是是易挥发性(volatile),即掉电失忆。我们常说的电脑内存就是RAM的。 ROM:Read Only Memory只读存储器 ROM 通常指固化存储器(一次写入,反复读取),它的特点与RAM相反。 RAM和ROM的分析对比: 1、我们通常可以这样认为,RAM是单片机的数据存储器,这里的数据包括内部数据存储器(用户RAM区,可位寻址区和工作组寄存器)和特殊功能寄存器SFR,或是电脑的内存和缓存,它们掉电后数据就消失了(非易失性存储器除外,比如某些数字电位器就是非易失性的)。 ROM是单片机的程序存储器,有些单片机可能还包括数据存储器,这里的数据指的是要保存下来的数据,即单片机掉电后仍然存在的数据,比如采集到的最终信号数据等。而RAM 这个数据存储器只是在单片机运行时,起一个暂存数据的作用,比如对采集的数据做一些处理运算,这样就产生中间量,然后通过RAM暂时存取中间量,最终的结果要放到ROM的数据存储器中。如下图所示:

2、ROM在正常工作状态下只能从中读取数据,不能快速的随时修改或重新写入数据。它的优点是电路结构简单,而且在断电以后数据不会丢失。缺点是只适用于存储那些固定数据的场合。 RAM与ROM的根本区别是RAM在正常工作状态下就可以随时向存储器里写入数据或从中读取数据。 SRAM:Static RAM静态随机访问存储器 它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。不像DRAM内存那样需要刷新电路,每隔一段时间,固定要对DRAM刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,所以在主板上SRAM存储器要占用一部分面积。 优点:速度快,不必配合内存刷新电路,可提高整体的工作效率。 缺点:集成度低,功耗较大,相同的容量体积较大,而且价格较高,少量用于关键性系统以提高效率。 DRAM:Dynamic RAM动态随机访问存储器 DRAM 只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。 既然内存是用来存放当前正在使用的(即执行中)的数据和程序,那么它是怎么工作的呢? 我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的“动态”,

第3章 单片机并行存储器扩展练习题

第3章单片机并行存储器扩展 (一)填空题 1.使用8KB×8位的RAM芯片,用译码法扩展64KB×8位的外部数据存储器,需要(8) 片存储芯片,共需使用(16 )条地址线,其中(13 )条用于存储单元选择,(3)条用于芯片选择。 2.三态缓冲器的三态分别是(低电平)、(高电平)和(高阻抗)。 3.80C51单片机系统整个存储空间由4部分组成,分别为(256 )个地址单元的内部(数 据)存储器,(4kb )个地址单元的内部(程序)存储器,(64kb)个地址单元的外部(数据)存储器,(60kb )个地址单元的外部(程序)存储器。 4.在80C51单片机系统中,为外扩展存储器准备了(16)条地址线,其中低位地址线由 (p0口)提供,高位地址线由(P2口)提供。 5.在80C51单片机系统中,存储器并行外扩展涉及的控制信号有(ALE)、(WR)、 (RD)、(PSEN)和(CE),其中用于分离低8位地址和数据的控制信号是(ALE),它的频率是晶振频率的(6)分之一。 6.起止地址为0000H ~ 3FFFH的外扩展存储器芯片的容量是(16KB)。若外扩展存 储器芯片的容量为2KB,起始地址为3000H,则终止地址应为(37FFH)。 7.与微型机相比,单片机必须具有足够容量的程序存储器是因为它没有(外存)。 8.在存储器扩展中,无论是线选法还是译码法,最终都是为扩展芯片的(片选)引脚端 提供信号。 9.由一片80C51和一片2716组成的单片机最小系统。若2716片选信号CE接地,则该存 储芯片连接共需(11)条地址线。除数据线外,系统中连接的信号线只有(PSEN)和(ALE)。 (二)单项选择题 1. 下列有关单片机程序存储器的论述中,错误的是(D) (A)用户程序保存在程序存储器中 (B)断电后程序存储器仍能保存程序 (C)对于程序存储器只使用MOVC一种指令 (D)执行程序需要使用MOVC指令从程序存储器中逐条读出指令 2. 下列有关单片机数据存储器的论述中,错误的是(A)

单片机程序存储空间和数据存储空间详解..

单片机程序程序存储空间(ROM)和数据 存储空间(RAM)详解 问题:STC89C52RC单片机:8K字节程序存储空间,512字节数据存储空间,内带2K字节EEPROM存储空间;它们分别存的是什么? 8K的程序存储空间是存储代码,也就是你写的程序生成的HEX文件的,相当于电脑系统的C盘。 512字节相当于内存,存储空间存储变量,像u8 x,y,z,u32 a之类的临时变量掉电后数据丢失。 2K eeprom相当于电脑系统的硬盘,数据写入后掉电不丢失。主要是单片机在运行的过程中写入数据或者读取数据。像设置的闹铃值,设置好了就不用每次都去设置了,保存在单片机里面,即使掉电了,设置的数据也不会丢失,只需单片机上电再读取就好了。 单片机原理及系统结构 在此先详细分析51单片的存储器结构和寻址方法,再分析片外存储器的扩展,最后给出设计原理并分析系统结构。 图一:存储空间分布

51单片机存储器结构分析 8051单片机的存储器在物理结构上分为程序存储器空间和数据存储器空间,共有4个存储空间:片内程序存储器、片外程序存储器以及片内数据存储器、片外数据存储器空间。 这种程序存储和数据存储分开的结构形式被称为哈佛结构。MCS-51使用哈弗结构,它的程序空间和数据空间是分开编址的,即各自有各自的地址空间,互不重叠。所以即使地址一样,但因为分开编址,所以依然要说哪一个空间内的某地址。而ARM(甚至是x86)这种冯诺依曼结构的MCU/CPU,它的地址空间是统一并且连续的,代码存储器/RAM/CPU寄存器,甚至PC机的显存,都是统一编址的,只是不同功能的存储器占据不同的地址块,各自为政。 MCS-51单片机存储器的配置特点 ①内部集成了4K的程序存储器ROM; ②内部具有256B的数据存储器RAM(用户空间+SFR空间); ③可以外接64K的程序存储器ROM和数据存储器RAM。 从物理结构的角度讲,51单片机的存储系统可以分为四个存储空间:既片内ROM,RAM和片外ROM、RAM。 从逻辑结构上看(既编程的角度),可以分为三个不同的空间: (1)片内、片外统一编址的64KB的程序存储器地址空间:0000H~FFFFH(用16位地址);,其中0000H~0FFFH为片内4KB的ROM地址空间,1000H~FFFFH为外部ROM 地址空间; (2)256B的内部数据存储器地址空间(用8位地址),00H~FFH,分为两大部分,其中00H~7FH(共128B单元)为内部静态RAM的地址空间,80H~FFH为特殊功能寄存器的地址空间,21个特殊功能寄存器离散地分布在这个区域; (3)64KB的外部数据存储器地址空间(用16位地址):0000H~FFFFH,包括扩展I/O地址空间。 上述4个存储空间地址是重叠的,如图1所示。8051的指令系统设计了不同的数据传送指令以区别这4个不同的逻辑空间:CPU访问片内、片外ROM指令用MOVC,访问片外RAM指令用MOVX,访问片内RAM指令用MOV。 程序存储器用于存放编好的程序和表格常数。程序通过16位程序计数器寻址,寻址能力为64KB。这使得指令能在64KB的地址空间内任意跳转,但不能使程序从程序存储器空间转移到数据存储器空间。

单片机实验 数据存储器和程序存储器扩展

实验四数据存储器和程序存储器扩展 一、实验目的 1、学习片外存储器扩展方法 2、学习数据存储器不同的读写方法 3、学习片外程序存储器的读方法 二、实验说明 本次实验使用1片6264SRAM,作为片外扩展的数据存储器,对其进行读写。先向6264中写入整数1~200,然后将其逆向复制到地址0x0100处。注意单片机ALE引脚与74LS373的LE引脚的连接,直至锁存由单片机的ALE控制,另外还要注意单片机读/写控制引脚、与6264的连接。RD WR 三、实验线路图 四、实验步骤 1、先建立文件夹“ex4”,然后建立“ex4”工程项目,最后建立源程序文件“ex4.c”,输入如下源程序; /*用6264扩展内存*/ //说明:先向6264中写入整数1~200,然后将其逆序复制到0x0100处 #include #include #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; /*主程序*/ void main() { uint i; LED=1; //向6264的0x0000地址处写入1~200

for(i=0;i<200;i++) { XBYTE[i]=i+1; } //将6264中的1~200逆向拷贝到0x0100地址开始处 for(i=0;i<200;i++) { XBYTE[i+0x0100]=XBYTE[199-i]; } //扩展内存数据处理完成后LED点亮 LED=0; while(1); } 2、用Proteus软件仿真 经过Keil软件编译通过后,可利用Proteus软件仿真。在Proteus ISIS编辑环境中绘制仿真电路图。打开配套实验3仿真原理图文件“ex4.DSN”,将编译好的“ex4.hex”文件载入 A T89C51,启动仿真。 五、思考题 实验仅使用了一片6264SRAM对数据内存进行扩展,要求在电路中使用EPROM27512(64KB)对程序内存进行扩展,将HEX文件移到27512中执行,注意将EA接地。 /*用6264扩展内存*/ //说明:先向6264中写入整数1~200,然后将其逆序复制到0x0100处 #include #include #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; /*主程序*/ void main() { uint i; LED=1; //向6264的0x0000地址处写入1~200 for(i=0;i<200;i++) { XBYTE[i]=i+1; } //将6264中的1~200逆向拷贝到0x0100地址开始处 for(i=0;i<200;i++) { XBYTE[i+0x0100]=XBYTE[199-i]; } //扩展内存数据处理完成后LED点亮 LED=0; while(1); }

51单片机数据类型

从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率。 在51系列中data,idata,xdata,pdata的区别: 1、data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。 2、idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:moxACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好) 3、 xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。 4、 pdata:外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movxACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG,建议少用。但也有他的优点,具体用法属于中级问题,这里不提。 当然现在有些51单片本身内部就有扩展的RAM区域,故在允许使用内部扩展RAM的时候使用xdata 和pdata并不影响P2和P0口。 单片机C语言unsigned char code table[] code 是什么作用? code的作用是告诉单片机,我定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,其实是相当与汇编里面的寻址MOVX(好像是),因为C语言中没办法详细描述存入的是ROM 还是RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用,对应的还有data 是存入RAM的意思。 程序可以简单的分为code(程序)区,和data (数据)区,code区在运行的时候是不可以更改的,data区放全局变量和临时变量,是要不断的改变的,cpu从code区读取指令,对data 区的数据进行运算处理,因此code区存储在什么介质上并不重要,象以前的计算机程序存储在卡片上,code区也可以放在rom里面,也可以放在ram里面,也可以放在flash里面(但是运

51单片机存储器结构介绍

MCS-51单片机存储器结构 从用户的角度上,8051单片机有三个存储空间: 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(低128单元用户RAM 和高128单元SFR区) 作用:作数据缓冲器用。

一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。 MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。(对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的EA端必须接地。强制CPU从外部程序存储器读取程序。)对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC 值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。 当=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部ROM空间。 当=0时,程序从外部存储器开始执行,例如前面提到的片内无ROM的8031单片机,在实际应用中就要把8031的引脚接为低电平。 8051片内有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指令任意安排,但在应用中应注意,不要超过了实际的存储空间,不然程序就会找不到。

单片机存储器类型及结构

51单片机存储器结构 51单片机存储器采用了通用的哈弗型机构,器存储器在物理机构上分为4部分: ● 片内程序存储器; ● 片外程序程序存储器; ● 片内数据存储器; ● 片外数据存储器。 从逻辑上则存储器结构为3部分,访问不同的逻辑空间是采用不同的指令: ● 片内与片外统一编址的64KB 程序存储器----MOVC ; ● 片内低128B 的数据存储器和高128B 的特殊功能寄存器----MOV ; ● 片外64KB 的数据存储器----M OVX ; C51通过变量修饰符来指定变量在存储器的位置,按照修饰符将存储器分类: ● code----片内外64KB 程序存储器; ● data---片内128B 数据存储器,采用直接寻址方式; ● idata ---片内所有256B (包括低128B 的RAM )的数据存储器,采用间接寻址方式。 ● bdata ---片内的16B 的数据存储器(位寻址区),可位存取和字节存取。 ● xdata ---- 片外64KB 的数据存储器; 51单片机的存储空间地址是重叠的,采用不同的数据传送指令解决了该问题。图1表示51单片机存储器空间结构: 图1 51单片机存储器空间结构 1. 程序存储器(ROM) 程序存储器只允许读,专用于存放程序指令代码及表格常数。目前通用的的51单片机(如AT89S51)内部有4KB 的可电擦除的Flash 型的程序存储器,存储器地址编码为0000H-0FFFH , 片内数据存储器 片外数据存储器 程序存储器

可对外扩展到64KB。由于程序存储器片内外统一编址,内部的存储器已经占用4KB空间,因此对外扩展扩展的存储器大小仅为60KB,地址范围为1000F-FFFFH,采用MOVC指令进行访问。 当EA=1时单片机1的PC在0000~0FFFH范围内执行片内程序存储器中的程序,当指令地址超过0FFFH 后就自动转向片外程序存储器中取指令。 当EA=0时CPU只能从片外程序存储器中取指令,单片机片内程序存储器不起作用。 51单片机的程序存储器中有6个特殊的存储单元: ●0000H:单片机系统复位后,PC=0000H,即程序从0000H单元开始执行; ●0003H:外部中断0入口地址; ●000BH:定时器T0溢出中断入口地址; ●0013H:外部中断1入口地址; ●001BH:定时器T1溢出中断入口地址; ●0023H:串行口中断入口地址。 用户定义的初始主程序入口通常设置在0023H地址单元以后,运行时从0000H单元开始启动,使用无条件跳转指令跳转到到用户主程序的入口处。从上面各个中断入口地址可以看出,每个中断服务程序只有8个字节单元。这段空间由于过小通常不存放中断服务子程序,而是在中断入口地址处安放一条无条件转移指令,使CPU响应中断时自动跳转到用户定义的中断服务子程序的起始地址。 2. 数据存储器(RAM) 数据存储器用于存放运算的中间结果、数据暂存和缓冲、标志位等。片内和片外存储器独立编址,使用不同指令进行访问。51内核的单片机由于内部使用8位数据总线,故片内RAM最大为256B。内部的128B特殊功能寄存器(SFR)本质上属于RAM,是单片机特殊的RAM,但通常不把它成为单片机的内部RAM。特殊功能寄存器和内部高128B的地址是重叠的,使用不同的寻址方式即可实现在这两区域的存取。按照内部数据存储器的结构可将分为3部分: ●片内低128B的RAM(00H~7FH),使用MOV指令直接或间接寻址方式访问; ●特殊功能寄存器SFR(80H~FFH),只能使用直接寻址方式,指令为MOV; ●片内高128的RAM(80H~FFH),只能使用间接寻址方式,指令为MOV; ●片外64KBRAM,只能使用间接寻址方式,指令为MOVX; 51单片机的内部数据存储器结构如图2所示:

MCS-51单片机存储器的扩展

第八章MCS-51单片机存储器的扩展 第一节MCS-51单片机存储器的概述 (一)学习要求 1、熟悉MCS-51 单片机的系统总线及系统总线扩展结构 2、掌握常用的片选方法:线选法和全地址译码法。 (二)内容提要 1、三总线的扩展方法 单片机内资源少,容量小,在进行较复杂过程的控制时,它自身的功能远远不能满足需要。为此,应扩展其功能。 MCS-51单片机的扩展性能较强,根据需要,可扩展。三总线是指地址总线、数据总线、控制总线。 1)地址总线 MCS-51 单片机地址总线宽度为16 位,寻址范围为64K。 地址信号:P0 作为地址线低8 位,P2 口作为地址线高8 位。 2)数据总线 MCS-51 单片机的数据总线宽度为8 位。 数据信号:P0 口作为8 位数据口,P0 口在系统进行外部扩展时与低8 位地址总线分时复用。 3)控制总线 主要的控制信号有/WR 、/RD 、ALE 、/PSEN 、/EA 等。 2、系统的扩展能力 MCS-51 单片机地址总线宽度为16 位,因此它可扩展的程序存储器和数据存储器的最大容量是64K(216)。 1)线选法 线选法就是将多余的地址总线(即除去存储容量所占用的地址总线外)中的某一根地址线作为选择某一片存储或某一个功能部件接口芯片的片选信号线。一定会有一些这样的地址线,否则就不存在所谓的“选片”的问题了。每一块芯片均需占用一根地址线,这种方法适用于存储容量较小,外扩芯片较少的小系统,其优点是不需地址译码器,硬件节省,成本低。缺点是外扩器件的数量有限,而且地址空间是不连续的。 2)全地址译码法 由于线选法中一根高位地址线只能选通一个部件,每个部件占用了很多重复的地址空间,从而限制了外部扩展部件的数量。采用译码法的目的是减少各部件所占用的地址空间,以增加扩展部件的数量。 3)译码器级连 当组成存储器的芯片较多,不能用线选法片选,又没有大位数译码器时,可采用多个小位数译码器级连的方式进行译码片选. 4)译码法与线选法的混合使用 译码法与线选法的混合使用时,凡用于译码的地址线就不应再用于线选,反之,已用于线选的地址线就不应再用于译码器的译码输入信号. (三)习题与思考题 1. 简要说明MCS-51 单片机的扩展原理。

MCS-51单片机存储器的扩展_百度文库.

第八章 MCS-51单片机存储器的扩展 第一节 MCS-51单片机存储器的概述 (一学习要求 1、熟悉 MCS-51 单片机的系统总线及系统总线扩展结构 2、掌握常用的片选方法:线选法和全地址译码法。(二)内容提要 1、三总线的扩展方法 单片机内资源少,容量小,在进行较复杂过程的控制时,它自身的功能远远不能满足需要。为此,应扩展其功能。 MCS-51单片机的扩展性能较强,根据需要,可扩展。三总线是指地 址总线、数据总线、控制总线。 1)地址总线 MCS-51 单片机地址总线宽度为 16 位,寻址范围为 64K。 地址信号: P0 作为地址线低 8 位, P2 口作为地址线高 8 位。 2)数据总线 MCS-51 单片机的数据总线宽度为 8 位。 数据信号: P0 口作为 8 位数据口, P0 口在系统进行外部扩展时与低 8 位地址总线分时复用。 3)控制总线 主要的控制信号有 /WR 、 /RD 、 ALE 、 /PSEN 、 /EA 等。

2、系统的扩展能力 MCS-51 单片机地址总线宽度为 16 位,因此它可扩展的程序存储器和数据存储器的最大容量是64K(216)。 1)线选法 线选法就是将多余的地址总线(即除去存储容量所占用的地址总线外)中的某一根地址线作为选择某一片存储或某一个功能部件接口芯片的片选信号线。一定会有一些这样的地址线,否则就不存在所谓的“选片”的问题了。每一块芯片均需占用一根地址线,这种方法适用于存储容量较小,外扩芯片较少的小系统,其优点是不需地址译码器,硬件节省,成本低。缺点是外扩器件的数量有限,而且地址空间是不连续的。 2)全地址译码法 由于线选法中一根高位地址线只能选通一个部件,每个部件占用了很多重复的地址空间,从而限制了外部扩展部件的数量。采用译码法的目的是减少各部件所占用的 地址空间,以增加扩展部件的数量。 3)译码器级连 当组成存储器的芯片较多,不能用线选法片选,又没有大位数译码器时,可采用多个小位数译码器级连的方式进行译码片选. 4)译码法与线选法的混合使用 译码法与线选法的混合使用时,凡用于译码的地址线就不应再用于线选,反之,已用于线选的地址线就不应再用于译码器的译码输入信号. (三)习题与思考题 1. 简要说明MCS-51 单片机的扩展原理。

单片机数据存储类型和申明方法

.51 的存储器结构 笼统来说单片机片内存储器分为CODE区和data区,cpu从code区读取指令,对data 区的数据进行运算处理。前者在程序运行中为只读,一般为FLASH,用来放置程序代码和一些只读的数据(如字模表之类),后者可以随机读写,用来存放程序运行中的临时数据,如局部变量或全局变量,全局变量一直占用着RAM内存,而局部变量在使用完后会自动清除RAM空间。当然在片外,可以外扩FLASH和RA(此时称为XRAM因为寻址方式不一样),外扩的大小与单片机寻址能力有关。有的单片机将外扩RAM封装在片内,如AT89C51所以有了所谓的片内XRAM。 .变量的存储模式 变量是一种在程序执行过程中能不断变化的量。它有数据类型、存储类型、存储器模式和有效范围四种属性。C语言规定每个变量必须有一个标识符作为变量名,在使用一个变量前,必须先对变量进行定义,指出其数据类型和存储模式。以便编译系统为其分配存储单元。在C51中对变量进行定义的格式如下: [ 存储类型] 数据类型[ 存储器类型] 变量名表, 如auto char data i; 存储类型指明变量的存储区域,而变量的存储类型和变量在程序中说明的位置决定了它的作用范围。存储类型含义与C语言相同。存储类型有四种:auto型、extern 型、static 型、register 型,缺省为auto型(看来我一直都是凹凸型啊)。其区别如下: auto:自动变量。存储在内存的堆栈区,属于临时性存储变量,并不长期占用内存,可以被多次覆盖。 register:寄存器变量。register与auto一样属于自动类别。区别在于register 的值保存在CPU 的寄存器中。计算机中只有寄存器中的数据才能直接参与运算,而一般变量是放在内存中的,变量参加运算是,需要先把变量从内存中取到寄存器中,然后计算。所以一般把使用最频繁的变量定义成register变量。register变 量只能在函数中定义,并只能是int和char型。 static:静态变量。声明静态变量的,也就是C语言中的私有成员?如果在一个函数中声明一个静态变量,静态变量的空间不在栈里面,而是存储在静态空间里,这个函数结束后,静态变量的值依旧存在,内存不会收会此变量占用的内存空间,而是等整个程序都结果后才收回静态 变量空间。 extern:外部类型。extern用来声明外部变量,可以用于此程序外的程序中(可在两个C 文件间交叉使用),类型要一致。变量在数据运行时被分配了一定的内存空间,该空间在整个运行程序中,只要程序存在,自始自终都被该变量使用,即其值始终不变。 数据类型就不用多说了,bit ,byte,char 什么的。 存储器类型与单片机的寻址方式有关,影响程序的执行效率。下表是传统 C51 的存储器类型,不同单片机类型有所差别。

单片机的RAM存储器详解

51单片机的存储器的RAM详解 传统MCS-51单片机内部数据存储器RAM结构 内部数据存储器低128单元 8051单片机的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H~7FH)和高128单元(单元地址80H~FFH)。如图所示为低128单元的配置图。 工作寄存器区 8051共有4组寄存器,每组8个寄存单元(各为8),各组都以R0~R7作寄存单元编号。寄存器常用于存放操作数中间结果等。由于它们的功能及使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。4组通用寄存器占据内部RAM的00H~1FH单元地址。 在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是哪一组,由程序状态字寄存器PSW中RS1、RS0位的状态组合来决定。

通用寄存器为CPU提供了就近存储数据的便利,有利于提高单片机的运算速度。 此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。 位寻址区 内部RAM的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。位寻址区共有16个RAM单元,计128位,地址为00H~7FH。MCS-51具有布尔处理机功能,这个位寻址区可以构成布尔处理机的存储空间。这种位寻址能力是MCS-51的一个重要特点。 用户RAM区 在内部RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下80个单元,这就是供用户使用的一般RAM区,其单元地址为30H~7FH。对用户RAM区的使用没有任何规定或限制,但在一般应用中常把堆栈开辟在此区中。 内部数据存储器高128单元 内部RAM的高128单元是供给专用寄存器使用的,其单元地址为80H~FFH。因这些寄存器的功能已作专门规定,故称之为专用寄存器(Special Function Register),也可称为特殊功能寄存器。 外部数据存储器 外部数据存储器是指通过添加硬件RAM IC实现的,用来扩充RAM的存储器。 在 80C51/87C51/89C51片内,分别内置最低地址空间的4KB ROM/EPROM程序存储器(内部程序存储器),而在8031片内,则没有内部程序存储器,必须外部扩展EPROM。80C51系列单片机中64KB 内、外程序存储器的地址是统一编排的。8031单片机没有内部程序存储 器,地址从0000H~FFFFH都是外部程序存储空间。应始终接地,对于内部有ROM的单 片机(5l、52系列),该引脚接高电平,使程序从内部ROM开始执行。当PC值超出内部ROM 的容量时,会自动转向外部程序存储器空间。外部程序存储器地址空间为1000H~FFFFH,访问程序存储器使用MOVC指令。

相关主题