单片机上电后程序从哪开始执行
startup.a51中的内容会在编译时自动加载吗?那这部分内容编译产生的代码在单片机里是从0000H开始写入的吗?如果我的程序制定了第一条语句的地址也是0000H会矛盾...
startup.a51中的内容会在编译时自动加载吗?那这部分内容编译产生的代码在单片机里是从0000H开始写入的吗? 如果我的程序制定了第一条语句的地址也是0000H会矛盾吗?
展开
展开全部
1、单片机上电后程序从0000H开始执行。
2、如果是用C51编程,不用指定语句的地址。编译后编译器会给你自动安排地址。
3、如果用汇编语言编程,应该指定第一条语句的地址是0000H,然后在0000H处写一条跳转指令,跳到你的主程序处。
4、至于startup.a51中的内容,不同的编译器应该不一样,但和你的程序制定的第一条语句的地址是0000H不会矛盾。
5、编译后产生的.HEX文件代码,在烧写时要从0000H地址开始烧写。
2、如果是用C51编程,不用指定语句的地址。编译后编译器会给你自动安排地址。
3、如果用汇编语言编程,应该指定第一条语句的地址是0000H,然后在0000H处写一条跳转指令,跳到你的主程序处。
4、至于startup.a51中的内容,不同的编译器应该不一样,但和你的程序制定的第一条语句的地址是0000H不会矛盾。
5、编译后产生的.HEX文件代码,在烧写时要从0000H地址开始烧写。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
startup.a51只不过是帮助启动单片机,也就是相当于对单片机执行一些简单的初始化,单片机开始执行的时候是从地址0000H开始的,你编写的程序不可能存放在0000H的地址,51单片机的前多少个地址要求保留的,存放一些中断向量;芯片资料上有,如果没记错的话应该是下面这样
ORG 0000H
JUMP main
ORG 0100H
.................程序
ORG 0000H
JUMP main
ORG 0100H
.................程序
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单片机上电后程序从0000H开始执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询