位置:51电子网 » 技术资料 » 测试测量

初学单片机之二(存储器)

发布时间:2008/5/27 0:00:00 访问次数:523

        

    

     存储器分程序存储器(rom)和数据存储器(ram),他们两者最本质的区别就是断电rom信息保存,而rem信息丢失。在单片器中他们俩都起着至关重要的作用。

     rom用于保存程序,重要的常数,表等。mcs-51(8051)中内部rom是4k,有时做一些大型开发时是不够的。可以扩展到64k。扩展的部分叫外部存储器。内,外部存储器在物理上是独立的,在逻辑上分开的,简单的讲就是统一编址。单片机取指令时是按具体地址操作,对其控制通过ea([一]讲了)。单片机每次启动执行程序是都是从地址0000h开始,一般编制程序时都是在此放一跳转指令指定他到另一个地址块去执行。(rom还有几个特殊的功能单元,如:0003h。这里就不细讲了,具体了解可以参考孙涵芳编的书。)数据存储器ram有叫随机存储器,是用来存放一些临时的数据的。她的功能比rom要复杂的多。首先我们了解一下她的结构。她的大小是128b,要注意,有的书上写的是256b,把她和特殊功能寄存器sfr合在一起讲的(因为他们在物理上是同一块),这里我们把他们分开来讲。对于rom,一旦把程序写入,没有特别的情况一般不做改动。ram就不同了,她经常要读出,写入,这就注定了她的结构管理要清楚。就象你买来一个书柜,你经常要放书进去和拿出来看,所以你就会规定这层放计算机书,那层放小说,这样查越起来比较方便。单片机道理也是一样,mcs-51(8051)规定0000h-001fh(32b)为四个通用寄存区,每个区包含8个寄存器,助记符为r0,r1,。。。,r7,用来存放地址做为寻址用。具体要用那个区有状态寄存器的rs0,rs1来指定,00-1区,01-2区,10-3区,11-4区。0020h-002fh为位空间,他的每一位都有具体的地址,可以用命令对其操作(以后再讲)。0030h-007fh为数据缓冲区,也就是通常说的数据存储区,编程时经常在这开辟堆栈。

     --------------------------------

     来源:不详

     作者:不详

    

    

    

        

    

     存储器分程序存储器(rom)和数据存储器(ram),他们两者最本质的区别就是断电rom信息保存,而rem信息丢失。在单片器中他们俩都起着至关重要的作用。

     rom用于保存程序,重要的常数,表等。mcs-51(8051)中内部rom是4k,有时做一些大型开发时是不够的。可以扩展到64k。扩展的部分叫外部存储器。内,外部存储器在物理上是独立的,在逻辑上分开的,简单的讲就是统一编址。单片机取指令时是按具体地址操作,对其控制通过ea([一]讲了)。单片机每次启动执行程序是都是从地址0000h开始,一般编制程序时都是在此放一跳转指令指定他到另一个地址块去执行。(rom还有几个特殊的功能单元,如:0003h。这里就不细讲了,具体了解可以参考孙涵芳编的书。)数据存储器ram有叫随机存储器,是用来存放一些临时的数据的。她的功能比rom要复杂的多。首先我们了解一下她的结构。她的大小是128b,要注意,有的书上写的是256b,把她和特殊功能寄存器sfr合在一起讲的(因为他们在物理上是同一块),这里我们把他们分开来讲。对于rom,一旦把程序写入,没有特别的情况一般不做改动。ram就不同了,她经常要读出,写入,这就注定了她的结构管理要清楚。就象你买来一个书柜,你经常要放书进去和拿出来看,所以你就会规定这层放计算机书,那层放小说,这样查越起来比较方便。单片机道理也是一样,mcs-51(8051)规定0000h-001fh(32b)为四个通用寄存区,每个区包含8个寄存器,助记符为r0,r1,。。。,r7,用来存放地址做为寻址用。具体要用那个区有状态寄存器的rs0,rs1来指定,00-1区,01-2区,10-3区,11-4区。0020h-002fh为位空间,他的每一位都有具体的地址,可以用命令对其操作(以后再讲)。0030h-007fh为数据缓冲区,也就是通常说的数据存储区,编程时经常在这开辟堆栈。

     --------------------------------

     来源:不详

     作者:不详

    

    

    

相关IC型号

热门点击

 

推荐技术资料

音频变压器DIY
    笔者在本刊今年第六期上着重介绍了“四夹三”音频变压器的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!