程序存储器用于存储程序代码。
它是一系列控制计算机操作的命令。
微控制器仅识别由“0”组成的机器指令。
和“1”。
码。
在上述助记符中写入的命令MOV A,#20H由机器识别的代码74H,20H代替:(写为二进制是01110100B和00100000B)。
在MCU处理问题之前,必须将编程的程序,表和常量组装到机器代码中并存储在MCU的存储器中。
内存称为程序内存。
程序存储器可以放在片内或片外,也可以在片内同时设置。
由于PC程序计数器为16位,程序存储器可以与16位二进制地址一起使用,因此内部和外部存储器的地址可以高达0000H至FFFFH。
8051内部有4k字节的ROM,占用从0000H到0FFFH的最低4k字节。
此时,片外扩展的程序存储器地址编号应从1000H开始。
如果8051用作8031,则不需要使用片上4kROM。
,全部使用片外存储器,地址编号仍然可以从0000H开始。
但是,此时,8051的{31}引脚(即EA引脚)应保持低电平。
当EA为高电平时,用户使用0000H至0FFFH范围内的内部ROM。
大于0FFFH后,微控制器CPU自动访问外部程序存储器。
组成微控制器的数据存储器包括一个读写存储器RAM。
简介其最大容量可扩展至64k,以实时存储数据输入。
8051具有256个单元的内部数据存储器,其中00H至7FH是内部随机存取存储器RAM,80H至FFH是专用寄存器区域。
在实际使用中,您应该充分利用内部存储器。
从使用角度来看,了解内部数据存储器的结构和地址分配非常重要。
因为它们将来会经常用于学习指令系统和编程。
8051内部数据存储器地址从00H到FFH总共有256字节的地址空间。
该空间分为两部分,其中内部数据RAM的地址是00H至7FH(即0至127)。
用作特殊功能寄存器的地址是80H到FFH。
在这256个字节中,还有一个所谓的“位地址”。
区域,不仅可以通过字节寻址,还可以通过“位”寻址。
对于那些需要进行位操作的数据,可以将其存储在该区域中。
从00H到1FH排列四组工作寄存器,每组占用8个RAM字节,记录为R0到R7。
选择哪组寄存器由上述标志寄存器中的RS1和RS0选择。
可以通过在这两个位上放置不同的二进制数来选择不同的寄存器号。
特殊功能寄存器(SFR)的地址范围为80H~FFH。
在MCS-51中,除程序计数器PC和四个工作寄存器区域外,其余21个特殊功能寄存器位于该SFR块中。
其中五个是双字节寄存器,总共占用26个字节。
特殊功能寄存器的符号和地址如附表所示。
其中,位可寻址*。
特殊功能寄存器反映8051的状态,实际上是8051状态字和控制字寄存器。
一个典型的例子是CPU PSW。
分类这些特殊功能寄存器大致分为两类,一类用于芯片引脚,另一类用于控制片上功能。
与芯片引脚相关的特殊功能寄存器是P0至P3,实际上是4个8位锁存器(每个I / O端口一个),每个锁存器都带有相应的输出驱动器和输入缓冲器。
它构成一个并行端口。
MCS-51有四个P0到P3的并行端口,可以提供32个I / O线。
每一行都是双向的,并具有第二个功能。
其余的功能包括芯片控制,累加器A的功能,标志寄存器PSW,数据指针DPTR等,其他寄存器的功能在相关章节中有进一步的描述。