程序存储器主要用于存放程序代码及程序中用到的常数。保存在ROM中的程序不会因单片机断电而丢失。
MCS-51系列单片机的程序计数器PC是16位的计数器,所以能寻址64KB(216)的程序存储器地址范围,允许用户程序调用或转向64KB的任何存储单元。
MCS-51单片机的引脚为访问片内或片外程序存储器的选择端。
1.引脚接高电平
引脚接高电平时,对于基本型单片机(片内有4KB的程序存储器),CPU首先在片内程序存储器中取指令,当指令地址超过0FFFH时,自动转向片外ROM中去取指令。外部程序存储器从1000H开始编址。如图2.6所示:
图2.6 EA引脚接高电平
如果是增强型单片机,(片内有8KB的程序存储器),CPU首先在片内程序存储器中取指令,当指令地址超过1FFFH时,自动转向片外ROM中去取指令。
2.引脚接低电平
引脚接低电平(接地)时,CPU只能访问外部程序存储器(无论片内是否有程序存储器)。对于8031单片机,由于其内部无程序存储器,只能采用这种接法。外部程序存储器的地址从0000H开始编址,如图2.7所示。
51单片机的程序存储器中,有6个特殊地址单元是系统专为复位和中断功能而设计的。其中0000H为程序的首地址、单片机复位后将从这个单元开始运行。一般在该单元存放一条转移指令以跳转到用户设计的主程序。(www.xing528.com)
其余5个特殊单元分别对应5个中断源的中断服务入口地址:
·0003H:外部中断0的中断服务程序入口地址;
·000BH:定时/计数器0溢出中断服务程序入口地址;
图2.7 引脚接低电平
·0013H:外部中断1的中断服务程序入口地址;
·001BH:定时/计数器1溢出中断服务程序入口地址;
·0023H:串行接口的中断服务程序入口地址。
具体介绍见本书第5.2.2节。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。