51单片机:存储器
MCS-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 提供了就近存储数据的便利,有利于提高单片机的运算速度。
此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机
的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速。
51单片机的结构
51单片机的结构51单片机是指一种集成了中央处理器、存储器和各种输入输出接口的单片集成电路。
它由Intel公司于1980年推出,采用了Harvard架构,是一种典型的8位单片机,无论在学校教学还是工业控制领域都得到了广泛的应用。
一、内部结构51单片机的内部结构主要由中央处理器、存储器和输入输出接口组成。
1. 中央处理器51单片机的中央处理器包含一个8位的累加寄存器A、一个8位的B寄存器、一个16位的程序计数器PC以及各种控制寄存器。
其中累加寄存器A是数据处理的核心,用于存储运算的结果。
B寄存器可用作直接寻址时的源操作数或目的操作数。
2. 存储器51单片机的存储器主要分为程序存储器和数据存储器。
程序存储器用于存储程序的指令,通常采用只读存储器(ROM)的形式。
数据存储器用于存储程序中的数据,包括RAM和各种寄存器。
3. 输入输出接口51单片机的输入输出接口包括通用输入输出口(GPIO)、串行通信口(UART)、定时器/计数器等。
GPIO用于与外部器件进行数据交互,可用于输入和输出。
UART用于与其他设备进行串行通信,常用于与计算机进行通信。
定时器/计数器可用于计时和定时中断控制。
二、工作原理51单片机的工作原理可以简单概括为:接收指令、执行指令、更新PC。
1. 接收指令51单片机从程序存储器中读取指令,并将指令暂存在指令寄存器中。
指令寄存器会将指令的地址信息传递给地址寄存器,以便读取下一条指令。
2. 执行指令51单片机根据指令的类型和操作码,执行相应的操作。
这可能涉及到对寄存器或存储器的读取、写入、算术运算、逻辑运算等。
执行的结果通常会存储在累加寄存器A中。
3. 更新PC在执行完一条指令后,51单片机会自动更新程序计数器PC的值,使其指向下一条要执行的指令地址。
这样就能够实现程序的顺序执行。
三、应用领域51单片机广泛应用于各个领域,包括嵌入式系统、家电控制、汽车电子、工业自动化等。
1. 嵌入式系统51单片机作为一种低成本、低功耗、易于开发和集成的微处理器,被广泛应用于嵌入式系统中。
单片机存储器
单片机存储器1. MCS-51单片机的存贮器有程序存贮器ROM和数据存贮器RAM 之分。
由于外部程序存贮器和外部数据存贮器的地址可以重迭,所以我们说MCS-51单片机的寻址空间为2×64KB=128KB ,不过要注意:“片外程序存贮器和片外数据存贮器,根据实际需要也可以合并成一个统一的地址空间,此时最大寻址空间为64KB而不是128KB了。
”对外部程序存贮器的写操作是由编程器完成,而对其读操作则是由读选通控制信号/PSEN( Program Store Enable)再配以读操作指令MOVC来完成。
也就是由MOVC指令产生信号/PSEN,从而对片外程序存储器进行读操作。
对外部数据存贮器的写操作是由写选通控制信号/WR再配以指令MOVX来完成,而对其读操作则是由读选通控制信号/RD再配以MOVX 来完成。
也就是由指令MOVX指令产生/WR或/RD信号,从而对片外RAM进行写或读操作。
2. 程序存贮器ROMMCS-51单片机中设有一个片内、片外程序存贮器选择控制信号/EA(External Access)。
MCS-51单片机程序存储器示意图如果使/EA=1,则片内、片外程序存贮器ROM统一编址为64KB。
系统复位后,将先执行片内存贮器ROM中的程序。
当PC中内容超过OFFFH或1FFFH时,将自动转到执行片外程序存贮器中的程序。
片内程序存储器空间为0000H~0FFFH或0000H~1FFFH,片外程序存储器空间的地址不能与片内程序存储器空间地址相重迭。
至于具体执行哪里的程序完全取决于PC值。
如果使/EA=0,则只执行片外程序存贮器的程序,其地址空间为0000H~FFFFH 。
换言之,如果片内无程序存贮器ROM或不想访问片内程序存贮器ROM,则必须使/EA=0 。
注意:当系统复位时PC内容为0000H ,这意味着程序的执行总要从0000H单元开始,但用户程序又不能从0000H开始存放。
这是因为在程序存储器中有7个非常特殊的、固定的单元,这些单元所存放的内容是有特定要求的。
51单片机的基本结构
51单片机的基本结构51单片机是一种高性能、低功耗的微控制器,是嵌入式系统中常用的一种芯片。
它具有集成度高、易编程、可编程性强等特点,在各种电子设备中广泛应用,包括家电、工业控制、汽车电子、智能仪器等领域。
51单片机的基本结构主要包括CPU、存储器、输入输出端口、定时计数器和串口通信等部分。
1.CPU51单片机的CPU是其核心部分,负责执行指令、进行运算处理。
它通常采用哈佛结构,即指令和数据分开存储。
51单片机的CPU主要由ALU (算术逻辑单元)、寄存器组、指令寄存器、程序计数器等部分组成,能够完成基本的运算和控制功能。
2.存储器51单片机的存储器包括ROM(只读存储器)和RAM(随机存储器)。
ROM用于存储程序代码和常量数据,是只读的;RAM用于存储变量数据和临时结果,是可读写的。
在51单片机中,通常ROM用于存储程序代码和初始化数据,RAM用于存储运行时数据和临时结果。
3.输入输出端口51单片机的输入输出端口用于与外部设备进行数据交换。
它可以通过不同的接口与外部设备连接,比如并行口、串行口、通用输入输出口等。
通过输入输出端口,51单片机可以与外部设备进行数据传输和通信,实现各种功能。
4.定时计数器51单片机的定时计数器可以用于计时和计数,通常用于控制时序和频率。
在51单片机中,定时计数器可以生成各种定时中断,实现定时控制功能。
定时计数器可以根据需要设定不同的时钟源和计数模式,实现灵活的定时控制。
5.串口通信51单片机的串口通信功能可以用于与外部设备进行串行通信,比如与PC机、外围设备等进行数据传输。
串口通信包括串行口和UART(通用异步收发器),可以通过串行口进行双向数据传输。
串口通信在51单片机中广泛应用于各种通信设备和控制系统中。
总的来说,51单片机的基本结构包括CPU、存储器、输入输出端口、定时计数器和串口通信等部分,通过这些部分的组合和协作,可以实现各种功能和应用。
在实际应用中,设计人员可以根据需要对这些部分进行配置和扩展,实现更丰富的功能和性能要求。
51单片机数据存储器结构详解
51单片机数据存储器结构详解1、bit是在内部数据存储空间中20H..2FH区域中一个位的地址,这在DATA的20H以后以字节形式出现,可互相参照。
另外加上8051可寻址的SFR,但刚刚试过,只是00H--7FH起作用,也就是说当数据有变化时颜色变红,以后的从80H到--FFH就不是位寻址区了,是位寻址的特殊寄存器,如涉及到了可位寻址的那11个当然会有反应。
复位后,程序计数器PC的内容为0000H,内部RAM各单元的值不确定。
各功能寄存器的复位值如下:堆栈指针SP的复位值为07H,累加器ACC、寄存器B的复位值为00H,数据指针DPTR的复位值为0000H,而p0、p1、p2、p3四个口的复位值为0FFH。
其他SFR如PSW、TCON、TMOD、TL0、TH0、TL1、TH1的复位值也为00H。
2、wave中是低128字节和高128字节(0-7FH),低128字节是片内RAM区,高128字节(80-FFH)是SFR(特殊功能寄存器)bit则是位于低128字节的20H..2FH区域,即data的20H..2FH区域3、code是在0000H..0FFFFH之间的一个代码地址。
例如:ORG5000HTAB:DB22H,3BH,43H,66H,5H,6DH,88H后,CODE从5000H开始以后变成DB各位4、data是在0到127之间的一个数据存储器地址,或者加128..255范围内的一个特殊功能寄存器(SFR)地址。
两者访问的方式不同。
实际上由于PSW的复位设置PSW.3=RS0和PSW.4=RS1皆为0,所以通用工作寄存器区就是第0区,所以data的00--07H部分是与REG栏中的R0--R7对应的。
以后的则仅代表低128字节的内部RAM。
5、idata是0to255范围内的一个idata存储器地址。
idata与data 重合低128字节,有的地方只有DATA表示256字节的片内RAM,某data 是0to65535范围内的一个某data存储器地址。
哈工大51单片机存储器扩展
并行接口特点
串行接口特点
串行接口具有数据传输速度较慢、数 据总线宽度较小等缺点,但电路连接 简单、占用引脚少。
并行接口具有数据传输速度快、数据 总线宽度大等优点,但电路连接复杂。
51单片机存储器的访问方式
01
02
03
直接寻址方式
直接寻址方式是指直接给 出存储单元的地址,通过 该地址访问存储器中的数 据。
通过哈工大51单片机的外部存 储器接口,将存储器芯片与单 片机连接。
根据存储器芯片的规格书,设 计相应的电路和连接方式。
根据实际需求,编写相应的程 序来读写扩展的存储器。
05 扩展存储器的应用与优化
扩展存储器在系统中的应用
数据存储
01
扩展存储器用于存储大量数据,如传感器采集的数据、用户数
据等。
程序存储
02
扩展存储器用于存储应用程序的代码,以支持更复杂的功能和
更大的程序。
缓存
03
扩展存储器可以作为高速缓存,提高系统的整体性能。
扩展存储器的性能优化
读写速度
通过优化硬件设计和软件算法,提高扩展存储器的读写速度。
可靠性
采用错误检测和纠正技术,提高扩展存储器的可靠性。
兼容性
确保扩展存储器与主控制器和其他组件的兼容性,以实现无缝集 成。
间接地址映射
扩展存储器的地址通过特 定的寄存器映射到单片机 的地址空间,可以实现更 灵活的地址管理。
段地址映射
将扩展存储器分成若干段, 每段独立映射到单片机的 地址空间,可以实现较大 的存储空间扩展。
04 哈工大51单片机存储器扩 展方案
扩展方案的比较与选择
方案一:并行扩展 优点:扩展速度快,适用于对速度要求较高的应用。
51单片机存储器内部结构
MCS-51单片机在物理结构上有四个存储空间:1、片内程序存储器2、片外程序存储器3、片内数据存储器4、片外数据存储器但在逻辑上,即从用户的角度上,8051单片机有三个存储空间:1、片内外统一编址的64K的程序存储器地址空间(MOVC)2、256B的片内数据存储器的地址空间(MOV)3、以及64K片外数据存储器的地址空间(MOVX)在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。
程序内存ROM寻址范围:0000H ~ FFFFH 容量64KBEA = 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从外部程序存储器读取程序。
第三讲51单片机存储器及寻址方式
TMOD 定时器方式寄存器
部分专用寄存器介绍
1) 程序状态字寄存器PSW C AC F0 RS1 RS0 OV F1 P
C:为进位标志,AC:半进位标志,F0 、 F1为用户标志, RS1和RS0为当前工作寄存器组的选择位,OV 是溢出标志 位, P是奇偶标志位。
2)ACC:累加器 3)DPTR:地址寄存器
B ACC PSW TH2* TL2* RCAP2H* RCAP2L* T2MOD* T2CON* IP P3 专 IE 用 WDTRST 寄 P2 存 SBUF 器 SCON 区 P1 SFR TH1 TH0 TL1 TL0 TMOD TCON PCON DP1H DP1L DPH DPL SP P0
工作寄存器区: 00H~1FH
30H 2FH
用户RAM区
位寻址区:
20H~2FH
20H 1FH 18H 17H
位寻址区 (位地址00H~7FH)
第3组工作寄存器区R0~R7
用户RAM区: 30H~7FH
第2组工作寄存器区R0~R7 10H 0FH 第1组工作寄存器区R0~R7 08H 07H 第0组工作寄存器区R0~R7 00H
二、数据存储器
工作寄存器区
地址:00H~1FH,32B;
4组:每组为8个8位寄存器
R0~R7;
由PSW中的RS1,RS0选择 当前工作寄存器。
RS1RS0与工作寄存器的关系
工作寄存器选择
组
0 1 2
RS1 RS0 R0
0 0 1 0 1 0 00H 08H 10H
R1
01H 09H 11H
假定R1寄存器的内容是 60H,则其功能是以 R1寄存 器的内容60H为地址,将60H地址单元的内容与累加器A 中的数相“与”,其结果仍存放在A中。
51单片机的基本参数
51单片机的基本参数单片机是一种集成电路芯片,其中包含了微处理器、存储器、输入输出接口等功能模块。
51单片机作为一种广泛应用于嵌入式系统开发的芯片,其基本参数对于开发者而言具有重要意义。
本文将介绍51单片机的基本参数,帮助读者更好地了解和应用该芯片。
1. 集成的微处理器51单片机,又称为8051单片机,其集成了一颗8位的微处理器,采用哈佛体系结构。
该微处理器具备高效的指令集和强大的运算能力,适用于各种嵌入式应用场景。
2. 存储器容量51单片机内部集成了多种类型的存储器,包括ROM、RAM和EEPROM。
其中,ROM用于存储程序代码,RAM用于存储数据,EEPROM用于存储不易丢失的配置信息。
具体的容量因型号而异,可以有2KB、4KB、8KB、16KB等不同的选项。
3. 时钟频率51单片机的工作频率对于其性能和响应速度至关重要。
不同型号的51单片机有不同的工作频率范围,常见的有12MHz、16MHz、20MHz等选项,开发者可以根据实际需求选择适合的时钟频率。
4. 输入输出接口51单片机内部集成了丰富的IO口,用于实现与外部设备的数据交互。
其中,一部分IO口可配置为输入模式,另一部分可配置为输出模式。
这些输入输出接口的数量和类型因型号而异,可以根据具体需求进行选择和配置。
5. 通信接口为了满足与其他设备的通信需求,51单片机通常支持多种通信接口,如串口、SPI和I2C等。
这些接口可以通过配置使用不同的通信协议,方便与其他设备进行数据交换和通信。
6. 中断系统中断是51单片机实现多任务处理和异步事件响应的关键机制。
51单片机具备灵活的中断系统,支持多级中断和外部中断。
开发者可以通过编程设置中断优先级和中断响应函数,实现对外部事件的快速响应。
7. 电压和功耗51单片机通常工作在3.3V或5V的电压下,不同型号的芯片可能有略微差异。
此外,功耗也是需要考虑的因素,低功耗设计可以延长系统的使用寿命和电池续航时间。
51单片机存储器结构介绍
MCS-51单片机存储器结构从用户的角度上,8051单片机有三个存储空间:1、片内外统一编址的64K的程序存储器地址空间(MOVC)2、256B的片内数据存储器的地址空间(MOV)3、以及64K片外数据存储器的地址空间(MOVX)在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同的存储器空间的选通信号。
【程序内存ROM】寻址范围:0000H ~ FFFFH 容量64KBEA = 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的容量时,才会转向外部的程序存储器读取程序。
MCS-51单片机的内部存储器
③ F0(PSW.5)——用户标志位。这是一个由用户自定义的标 志位,用户根据需要用软件方法置位或复位。例如用它来控 制程序的转向。
4. 堆栈类型
向上生长型和向下生长型。MCS-51的堆栈是向上生长的。
5. 堆栈使用方法
① 调用子程序或中断时,返回地址(断点)自动进栈。程序返回时, 断点再自动弹回PC。
② 使用专用的堆栈操作指令,进行进出栈操作。保护现场(PUSH); 恢复现场(POP)。
1.4 内部程序存储器
MCS-51单片机的程序计数器PC为16位,因此可以寻址的 地址空间为64KB。8051和8751单片机内部有4KB字节 ROM/EPROM程序存储器(0000H~0FFFH),1000H~FFFFH是外 部扩展程序存储器地址空间。而8052单片机内部有8KB ROM程 序存储器,同样可以扩展到64KB。在64KB程序存储器中,有6 个地址单元具有特殊功能。
3. 堆栈指示器
堆栈共有两种操作:进栈和出栈。
但不论是数据进栈还是出栈,都是对堆栈的栈顶单元进行的, 即对堆栈栈顶单元的写和读操作。为了指示栈顶地址,所以 要设置堆栈指示器SP。SP的内容就是堆栈栈顶的存储单元地 址。
MCS-51单片机由于堆栈设在内部RAM上,因此SP是一个8位 寄存器。实际上SP就是专用寄存器的一员。系统复位后,SP 的内容为07H,但由于堆栈最好在内部RAM的30H~7FH单元中 开辟,所以在程序设计时,应注意把SP值初始化为30H。SP的 内容一旦确定,栈顶的位置就确定了。
51单片机存储器结构介绍
51单片机存储器结构介绍单片机是一种微型电脑芯片,他能够实现数字信号的处理和控制。
而存储器是单片机的核心组成部分之一,用于存储程序指令和数据。
本文将介绍51单片机的存储器结构。
一、内部存储器1. 代码存储器(ROM)代码存储器是用来存放程序指令的地方,它通常具有只读的特点,因此称之为只读存储器(Read-Only Memory)。
在51单片机中,常见的ROM有EPROM、EEPROM和Flash。
其中,EPROM需要使用紫外线擦除后才能进行写入操作,而EEPROM和Flash则支持电子擦除和写入操作。
2. 数据存储器(RAM)数据存储器用于存储程序中的数据,可以进行读取和写入操作。
51单片机中的RAM分为内部RAM和外部RAM两种类型。
内部RAM 是静态随机存储器(SRAM),容量通常较小,但读取速度快。
而外部RAM则可以通过外部接口来扩展存储容量。
二、外部存储器除了内部存储器之外,51单片机还支持外部存储器的连接,以扩展存储容量。
1. 并行存储器并行存储器是指通过并行接口与单片机进行数据交换的存储器,常见的有静态随机存储器(SRAM)、动态随机存储器(DRAM)和闪存等。
并行存储器的访问速度较快,但通信线路和引脚较多,连接复杂。
2. 串行存储器串行存储器是通过串行接口与单片机进行数据交换的存储器,常见的有串行EEPROM和串行闪存等。
串行存储器相对于并行存储器来说,引脚和通信线路较少,连接较为简单,但访问速度相对较慢。
三、存储器扩展技术1. 存储器芯片选择在实际应用中,我们需要根据需求选择合适的存储器芯片。
不同的存储器芯片具有不同的特性,比如容量大小、访问速度、耗能情况等,需要根据具体需求进行选择。
2. 存储器接口设计单片机与存储器之间的通信需要通过特定的接口进行连接。
在设计存储器接口时,需要考虑接口的引脚数目、速度要求、稳定性等因素,并且保证接口与存储器芯片的电气特性匹配。
3. 存储器管理技术存储器管理是针对大容量存储器的一种管理方法,用于提高存储效率和数据存取速度。
51单片机的程序存储器和数据存储器
51单片机的程序存储器和数据存储器51单片机是一种常见的嵌入式微控制器,具备程序存储器和数据存储器,广泛应用于各个领域。
程序存储器用于存储和执行程序,而数据存储器用于储存运行过程中的变量和数据。
本文将详细介绍51单片机的程序存储器和数据存储器的特点和使用方法。
一、程序存储器程序存储器是51单片机中用于存储程序代码的地方。
它通常在芯片内部,有多种形式,常见的有ROM(只读存储器)和Flash(闪存)两种。
1. ROM存储器ROM存储器可以被写入一次,之后不能再改变。
它通常用于存储经常使用的不变的代码,例如启动程序、中断向量表等。
ROM存储器具有较高的稳定性和可靠性,在操作过程中不易出错。
但是,由于其只能被写入一次,因此对于频繁需要修改的程序代码来说,使用ROM存储器并不方便。
2. Flash存储器Flash存储器是一种可擦写的存储器,它可以多次写入和擦除。
这使得在51单片机的开发过程中,可以方便地修改和更新程序代码。
Flash存储器的优点是灵活性高,容易更新,但相对而言,稳定性较差,可能会出现擦除错误或写入错误的情况。
在使用Flash存储器时,需要注意以下几点:(1)在写入过程中,应该保证电源的稳定性,避免写入过程中电压异常导致写入错误。
(2)应该合理规划Flash存储器的中存储空间的物理布局,以方便程序的定位和管理。
(3)由于Flash存储器的写入次数是有限的,因此要尽量减少对其频繁的擦写。
二、数据存储器数据存储器是51单片机中用于存储程序运行中的变量和数据的地方。
它可以读取和写入,是程序运行和数据处理的重要组成部分。
数据存储器通常分为RAM(随机访问存储器)和SFR(特殊功能寄存器)两种。
1. RAM存储器RAM存储器是一种易读写的存储器,其存储空间较大,可以存储较多的变量和数据。
RAM存储器的读写速度较快,对于频繁读写的数据可以更快地进行处理。
但是,RAM存储器对电源的稳定性要求较高,断电会导致存储的数据丢失。
单片机的存储器结构
位地址
7CH 74H 6CH 64H 5CH 54H 4CH 44H 3CH 34H 2CH 24H 1CH 14H 0CH 04H
7BH 73H 6BH 63H 5BH 53H 4BH 43H 3BH 33H 2BH 23H 1BH 13H 0BH 03H
7AH 72H 6AH 62H 5AH 52H 4AH 42H 3AH 32H 2AH 22H 1AH 12H 0AH 02H
单片机原理及应用
51单片机的存储器分为程序存储器(ROM)和数据存储 器(RAM)。
程序存储器ROM(Read Only Memory),即只读存储 器,其特点是在程序正常运行时,CPU对ROM存储器只能进 行读操作。它通常用来存储固定不变的程序和数据,如引导 程序、基本输入输出系统程序等。系统掉电后,ROM中的信 息不会丢失。
片内数据存储器可使用8位地址进行访问,其最大可寻址的范围为256个地址单元。 访问片外数据存储器采用间接寻址方式,间接寻址寄存器有以下两种:
➢ R0或R1:二者都是8位寄存器,寻址范围最大为256个单元。 ➢ DPTR:16位地址指针,寻址范围可达64KB。
在访问片外数据存储器时,寻址范围如果超过了256B,就不能用R0或R1作为间接寻 址寄存器了,这时必须使用DPTR寄存器作为间接寻址寄存器。
3. 用户RAM区(30H—7FH) 在片内RAM的低128单元中,通用寄存器占32个单元,位寻址区占16个单元,剩下 的80个单元为供用户使用的一般RAM区,其地址空间为30H~7FH。这部分区域的使用 没有任何规定和限制,但应注意的是,堆栈一般开辟在这个区域中。
12
单片机原理及应用
数据存储器RAM(Random Access Memory),即可 随机读写存储器。它用于存放程序运行期间的中间数据,可 随时进行读写操作。系统掉电时,数据会全部丢失。
C51单片机的存储器结构ppt课件
线上可以最大扩展64K的RAM,可独立寻址,有公 用指令系统〔MOVX传送指令〕,不能用于数据的 运算及处置,所以仅有4条指令,两条读,两条写, 用于普通数据的存放,地址为0000H-FFFFH。寻 址方式采用存放器间接寻址的方式,如MOVX A , @DPTR.,指令中DPTR,开辟在特殊功能存放器 〔SFR〕中,是一个16位的数据存储器〔数据指针
图3-3 内部数据存储器构造
7FH
用户区
30H 2FH
位寻址区
20H 1FH
工作寄存 器区
00H
〔1〕任务存放器区〔00H~1FH〕
共32个单元,又分为4组,每组8个单元,都用 R0~R7表示,如图3-4所示,
1FH
R7
3组
18H
R0
17H
R7
2组
10H
R0
0FH
R7
1组
08H
R0
07H
R7
06H
3-5所示, 指令MOV A , @R0 操作表示。 可以用〔〔R0〕〕=(40H)=AAH表示。
40H 1 0 1 0 1 0 1 0 30H 2FH 20H 1FH 00H 0 1 0 0 0 0 0 0 R0
注:
★ 在存放器寻址中〔Rn〕,这4组存放器,由 用户运用中经过PSW中的RS1和RS0的设定,来确 定用户运用的组。
1000H 0FFFH
外部程序储 存器64K (ROM)
80H 7FH 内部数据
储存器
128B (SRAM) 00H
0000H
内部程序储 存器4K
(ROM)
0000H
★内部数据存储器和外部数据存储器相互之间独立编址,
51单片机的程序存储器和数据存储器
一、51单片机的程序存储器结构1.内部结构单片机内部的程序存储器用于存储单片机工作时候的程序,单片机内部专门设置一个16位的程序计数器(PC),用于知识下一时刻单片机要执行的程序在ROM 空间中的地址位置,即可以存储64Kb空间大小。
程序存储器物理上可以分为片内程序存储器和片外存储器,不同单片机型号有不同的片内程序存储器空间大小。
例如8051单片机片内有4Kb的ROM,那当控制线取0时,PC访问的前4kb空间是片内的ROM;当控制线为0时候,PC访问的是片外的ROM。
2.程序存储器的7个特殊地址51单片机复位后,PC的内容是0000H,即为系统程序的启动地址。
51单片机内部有6个中断源,6个中断源介绍及地址如下所示:中断源之间只间隔8个存储单元,这是不足以存放中断程序的,所以这是中断入口地址,后续有中断服务函数。
二、51单片机的数据存储器数据存储器(RAM)存储单片机运行期间所需要的数据和临时生成的数据。
从物理上分为片内RAM和片外RAM(片外RAM是通过16位的地址总线访问,所以片外RAM也是64kb)。
1.片内数据存储器厂家根据不同的任务要求和需求定义不同的任务块,如下所示:工作寄存器组:一共有32个字节,也被称为通用寄存器,用于临时寄存8个信息,工作寄存器组分为4个组别,每组有R0-R7一共8个数据信息。
位寻址区:一共有16个字节,128位,该区域每一位可按照位于方式使用,这128位会重新分配工作地址。
一般RAM区域:用户编程可以使用的RAM,当然,前两个单元未使用的空间,用户也可以使用。
堆栈区和堆栈指针:先进后出、后入先出的原则进行管理的一段存储区域函数的调用就是一个堆栈操作,如下图所示:为实现堆栈“先入后出,后入先出”数据处理,51单片机内部设置了一个堆栈指针SP。
特殊功能寄存器:专用于控制、管理片内算术逻辑部件等功能模块工作,用户编程时可以直接给特殊功能寄存器设定值。
51单片机内部有包括PC在内19个特殊功能寄存器,如下所示:CPU专用寄存器:累加器A(E0H),寄存器B(F0H),程序状态寄存器PSW(D0H),堆栈寄存器SP(81H),数据指针DPTR(82H、83H)2.片外数据存储器51单片机内部RAM空间不够时候,就通过总线来扩展片外ram,最多可以扩展64KB.。
51单片机程序存储器和数据存储器
51 单片机程序存储器和数据存储器
为了保证程序能够连续地执行下去,CPU 必须具有某些手段来确定一条指令的地址。
程序计数器PC 正是起到了这种作用,所以通常又称其为指令地址计数器。
在程序开始执行前,必须将其起始地址。
即程序的第一条指令所在的内存单元地址送入PC。
当执行指令时,CPU 将自动修改PC 的内容,使之总是保存将要执行的下一个条指令的地址。
由于大多数都是按顺序执行的,所以修改的过程只是简单的加1 操作。
下面我们看看8051 的存储器系统:(此章非常重要,请仔细理解)
8051 序列单片机与一般微机的存储器配置方式不相同。
一般微机通常只有一个地址空间,ROM 和RAM 可以随意安排在这一地址范围内不同的空间,即ROM 和RAM 的地址同在一个队列里分配不同的地址空间。
CPU 访问存储器时,一个地址对应唯一的存储单元,可以是ROM 也可以是RAM,并用同类访问指令。
此种存储器结构称普林斯顿结构。
8051 的存储器在物理结构上分程序存储器空间和数据存储器空间。
有四个存储空间:片内程序存储器和片外程序存储空间以及片内数据存储器和片外数据存储器。
这种程序存储器和数据存储器分开的结构形式,称为哈佛结构。
但从用户使用的角度,8051 存储器地址空间分为三类:
1、片内,片外统一编址0000HFFFFH 的64K 字节的程序存储器地址空间,用16 位地址;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内部 RAM 0000 H
RAM (64K )
007FH
0000 H
数据存储器
引脚接为高电平时,CPU可访问内部和外部ROM,并 且程序自片内程序存储器开始执行,PC值超出片内 ROM容量时,会自动转向片外程序存储器中的程序。 引脚接为低电平时,CPU只 能访问外部ROM,无法使 用片内程序存储器。
(3)EPROM型(Erasable Programmable ROM,可擦除可编程 ROM),其典型外观标志是芯片上有一个紫外线擦除窗口。 这种存储器编程使用一定的直流电源(如+21V电压),而 擦除则用紫外线灯光照射芯片窗口(一般需15~30分钟), 重新编程后用不透明标签将窗口贴覆遮盖住即可。 MCS-51系列单片机8751的片内ROM以及27系列存储器 芯片都属于此类产品。 (4)E2PROM型(Electrically Erasable Programmable ROM,电可擦除可编程ROM)。这种存储器可以直接用电擦 写,比较方便数据的改写,较新型只读存储器,编程速度较 快。擦除、写入和读出电压均为+5V。28系列存储器属于此 类产品。
(二) 存储器的分类
sk ROM 型 OTPROM型
ROM
半导体存储器 (Memory)
EPROM型 E2PROM型 Flash ROM型 SRAM
RAM
DRAM
(1)Mask ROM 型:掩膜ROM。其编程只能由制造商通过 半导体掩膜技术完成,用户无法改写,所以对用户而言, 它是严格意义的只读存储器。如8051中的4KB程序存储器 就是这一种,这种ROM适用于有固定程序且大批量生产的 产品中。 一次可编程ROM(One Time 型:一次可编程 (2)OTPROM型: Programmable ROM)。用户可通过专门设备对其一次性写 入程序,此后便不能改写。这种程序存储器可靠性很高, 适合于存放已调试成功的用户程序,投入规模生产,但调 试阶段不宜用。目前,国内外有很多单片机制造商提供片 内集有OTPROM的单片机产品,可供用户选择。
8051的存储器小结(续)
位寻址区
• 该区域地址从20H到2FH,共16个字节,128位,使用 指令可以寻址到位地址。它们的位地址为 00H~7FH。 • 位地址表示方法与片内RAM字节地址的表示方法是 一样的,都是00H~7FH,但字节操作同位操作的指令 形式是不一样的。
数据区
� 地址从30H~7FH,共80个字节,可作为用户数据存 储器,按字节访问。用户堆栈通常放置在该区域。 � 不同的51单片机,其片内数据存储器的大小不同,存 储器容量从128字节到8448字节不等。
(64K) 0FFFH 外部 (4K) EA=0 0000H 0000H
程序存储器
FFFFH
内部 EA=1
程序存储器的保留存储单元
(0000H~002AH)
(1)0000H~0002H三个单元:
用作上电复位后引导 程序的存放单元。因为复 位后PC的内容为0000H, CPU总是从0000H开始执行 程序。将转移指令存放到 这三个单元,程序就被引 导到指定的程序存储器空 间去执行。
(PC)
0002H 0001H 0000H 8位
程序存储器资源分布
程序存储器的保留存储单元
(0000H~002AH)
(2)0003H~002AH单元:
0FFFH 0FFEH . . . 中断5 中断4 中断3 中断2 中断1
中断入口地 址
均分为五段, 用作五个中断服务 程序的入口。
002BH-0032H 0023H-002AH 001BH-0022H 0013H-001AH 000BH-0012H 0003H- 000AH 0002H 0001H (PC) 0000H 串行口中断 定时器1中断 外部中断1 定时器0中断 外部中断0
RAM
★静态随机存取存储器(SRAM) 其特点是只要有电源加于存储器,数据就能长期 保存 。 保存。 ★动态随机存取存储器(DRAM) 写入的信息只能保存若干ms时间,因此, 每隔一定时间必须重新写入一次,以保持原来的 信息不变。
存储器结构
★冯·诺依曼存储器结构/普林斯顿(Princeton)结构 ★哈佛( Harvard )结构
0FFFFH
外部
00FFH
RAM 特殊功 能寄存器
内部 RAM
1000H
0FFFH
内部ROM
0000 H
(64K )
0080H
0FFFH
0000 H
外部ROM EA = 0
007FH
0000 H 0000 H
EA = 1
程序存储器 8051存储器配置
数据存储器
0FFFFH
外 部 R O M
由于MCS-51系列单片机采用16位 的程序计数器PC和16位的地址总线, 因而程序存储器可扩展的地址空间为 64KB,并且这64KB地址在空间分布范 围上是连续和统一的。 片内、外统一编址的64K程 序存储器地址空间。CPU访问片 内、片外ROM指令用MOVC。
2.哈佛结构 数据与程序分别存于两个存储器中,是哈佛结构的重要特 点。哈佛结构的数据总线和指令传输总线完全分开。其优点 是,指令和数据空间是完全分开的,一个用于取指令,另一个 用于存取数据。 程序和数据总线可以采用不同的宽 度。数据总线都是8位的,但低档、中 档和高档系列的指令总线位数分别为 12、14和16位。第二点是:由于可以 对程序和数据同时进行访问,CPU的 取指和执行采用指令流水线结构,当 一条指令被执行时允许下一条指令同 时被取出,使得在每个时钟周期可以 获得最高效率。
1000H
0FFFH
内部ROM
0000 H
0FFFH
0000 H
外部ROM EA = 0
EA = 1
程序存储器 8051存储器配置
64K的片外数据存储器地 址空间。访问片外RAM指令用 MOVX。
外部
0FFFFH
256字节的片内数据 存储器地址空间。访问片 内RAM指令用MOV。
00FFH 0080H
(5)Flash ROM型
闪速只读存储器(Flash ROM):这种程序存储器的特点 就是既可以电擦写,而且掉电后程序还能保存,编程寿命可 以达到几千至几万次。其集成度、速度和易用性等远非传统 ROM可比。在+5V电源下,改写时无需擦除操作,高端产 品擦写速度可达ns级。如ATMEL公司的AT89系列单片机中 均集有容量不等的Flash ROM,是产品开发用的理想机种。 其唯一的缺点是可靠性尚需提高,若设计调试时用Flash ROM型产品,投入生产时改用OTPROM型,在目前应是最 佳选择。专门的Flash ROM器件,有93系列等。
8051的存储器小结(续)
特殊功能寄存器区
• 8051把CPU中的专用寄存器、并行端口锁存器、串行口与定时器 /计数器内的控制寄存器等集中安排到一个区域,离散地分布在 地址从80H到FFH范围内,这个区域称为特殊功能寄存器区。 • 特殊功能寄存器区共有128个字节。占有片内80H~FFH共l28字节 地址区域,在性质上它属于数据存储器。 • 8051共有21个特殊功能寄存器该区域实际上定义了 20个特殊功能 寄存器,它们占据21个字节(数据指针DPTR占两个字节)。访问 特殊功能寄存器,只能使用直接寻址方式。该区域内的其它字节 均无定义,访问它们是无意义的。 • 其中程序计数器PC在物理上是独立的。
MSB 7F 77 6F 67 5F 57 4F 47 3F 37 2F 27 1F 17 0F 07 7E 76 6E 66 5E 56 4E 46 3E 36 2E 26 1E 16 0E 06 7D 75 6D 65 5D 55 4D 45 3D 35 2D 25 1D 15 0D 05
8051的存储器小结(续)
数据存储器
片外0000H~FFFFH共64KB • 8051的数据存储器包括 的数据存储器包括片外 数据存储器(包括存储器地址映射的片外I/O设备),片 内RAM和专用寄存器SFR区。 • 8051片内RAM为00H~7FH共128字节,可以直接寻 址或间接寻址,SFR区只能直接寻址(地址80H~ FFH)。 • 8052的存储器配置,除了与8051相同的部分外,还增 加第二个片内RAM区(80H~FFH)。这部分RAM只能 通过寄存器间接寻址进行访问。
MCS-51单片机系列: 两大系列:MCS-51子系列和MCS-52子系列。 其中51子系列是基本型,而52子系列属于增强型。 各子系列配置如下表所示。 片内ROM形式 无 ROM EPROM 8031 8051 8751 80C31 80C51 87C51 8032 8052 8752 80C32 80C52 87C52
•52子系列与51子系列相比,其功能增强的具体方 面如下: •1.片内RAM从128字节增加到256字节 •2.片内ROM从4KB 增加到8KB •3.定时器/计数器从2个增加到3个 •4.中断源从5个增加到6~7个
89C51存储器分类
MCS-51单片机存储器概述
:程序存储器ROM MCS-51单片机为哈佛结构 单片机为哈佛结构: 和数据存储器RAM分开编址 :ROM和RAM统一编址 PC机为冯诺依曼 为冯诺依曼: :固化程序、常数和数据表 程序存储器 程序存储器: :存放程序运行中产生的各种数 数据存储器 数据存储器: 据、用作堆栈等
8位
程序存储器资源分布
FFFFH
(64K)
外部 专用 FFH (高128B) 80H 寄存器 内部 7FH (低128B) RAM 00H
0000H
存储器 数据 数据存储器
内部数据存储器
单元地址 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22H 21H 20H