mcs51存储器配置解析
- 格式:pptx
- 大小:306.34 KB
- 文档页数:29
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 提供了就近存储数据的便利,有利于提高单片机的运算速度。
此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机
的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速。
第四讲 MCS-51单片机存储器配置教学方法: 讲授法 教学目的:1、了解特殊功能寄存器名称2、了解单片机位地址空间分配3、掌握MCS-51单片机内部存储器的空间与分配教学重点:单片机外部引脚的使用教学难点:单片机外部引脚的功能教学环节 组织教学:(2分钟)检查学生人数,强调作业要求。
复习提问:(10分钟)1、MCS-51系列单片机有几种典型机型?有何区别?2、MCS-51单片机有多少外部引脚?ALE 、EA 、PSEN 、RET 的作用?3、MCS-51单片机的特点? 讲授新课;(70分钟)课题 §2-3 MCS-51单片机内存配置一、MCS-51机的内存结构 (如图1所示)0FFFH FFH80H 7FH0000H 00H 0000H程序存储器 内部数据存储器 外部数据存储器图1 MCS-51机的内存结构物理上分为:4个空间,片内ROM、片外ROM片内RAM、片外RAM逻辑上分为;3个空间,程序内存(片内、外)统一编址MOVC数据存储器(片内)MOV数据存储器(片外)MOVX1、程序内存寻址范围:0000H ~ FFFFH 容量64KBEA = 1,寻址内部ROM;EA = 0,寻址外部ROM地址长度:16位作用:存放程序及程序运行时所需的常数。
七个具有特殊含义的单元是:0000H ——系统复位,PC指向此处;0003H ——外部中断0入口000BH ——T0溢出中断入口0013H ——外中断1入口001BH ——T1溢出中断入口0023H ——串口中断入口002BH ——T2溢出中断入口2、内部数据存储器物理上分为两大区:00H ~ 7FH即128B内RAM 和SFR区。
如图2所示。
7F资料缓冲区堆栈区80B工作单元302F位地址:16B00H~7FH 128 可位寻址位201F 3区2区1区32B 4组R0~R7工作寄存器0区图2 内部数据存储器作用:作数据缓冲器用。
二、殊功能寄存器SFR寻址空间:80H ~ FFH ,其中有6个双字节寄存器。
MCS-51存储器配置一般的微型计算机都采用程序与数据共用一组存储器形式,而MCS-51单片机将程序与数据分别放在两组存储器内,一组称为程序存储器,另一组称为数据存储器。
单片机的应用特点是为某个特定对象服务,它的程序设计调试成功后,一般是固定不变的,因而程序(包括常数表)可以一次性地永久放到单片机内。
这样不仅省去了每次开机后的程序重新装入步骤,还可以有效地防止因掉电和其它干扰而引起的程序丢失的错误。
MCS-51片内集成有一定容量的程序存储器(8031/80C31/8032除外)和数据存储器,并能够扩展较大外部存储器的能力。
物理上,MCS-51有4个存储器空间:片内程序存储器、片外程序存储器,片内数据存储器、片外数据存储器。
其结构如图2-5所示。
程序存储器程序存储器用来存放编制好的始终保留的固定程序和表格常数。
程序存储器以程序计数器PC作地址指针,用16位的地址总线,地址空间为64KB。
8051单片机内部设置有4KB的ROM(8031无内部ROM),片外可以扩展到64KB的程序存储区,而整个程序存储器的地址空间是统一的。
当引脚(引脚高电平)时,单片机正常运行,片内外统一编址。
片内ROM 地址范围由0000H~0FFFH共4KB;片外ROM地址从1000H~FFFFH,内外共64KB。
当程序计数器PC≤0FFFH时执行片内程序,当PC≥0FFFH时,会自动转向片外程序。
当引脚(引脚低电平)时,只能执行片外ROM的程序。
因此,片外ROM地址从0000H~FFFFH共64KB。
8031单片机无内部程序存储器,故地址从0000H~FFFFH都是外部程序存储器空间,其脚始终接低电平,使系统只从外部程序存储器中取指。
在使用ROM时,下面六个地址单元具有特殊专用功能:0000H单元是程序起始单元。
系统复位后,PC=0000H,程序从0000H单元开始执行;0003H单元是外部中断0入口地址;000BH单元是定时器 T0溢出中断入口地址;0013H单元是外部中断1入口地址;001BH单元是定时器 T1溢出中断入口地址;0023H单元是串行口中断入口地址。
MCS-51单片机存储器结构MCS-51的存储器可分为四类:程序存储器一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。
那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。
程序相当于给微处理器处理问题的一系列命令。
其实程序和数据一样,都是由机器码组成的代码串。
只是程序代码则存放于程序存储器中。
MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。
对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。
强制CPU从外部程序存储器读取程序。
对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。
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个单元是专门用于存放中断处理程序的地址单元,中断响应后,按中断的类型,自动转到各自的中断区去执行程序。
MCS-51单片机存储空间的介绍以及划分
1.前言
MCS-51的存储器有片内RAM、片外RAM 和ROM 三个空间。
MCS-51单片机在物理结构上有四个存储空间
1、片内程序存储器(片内ROM)
2、片外程序存储器(片外ROM)
3、片内数据存储器(片内RAM)
4、片外数据存储器(片外RAM)
在逻辑上(即从用户的角度上)MCS-51单片机有三个存储空间
1、片内外统一编址的64K的程序存储器(ROM)地址空间(MOVC)
2、256B的片内数据存储器(片内RAM)的地址空间(MOV)
3、以及64K片外数据存储器(片外RAM)的地址空间(MOVX)
注:在访问三个不同的逻辑空间时,应采用不同形式的指令以产生不同的存储器空间的选通信号。
2.存储空间划分
2.1 片内RAM
图:片内AM地址空间划分
地址范围是00H到7FH (52系列延伸到FFH),为8位地址,所以最大可寻址的范围为256个单元地址
•00H到1FH
共32字节,分成四个工作寄存器区,每区有寄存器R0~R7。
对此区域,可以使用R0~R7 来操作,代码短捷,但是,只有一个当前工作区是可以这样读写的。
对此区域,也可以使用字节地址,来读写。
•20H-2FH
共16字节,是位寻址区,共有128个“位”,位地址:00~7FH。
此区域,也可按照字节。
MCS-51 单片机的存储器组织结构
特点:哈佛结构,程序存储器与数据存储器分开,两者各有一个相互独
立的64K(0x0000 ~ 0xFFFF)的寻址空间(准确地说,内部数据存储器与外部数据存储器不是一回事)。
程序存储器:
①用于存放程序(可执行的二进制代码映像文件,包括程序中的数据信息),还包括初始化代码等固件。
②为只读存储器。
注意,这里的只读,是指单片机(CPU)在正常工作时对其的访问方式是只读的;而现在大多数单片机的程序存储器(不管是内部还
是外部)都采用了FLASH ROM,来取代以前所用的ROM、E2PROM 等,可方便地进行在线编程(ISP)。
③标准8051 的内部程序存储器大小为4KB(0x0000 ~ 0x0FFF);而具体的
51 核的兼容单片机的内部ROM 大小需要参考其Datasheet,例如
P89C51RA2xx 的内部程序存储器是8K 的Flash。
④内部、外部存储器统一编址,在软件设计上(指令系统中)没有差别;是否使用外部程序存储器是通过引脚EA 在硬件电路上控制的:不使用外部程
序存储器时,EA=0(接地);如果扩展了外部程序存储器,则使EA=1,当寻址
到内部存储空间以外时,会自动转向外部程序存储器空间(与扩展外部程序存。
MCS-51的CPU和存储器CPU结构单片机8051的CPU由运算器和控制器组成。
一、运算器运算器以完成二进制的算术/逻辑运算部件ALU为核心,再加上暂存器TMP、累加器ACC、寄存器B、程序状态标志寄存器PSW及布尔处理器。
累加器ACC是一个八位寄存器,它是CPU中工作最频繁的寄存器。
在进行算术、逻辑运算时,累加器ACC往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。
寄存器B主要用于乘法和除法操作。
标志寄存器PSW也是一个八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。
其每位的具体含意如下所示。
PSWCY AC FO RS1 RS0 OV -P对用户来讲,最关心的是以下四位。
1进位标志CY(PSW7)。
它表示了运算是否有进位(或借位)。
如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0。
2辅助进位标志AC。
又称半进位标志,它反映了两个八位数运算低四位是否有半进位,即低四位相加(或减)有否进位(或借位),如有则AC为1状态,否则为0。
3溢出标志位OV。
MCS-51反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。
4奇偶标志P。
反映累加器ACC内容的奇偶性,如果ACC中的运算结果有偶数个1(如11001100B,其中有4个1),则P为0,否则,P=1。
PSW的其它位,将在以后再介绍。
由于PSW存放程序执行中的状态,故又叫程序状态字?运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)。
其功能在介绍位指令时再说明。
二、控制器控制器是CPU的神经中枢,它包括定时控制逻辑电路、指令寄存器、译码器、地址指针DPTR及程序计数器PC、堆栈指针SP等。
这里程序计数器PC 是由16位寄存器构成的计数器。
要单片机执行一个程序,就必须把该程序按顺序预先装入存储器ROM的某个区域。
单片机动作时应按顺序一条条取出指令来加以执行。
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单片机存储器结构MCS-51的存储器可分为四类:【1】外部程序存储器ROM 【2】外部数据存储器RAM【3】内部程序存储器ROM一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。
那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。
程序相当于给微处理器处理问题的一系列命令。
其实程序和数据一样,都是由机器码组成的代码串。
只是程序代码则存放于程序存储器中。
MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。
【对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。
强制CPU从外部程序存储器读取程序。
】【对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。
】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 串行中断地址区。
MCS-51单片机内部程序存储器ROM结构详解MCS-51 单片机的程序存储器用于存放编好的程序和表格常数。
8051 片内有4 KB 的ROM,8751 片内有4 KB 的EPROM,8031 片内无程序存储器。
MCS-51 的片外最多能扩展64 KB 程序存储器,片内外的ROM 是统一编址的。
如端保持高电平,8051 的程序计数器PC 在0000H~0FFFH 地址范围内(即前4 KB 地址) 是执行片内ROM 中的程序,当PC 在1000H~FFFFH 地址范围时,自动执行片外程序存储器中的程序;当保持低电平时,只能寻址外部程序存储器,片外存储器可以从0000H 开始编址。
MCS-51 的程序存储器中有些单元具有特殊功能,使用时应予以注意。
其中一组特殊单元是0000H~0002H。
系统复位后,(PC)=0000H,单片机从0000H 单元开始取指令执行程序。
如果程序不从0000H 单元开始,应在这三个单元中存放一条无条件转移指令,以便直接转去执行指定的程序。
还有一组特殊单元是0003H~002AH,共40 个单元。
这40 个单元被均匀地分为5 段,作为5 个中断源的中断地址区。
其中:0003H~000AH 外部中断0 中断地址区000BH~0012H 定时/计数器0 中断地址区0013H~001AH 外部中断1 中断地址区001BH~0022H 定时/计数器1 中断地址区0023H~002AH 串行中断地址区中断响应后,按中断种类,自动转到各中断区的首地址去执行程序,因此在中断地址区中理应存放中断服务程序。
但通常情况下,8 个单元难以存下一个完整的中断服务程序,因此通常也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入。
MCS-51单⽚机的硬件结构MCS-51单⽚机的基本组成MCS-51是Intel公司⽣产的⼀个单⽚机系列的总称.在功能上,该系列单⽚机有基本型和增强型两⼤类,通常以芯⽚型号的末位数字来区别。
末位数字位“1”的型号是基本型,为“2”的信号是增强型。
MCS-51单⽚机的内部结构如图所⽰,基本结构包括:⼀个8位的CPU及⽚内振荡器;4KB掩膜ROM(8051),4KB EPROM(8751),⽆ROM(8031);128B RAM,21个特殊功能寄存器SFK;4个(P0~P3)8位并⾏I/O接⼝,⼀个可编程全双⼯通⽤异步串⾏接⼝(UART);具有5个中断源,2个优先级;可寻址64KB 的⽚外ROM和64KB的⽚外RAM;两个16位的定时/计数器;具有位操作功能的布尔处理机及位寻址功能。
MCS-51单⽚机的引脚及其功能MCS-51单⽚机的引脚封装MCS-51单⽚机有普通的HMOS芯⽚和CMOS低功耗芯⽚。
HMOS芯⽚采⽤双列直插封装⽅式,⽽CMOS芯⽚采⽤的封装⽅式有双列直插也有⽅形封装的。
尽管封装的⽅式不同,但是它们的结构完全⼀样。
输⼊/输出接⼝MCS-51单⽚机有4个双向8位I/O接⼝,它们是P0、P1、P2、P3。
在⽆外接存储器时,这4个I/O接⼝均可以作为通⽤I/O接⼝使⽤,CPU既可以对它们进⾏字节操作也可以进⾏位操作。
当外接程序存储器或数据存储器时,P0⼝和P2⼝不再作为通⽤I/O⼝使⽤。
此时,P0⼝传送存储器地址的低8位以及双向的8位数据,P2⼝传送存储器地址的⾼8位。
P0⼝和P2共同组成MCS-51单⽚机的16位地址总线,⽽低8位地址总线与8位双向数据总线分时复⽤。
P0⼝P0⼝有8位,每⼀位由⼀个锁存器、两个三态输⼊缓冲器、控制电路和驱动电路组成。
P0⼝有两种功能,⼀是作为通⽤I/O⼝;⼆是当外接存储器时,作为低8位地址总线和8位双向数据总线。
P0 ⼝作为通⽤I/O ⼝作为通⽤I/O ⼝时,P0 ⼝既可以做输⼊⼝,也可以做输出⼝,并且每⼀位都可以设定为输⼊或输出。
第五讲 MCS-51单片机存储器配置教学方法: 讲授法 教学目的:1、了解特殊功能寄存器名称2、了解单片机位地址空间分配3、掌握MCS-51单片机内部存储器的空间与分配教学重点、难点::单片机内部存储器的空间与分配主要教学内容(提纲):一、MCS-51的存储器结构 二、MCS-51的输入输出结构 三、CPU 的时序 四、单片机的工作过程讲授要点§2-3 MCS-51单片机内存配置一、MCS-51机的内存结构 (如图1所示)0FFFH FFH80H 7FH0000H 00H 0000H程序存储器 内部数据存储器 外部数据存储器图1 MCS-51机的内存结构物理上分为:4个空间,片内ROM、片外ROM片内RAM、片外RAM逻辑上分为;3个空间,程序内存(片内、外)统一编址MOVC数据存储器(片内)MOV数据存储器(片外)MOVX1、程序内存寻址范围:0000H ~ FFFFH 容量64KBEA = 1,寻址内部ROM;EA = 0,寻址外部ROM地址长度:16位作用:存放程序及程序运行时所需的常数。
七个具有特殊含义的单元是:0000H ——系统复位,PC指向此处;0003H ——外部中断0入口000BH ——T0溢出中断入口0013H ——外中断1入口001BH ——T1溢出中断入口0023H ——串口中断入口002BH ——T2溢出中断入口2、内部数据存储器物理上分为两大区:00H ~ 7FH即128B内RAM 和SFR区。
如图2所示。
7F资料缓冲区堆栈区80B工作单元302F位地址:16B00H~7FH 128 可位寻址位201F 3区2区1区32B 4组R0~R7工作寄存器0区图2 内部数据存储器作用:作数据缓冲器用。
二、殊功能寄存器SFR寻址空间:80H ~ FFH ,其中有6个双字节寄存器。
注意PC不在此范围内。
表2-4 P22表中:T2CO;TH2、TL2;RLDH、RLDL属于8032 / 8052。
单片机第2章MCS-51系列单片机的资源配置单片机作为一种集成电路芯片,在现代电子技术领域中发挥着重要作用。
MCS-51 系列单片机是其中应用广泛且具有代表性的一类。
要深入了解和运用 MCS-51 系列单片机,就必须清楚其资源配置。
MCS-51 系列单片机的中央处理器(CPU)是其核心部分。
它负责执行指令、进行运算和控制整个系统的工作。
该 CPU 由运算器和控制器组成。
运算器能够进行算术运算和逻辑运算,而控制器则按照程序的指令顺序,有条不紊地控制单片机的各项操作。
在存储资源方面,MCS-51 系列单片机拥有程序存储器和数据存储器。
程序存储器用于存放用户编写的程序代码,通常采用只读存储器(ROM)。
而数据存储器则用于存储运行过程中的临时数据,一般使用随机存取存储器(RAM)。
程序存储器又分为片内程序存储器和片外程序存储器。
片内程序存储器的容量因具体型号而异,一般为 4KB 或 8KB。
当程序较大,片内存储器无法满足需求时,可以通过扩展片外程序存储器来解决。
数据存储器也分为片内数据存储器和片外数据存储器。
片内数据存储器包括工作寄存器区、位寻址区、用户 RAM 区等。
工作寄存器区可以提高数据处理的速度,位寻址区方便对单个位进行操作,用户 RAM区则用于存放用户自定义的数据。
片外数据存储器的扩展则可以满足更大的数据存储需求。
MCS-51 系列单片机的 I/O 端口是其与外部设备进行信息交换的通道。
它共有 4 个 8 位的并行 I/O 端口,分别为 P0、P1、P2 和 P3 端口。
每个端口都可以作为输入或输出使用。
P0 端口是一个三态双向端口,既可以作为地址/数据总线的低8 位,也可以作为普通的 I/O 端口。
但作为普通 I/O 端口使用时,需要外接上拉电阻。
P1 端口是一个准双向端口,通常作为普通的 I/O 端口使用。
P2 端口既可以作为普通的 I/O 端口,也可以在访问片外存储器时作为高 8 位地址线。