为什么MCS-51单片机的第一条指令要放在ROM的0000H单元

如题所述

因为51单片机复位后PC(程序计数器)的初值为0000H,也就是说复位后程序先执行处于0000H单元的那条指令。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-04
因为0000H是系统复位的入口地址

为什么MCS-51单片机的第一条指令要放在ROM的0000H单元
因为51单片机复位后PC(程序计数器)的初值为0000H,也就是说复位后程序先执行处于0000H单元的那条指令。

MCS-51单片机的主程序应该从哪个单元开始存放,为什么
对于MCS—51单片机,由于定义了6个特殊用途的单元0000H ~ 002AH,若主程序从0000H单元开始,则必须在0003H单元之前存放一条无条件转移指令(LJMP),以便直接转去执行指定的程序。所以一般主程序应从002AH后的某个单元开始存放。再考虑到串行口中断服务程序入口地址0023H ~ 002AH只有8个单元,难以存下...

上电复位后,单片机如何找到需要执行的第一条指令
上电复位后,不同品牌的单片机执行的第一条指令的地址是不同的。如51单片机,复位后,指令指针PC=0000H,即要求你编程的第一条指令放在0000H处。如PIC单片机复位后,指令指针PC=FFFH,即要求你编程的第一条指令放在0000H处。你明白了吗?

请详细说明MCS-51单片机上电后(或复位后)如何开始执行第一条指令。
MCS-51单片机上电后(或复位后),首先开始初始化各个寄存器。PC寄存器设置为0000H,于是,程序从0000H开始执行第一条指令。

单片机都是从0000H开始执行指令的吗?
是的,51单片机复位后从0000H单元的指令开始执行。因此如果你的真实第一条指令在1000H,那么需要在0000H处放一条跳转指令,跳转到1000H.ORG 0000H LJMP MAIN ORG 1000H MAIN:

怎样确定MCS-51单片机复位后是从片内还是片外执行程序
当EA\/VPP引脚接地(低电平)时,只执行片外ROM程序。当EA\/VPP引脚接VCC(高电平)时,如果自带EEPROM则从片内ROM0000H开始执行,直到片内存储区用完接着在片外存储区执行程序。

怎么去让单片机运行
51单片机还是要从0000H单元去取第一条指令的。如果0000H~7FFFH各单元中都是00H(NOP的代码)或FFH,那么依次执行完后,最终是会执行到你的程序的,只是比正常多花费了32768个机器周期。如果0000H~7FFFH中,没有擦净,并含有转移指令,那么何时执行到8000H,就不一定了。

列出MCS-51单片机的存贮空间,并指明每个空间的地址范围?
1. 程序存储器 MCS-51单片机内置4KB的程序存储空间,地址范围从0000H至0FFFH。特殊的是,0000H至0002H单元在系统复位后用于存储程序计数器(PC)的初始值,以及执行第一条指令的地址。若程序不是从0000H单元开始,通常在这三个单元中放置一条无条件转移指令,以确保CPU能够直接跳转到用户编写的程序起点...

MCS-51单片机复位后,CPU从程序存储器的哪一个单元开始执行程序?_百度...
PC=0000H,从ROM的第一个字节单元开始执行。

单片机存储器的程序存储器
2、程序存储器中的特殊单元MCS-51程序存储器中,有6个存储单元具有特殊用途。0000H单元为系统启动地址。MCS-51单片机启动复位后,程序计数器(PC)的内容为0000H,所以系统将从0000H单元取指令,并开始执行程序。程序设计时一般在该地址存放一条绝对跳转指令,转入主程序的入口地址。另外0003H一002AH日被均匀...

相似回答