标题: 关于51单片机,keil调试汇编程序时必须org0000h才可以单步走。 [打印本页]

作者: zjjhtony    时间: 2015-1-19 12:02
第一、每一个程序都是从0000H开始执行的。单片机上电或复位都会从0000H开始执行。
第二、org 0000h
         ljmp  main
        org 00bh
         ljmp ser
         org 0030h      ;这一句在汇编中是需要加的。说明主程序main是从0030开始。
main:省略
ser:省略

作者: admin    时间: 2015-1-19 14:23
因为单片机复位 pc 便会指向0000h ,所以设置成org0004h程序还是从0000h来执行。只不过在下面要多一个跳转,另外在中断向量区不能放置无关内容 不然整个程序就会乱套。。关于此问题的详细解释详见51hei的一篇文章:http://www.51hei.com/bbs/dpj-30671-1.html       为了更好的使用 51hei论坛 楼主最好是完善一下个人资料。
作者: admin    时间: 2015-1-20 13:44
主程序的位置必须要加以说明,因为如果不说明的话,有可能费覆盖中断向量区,但是如果你把每一个中断向量的位置都声明了一下。主程序的位置就不用在声明了。这样他就,无法覆盖中断,向量区了
作者: admin    时间: 2015-1-20 13:45
所以我还是建议楼主是用c语言来写程序吧,在c语言里面这些操作都是自动进行的。可以大大的提高效率。汇编语言真的很麻烦。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1