51单片机程序在存储器中的存储问题

51单片机程序一般要从地址0030H开始往下执行,是不是就是说在使用烧录器烧录程序后从0000H-0030H这一段就没有写入我们编写的程序代码(不使用中断)?或者换个说法... 51单片机程序一般要从地址0030H开始往下执行,是不是就是说在使用烧录器烧录程序后从0000H-0030H这一段就没有写入我们编写的程序代码(不使用中断)?或者换个说法就是如果使用外部的程序存储器,那麽其地址空间至少要大于0030H ?
希望能够详细说明,请勿将书本上的照搬
我的意思是说你写的程序在存储器中的存储位置是不是按照程序中安排的地址烧录到对应的地址中的?例如下列程序
ORG 0040H
SJMP INIT
ORG 0050H
INIT:SETB EA
程序中的SJMP INIT语句代码是否烧录在存储器中的0040H单元中,SETB EA语句是否烧录在存储器的0050H中,还是这两条语句是按顺序依次烧录在存储器中的? 请详细说明!
展开
 我来答
jaky567
2010-06-11 · TA获得超过292个赞
知道小有建树答主
回答量:110
采纳率:100%
帮助的人:69.5万
展开全部
ORG 0040H
SJMP INIT
ORG 0050H
INIT:SETB EA
程序中的SJMP INIT语句代码是否烧录在存储器中的0040H单元中,SETB EA语句是否烧录在存储器的0050H中,还是这两条语句是按顺序依次烧录在存储器中的?

回答你的,是的!!!

你ORG哪里,它就存哪里。。

实际上,你不用中断。程序可以直接写。不用写ORG 。。程序可以直接从最前端存入。。
实际上,只有当程序执行到SETB EA ,(中断开关ON时,)单片机才会在中断条件OK时跳到那几个中断专用地址:000B 0023等。。。。
没有中断时,程序自然不会从半中间往那儿跳回。。所以没有中断那儿几个专用地址可以当正常地址存入。。。 程序也是从最前端开始逐步运行。。
忧明00
2010-06-09 · TA获得超过400个赞
知道小有建树答主
回答量:418
采纳率:0%
帮助的人:275万
展开全部
是不推荐把非中断程序写在这一段地址吧,怕程序在很意外的情况下进中断程序(本身没有设计中断程序);
不大于0030的话这么短的程序有什么用呢?谁会设计这么小空间的芯片啊?没有人要的啊!非这么短有什么意义呢?便宜?芯片本省能便宜多少啊,芯片的封装、测试这些步骤都还是要的啊。
下面这程序就够短,有什么意义呢:
ORG 0000H
START:AJMP START
END
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaomage_2000
2010-06-10 · TA获得超过3620个赞
知道大有可为答主
回答量:1772
采纳率:100%
帮助的人:822万
展开全部
51单片机之所以跳开00~30H程序空间主要原因就是为了避开中断区,
其中00H为上电和系统复位后的程序地址指针,然后一般用一个长跳转指令跳到30以后的程序区,(当然如果你一共就几句或十几句的流水灯啊之类的简单程序直接在0000H处写也无所谓。)
03H外部中断0入口,0BH定时器0入口,13H外部中断1入口,1BH定时器1入口
23H串口中断入口,2BH定时器2入口(仅52系列有定时器2)
如果使用的外部程序存储器,一般都是以KB为单位,没有以B为单位的,使用不用考虑这些~而且现在51单片机基本上都是内部带最少1K的程序存储器~有的甚至
达128KB所以,现在外部扩展程序存储器的已经几乎没有了~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式