1、单片机上电后程序从0000H开始执行。
2、如果是用C51编程,不用指定语句的地址。编译后编译器会给你自动安排地址。
3、如果用汇编语言编程,应该指定第一条语句的地址是0000H,然后在0000H处写一条跳转指令,跳到你的主程序处。
4、至于startup.a51中的内容,不同的编译器应该不一样,但和你的程序制定的第一条语句的地址是0000H不会矛盾。
5、编译后产生的.HEX文件代码,在烧写时要从0000H地址开始烧写。
startup.a51只不过是帮助启动单片机,也就是相当于对单片机执行一些简单的初始化,单片机开始执行的时候是从地址0000H开始的,你编写的程序不可能存放在0000H的地址,51单片机的前多少个地址要求保留的,存放一些中断向量;芯片资料上有,如果没记错的话应该是下面这样
ORG 0000H
JUMP main
ORG 0100H
.................程序
单片机上电后程序从0000H开始执行