51单片机——存储器

一、什么是单片机?

简单地说,单片机(MCU)就是将计算机的主要组成部分集合在一块芯片上的微型计算机,也叫做微处理器

就是含有中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、中断系统、定时器/计时器以及一些I/O口电路集成在一块芯片上的微型计算机

51单片机:只是一个统称,表示的是一系列,即兼容Intel的MCS-51体系架构的一系列单片机

二、单片机三大内部资源

1、Flash闪存(程序存储空间)

2、RAM(随机存储器)

3、SFR(special function register 特殊功能存储器)

那么这些东西又是什么?

可以看到Flash也是内存储器的一种

非易失性存储器ROM(Read One Memory):

       只读存储器 不能写入数据,但能随便读取数据,为什么是非易失性,因为它即使断电其内部数据也不会丢失,也就是说我们在编程器中写下指令到单片机内部,即使重新按下单片机的电源开关,单片机依旧能够执行这条命令,就说明这条指令即使断电也依旧可以被存储在单片机内部的某个地方,而这个地方就是单片机内部的只读存储器ROM。

易失性存储器RAM:

        随机存储器  与CPU直接交换数据的内部存储器,也叫内存用来存储单片机程序运行过程中产生的和所需要的数据。

它可以随时读和写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介,当电源关闭时RAM不能保留数据。RAM可以进一步分为静态RAM(SRAM)和动态RAM(DRAM)两大类。

我们常说的内存泄漏和内存溢出,它其实也都是发生在RAM中的。

总的来说:ROM相当于电脑硬盘,RAM相当于电脑的运行内存,在运行时进行内存的空间分配,和手机一样,如果内存空间小了就容易出现卡机的情况,在单片机中用来储存程序中用到的变量。

1. 静态RAM(Static RAM/SRAM)
SRAM速度非常快,不需要刷新电路即能保存数据,也就是只要不断电就可以一直保持数据,静态也体现在这里,是目前读写最快的存储设备了,但是集成度较低,非常昂贵。

2. 动态RAM(Dynamic RAM/DRAM)
DRAM保留数据的时间很短(需要刷新电路,每隔一段时间刷新一次,否则数据会消失),速度要比SRAM慢,不过还是比ROM要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。

Flash闪存

1、什么是flash闪存?

Flash是ROM的一种,可以重复擦写的程序存储器,也就是我们在使用单片机时所编写的程序就是被烧录到Flash里面,它结合了ROM和RAM的优点,可电擦除、可编程(EEPROM)、断电不会丢失数据、同时可以快速读取数据,U盘和MP3里用的就是这种存储器。

2、分类?

目前Flash主要有两种Nor FlashNand Flash

(1)Nor Flash:

用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。Nor FLASH数据线和地址线分开,可以实现RAM一样的随机寻址功能,可以读取任何一个字节,但是擦除仍要按块来擦。

(2)Nand Flash:

没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512 Byte,采用这种技术的Flash比较廉价。NAND FLASH同样是按块擦除,但是数据线和地址线复用,不能利用地址线随机寻址。读取只能按页来读取。

SFR——特殊功能寄存器

我们知道单片机有很多功能,而每个功能都对应一个或多个SFR,我们就是通过写程序控制SFR的读写进而来实现我们所需要的单片机实现的功能。

内存(存储器)工作原理:

        内存(存储器)是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即 DRAM ),动态内存中所谓的"动态"指的是当我们将数据写入 DRAM 后,经过一段时间,数据会丢失,因此需要一个额外的外设电路进行内存刷新操作。

具体的工作过程是这样的:一个 DRAM 的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的

也就是说存储器是用来放数据的,怎么存放?就是利用电平的高低进行存放,包括我们单片机前面的几个实验,点灯、流水灯、矩阵按键.....都是利用电平的高低来进行控制和实现,这样子看计算机也并不难。而1个存储器里面又分为不同的小空间,每个小空间里面又有8个小盒子,如下图所示,这个小盒子就是用来存放电荷的,我们也称这个小盒子叫做“单元”,而电荷的传入和释放是通过电线实现的,接下来我们就简单介绍一下数据存储的单元有哪几种。

三、数据存储单位

b (bit)位,计算机中最小的数据单位,只能表示两种状态,0或者1。在单片机中通常用于表示二          进制,并用于表示计算机中的开关、状态等。这就是我们上面所说的“单元”。

B (byte): 字节,通常用于表示字符、整数、浮点数等数据。1个字节等于8位,可以表示256种状                    态。在单片机中,字节才是存储和处理数据的基本单位。这就是我们所说的“小空间”

此外还有:KB(千字节)、MB(兆字节)、GB(吉字节)、TB(太字节)等数据单位,存在以下关系:1KB = 1024 B   1MB = 1024 KB    1GB = 1024 MB   1TB = 1024 GB

Kb : 千比特 ,是计算机中用于表示数据传输速率的单位。1Kb 等于1024 比特每秒,在单片机中             Kb用于表示数据传输速率,如串口通信等。

Mb : 兆比特,1Mb = 1024 Kb ,即1024*1024比特每秒。在单片机中,Mb用于表示较高的数据传输速率,如以太网通信等

注意:在51单片机中 b 、B、KB、MB、GB、TB都是表示数据存储单位

           而Kb  、 Mb都是表示数据传输速率单位

前面说了,电荷的释放与传入是通过电线来实现,但是如果一个单元对应一条控制线,而一片27512存储器中有65536个单元,把每根线都引出来,这个集成电路就得有6万多条线,这个线也就是我们单片机中所说的引脚,一个单片机需要那么多甚至更多的引脚?因此我们就需要减少线(引脚)

存储器译码

还记得矩阵按键和独立按键的区别吗?独立按键是通过一对一辅导,而矩阵按键是通过行列分别进行控制,十字交叉就能控制哪一个矩阵按键按下,也就是一根线控制4个按键(4种状态),这种一根线可以控制多种状态,这种减少引脚的办法我们称为译码

四、单片机存储器结构

RAM分布

      51 单片机的 RAM 分为两个部分,一块是片内 RAM,一块是片外 RAM。标准 51 的片内 RAM 地址 从 0x00H~0x7F 共 128 个字节,而现在我们用的 51 系列的单片机都是带扩展片内 RAM 的,即 RAM 是从 0x00~0xFF 共 256 个字节。片外 RAM 最大可以扩展到 0x0000~0xFFFF 共 64K 字 节。还有一点,片内和片外这两个名词来自于早期的 51 单片机,分别指在 芯片内部和芯片外部,但现在几乎所有的 51 单片机芯片内部都是集成了片外 RAM 的,而真正的芯 片外扩展则很少用到了,虽然它还叫片外 RAM,但实际上它现在也是在单片机芯片内部的.但是单片机的这 512 字节的 RAM在地位上并不都是平等的,而是分块的,块与块之间在物理结构和 用法上都是有区别的,因此我们在使用的时候,也要注意一些问题。

在C51单片机中,RAM空间使用了8根地址线,每根地址线都只能输出0或者1两种状态,因此可以输出2^8 = 256种状态。也就是说可以寻址256个空间。在存储器中,每个空间对应1B,进而又可以把这256B平分为 两大区域:128个特殊功能寄存器SFR和128个用户数据区

而细分的话,51单片机RAM总共可以分为四个区域(如上图所示):

1.工作寄存器区(00H~1FH)

2.位寻址区(20H~2FH)

3.用户RAM区(30H~7FH)

4.特殊功能寄存器(80H~FFH)

其中1.2.3处于RAM低128单元,4处于高128单元

 工作寄存器区
单片机在工作时需要处理很多数据,有些数据要用来运算,有些要反复调用,有些要用来比较校验等,在处理这些数据时需要有地方能暂时存放这些数据,单片机提供暂存数据的地方就是工作寄存器。

位寻址区

      位寻址区就是可以 以bit为单位,进行访问 这是C51的特点单片机的内部数据存储器RAM的低128单元中有一个区域叫位寻址区。它的单元地址是20H-2FH。共有16个单元,一个单元是8位,所以位寻址区共有128位。这128位都单独有一个位地址,其位地址的名字就是00H-7FH。

  • 21
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值