程序存储器用于存放编制好的程序和表格常数。程序存储器通过16位程序计数器pc寻址,寻址能力为64kb。这使得指令能在64kb地址空间内任意跳转,但不能使程序从程序存储器空间转移到数据存储器空间。
mcs-51系列单片机片内程序存储器rom/eprom的容量为4kb,地址为0000h~0fffh。最多可扩至64kb。片内外统一编址,即地址范围为0000h~ffffh,共64kb。其中,低段为4kb(0000h~0fffh),在片内;高段为60kb(1000h~ffffh),在片外。
64kb容量中有一小段范围是mcs51系列单片机的系统专用单元,即0003h~0023h,它们是5个中断源中断服务程序入口地址,用户不能安排其他内容。
如图2-3所示,程序存储器rom包括一个片内程序存储器和一个片外程序存储器可寻址空间。
图2-3 程序存储器配置
当引脚接高电平时,mcs51系列单片机的程序计数器pc在0000h~0fffh范围内(即前4kb地址)执行片内rom中的程序;当指令地址超过0fffh后,就自动转向片外rom中去取指令。(www.xing528.com)
当引脚接低电平(接地)时,mcs51系列单片机片内rom不起作用,cpu只能从片外rom/eprom中取指令,地址可以从0000h开始编址。这种接法特别适用于采用8031单片机的场合。由于8031片内不带rom,所以使用时必须使=0,以便能够从片外扩展eprom中取指令。
在程序存储器中,有7个特殊的地址,见表22。
表2-2 程序存储器的7个特殊地址
0000h地址是单片机复位时的pc值,从0000h开始执行程序。其他6个地址是单片机响应不同的中断时,所跳向对应的入口地址。表2-2也称为中断向量表或称中断向量。在写程序时,不要占用这6个中断向量地址。一般在0000h地址只写一条跳转指令,从0030h开始写主程序,如
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。