位数据(bit):位寻址区,地址范围20H~2FH,共16字节,提供128位存储,位地址从00H到7FH,连续分布。 特殊功能寄存器(sbit):地址范围80H~FFH,不包括所有特殊功能寄存器位,只有那些能被8整除的特殊功能寄存器位可以被称为sbit,位地址分布不连续。
既然是数据存储器,当然要用到读和写,即存储数据和取出数据,完成这两项任务,就要用到RD(读)和WR(写)。而且还要用到ALE(地址锁存),这都是必须的,不然数据总线和地址总线就没法分了,因为地址总线的低八位和数据总线是复用的。
EPROM,是紫外线擦除的只读存储器。擦除的时候,需要使用“擦除器”,内有紫外线灯,照射15分钟左右即可。写入的时候,需要使用“写入器”,又称为编程器。擦除和写入,都需要把芯片从电路板上拔下来,擦除和写入后,再插到电路板上。
一般来说,P0口进行数据存储器、程序存储器扩展,必须加锁存器。p0口做IO口时,如果各个IO口在时序上不发生冲突,可以不加锁存器。如果有冲突,就要加。参考答案:用8255扩展IO,书上用了373锁存,但是我想可不可以这样:P0不锁存,而是用P2口的随便两个引脚直接连8255的地址引脚。
内部数据存储器RAM在物理上被划分为三个主要区域:00H至1FH的片内RAM区域、20H至7FH的扩展RAM区域以及80H至FFH的特殊功能寄存器(SFR)区域。片内RAM区域包含了64个地址单元,扩展RAM区域包含了128个地址单元,而特殊功能寄存器区域占据了128个地址单元。
内部数据存储器RAM 物理上分为两大区:00H ~ 7FH即128B内RAM 和 SFR区。数据存储器空间(低128单元);特殊功能寄存器空间(高128单元);这两个空间是相连的,从用户角度而言,低128单元才是真正的数据存储器。
C51内RAM可以分成三个物理空间:工作寄存器区、位寻址区和数据缓冲区。1)工作寄存器区:00H~1FH共32字节。工作寄存器是80C51的重要寄存器,指令系统中有专用于工作寄存器操作的指令,读写速度比一般内RAM要快,指令字节比一般直接寻址指令要短,另外工作寄存器还具有间址功能,能给编程和应用带来方便。
C51是一种经典的8位单片机,其RAM主要分为三个部分:内部RAM、扩展RAM和SFR(特殊功能寄存器)。内部RAM80C51单片机内部集成了128字节的RAM,可以用于程序存储、数据存储和堆栈存储等。内部RAM的特点是速度快、可读可写,但容量有限。
堆栈区及堆栈指示区 堆栈是在片内RAM中数据先进后出的一个存储区域。堆栈指针SP是存放当前堆栈栈顶所对应的存储单元地址的一个8位寄存器。系统复位后SP为07H,而07H一般是寄存器区,所以,一般可以通过对SP赋值,可以使堆栈区设定在RAM中的某一区域,但堆栈的深度以不超过片内RAM区空间为限。
AT89s52片内用户使用RAM为256字节,地址范围00~ffh。低128字节RAM根据存储器用途,分为三部分。00h~1fh为通用工作寄存器区 20h~2fh为位寻址区 30h~7fh为用户RAM区 通用工作寄存器 80c51工作寄存器共分为4组,每组由8个工作寄存器R0~R7组成,共占用32个单元。
扩展片外存储器,使用的是三总线结构,即AB、DB和CB。楼主仅仅说出了16位地址线和8位数据线,这只是AB和DB。另外的控制总线(CB)如下:扩展程序存储器,使用PSEN引线,来控制对其读出;扩展数据存储器,使用RD和WR引线,来控制对其读写。因为控制总线不同,所以不发生冲突。
MCS-51中,程序存储器通过16位程序计数器(PC)寻址,具有64KB寻址能力,也即可以在64KB的地址空间任意寻址。其中,具有4KB片内程序存储器空间,地址为000H-0FFFH(注:8031无片内程序存储器);片外程序存储器空间最大可扩展到64KB,地址为0000H-FFFFH,片内、外统一编址。
因为51单片机的数据指针DPTR是16位的,程序计数器PC也是16位的,所以地址就是16位的!存储器的数据宽度是8位的,就是一个字节。MOV A #2200H这条指令是严重错误的,51单片机是8位单片机,其中一次能处理的数据是8位的,而你赋值是16位,那就大错特错了。同样 MOV R0 #2200H也是严重错误的。
程序存储器(Program Memory):MCS-51 单片机的程序代码存储在此区域,通常称为代码存储器或 Flash 存储器。其容量可从 4KB 扩展至 64KB 或更多,取决于是否使用了额外的扩展芯片。 数据存储器(Data Memory):这一区域用于存储程序执行过程中的数据、变量以及寄存器值,被称作 RAM 存储器。
1、单片机的系统扩展主要有程序存储器(ROM)扩展,数据存储器(RAM)扩展以及I/O口的扩展。外扩的程序存储器与单片机内部的程序存储器统一编址,采用相同的指令,常用芯片有EPROM和EEPROM,扩展时P0口分时地作为数据线和低位地址线,需要锁存器芯片,控制线主要有ALE、。
2、单片机系统扩展主要分为并行扩展的两种类型。首先,是采用三总线方式进行的并行总线扩展。MCS-51系列单片机的片外引脚支持构建如图所示的三总线结构:地址总线(AB)、数据总线(DB)和控制总线(CB)。所有外部芯片通过这三组总线进行连接,以实现数据和交互信息的传输。
3、单片机系统的扩展,包括c和接口扩展两大部分内容。存储器的扩展是指EPROM、EEPROM和RAM的扩展;接口扩展是指8258158279以及其他功能器件的扩展。
4、如果单片机系统原有的资源不够充足、不能满足应用所需的要求,那么就需要进行存储器的扩展。可能需要扩展片外的程序存储器,也可能需要扩展片外的数据存储器,某些情况下还需要结合软件进行更复杂的存储器接口扩展(例如大容量的SPI Flash或者走SPI子协议的SD卡等等)。
5、应用系统开发具有特殊性。(2) 8031是片内无程序存储器的单片机芯片,因 是片内无程序存储器的单片机芯片, 是片内无程序存储器的单片机芯片 其最小应用系统应在片外扩展EPROM。 此,其最小应用系统应在片外扩展 。 图为用8031外接程序存储器构成的最小系统。 外接程序存储器构成的最小系统。
6、单片机系统扩展时,作为高8位地址线的是P2口。因为当单片机外部扩展存储器一般要采用总线扩展,P0口将作为总线的低8位地址线和8位数据线使用,P2口将作为总线的高8位地址线使用。所以单片机系统扩展时,作为高8位地址线的是P2口。数据总线是P0口,共8位。
读写 在单片机系统中,数据存储器用于存放可随时修改的数据。数据存储器扩展使用随机存储器芯片,随机存储器简称RAM。对RAM可以进行读/写两种操作,但RAM是易失性存储器,断电后所存信息消失。按其工作方式,RAM又分为静态和动态两种。
答案是用指令,如果是直接寻址,那么访问的就是SFR,如果是R0或者R1间接寻址,就是内部高128位RAM,如果是DPTR或者是R0,R1间接寻址,且配合的是MovX指令,那么就是访问外部64KRAM中的第80H个地址。
单片机自身一般只是带一种程序存储器,或者是EEPROM,或者是FLASH。无论带的什么类型的程序存储器,都是来保存程序的。“下载”的时候,把程序代码写入程序存储器;“运行”的时候,CPU从程序存储器取出代码来执行。程序存储器就是这么用。
单片机内部RAM中低128字节的20H~2FH共16个字节可以用位寻址方式访问其各位。共128个位地址为00H~7FH。假设位地址为48H,那么单元地址=48H/8+20H=29H。特殊功能寄存区中有的可以位寻址,用查表法,就可以得到,例如90H,查表得到,对应的字节地址为90H。