找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机伪指令ORG的问题

查看数: 3117 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-5-18 02:17

正文摘要:

在做题的时候,师傅给的单片机程序开始地址是0100H,在我实际操作过后,发现如果从0100H开始,LED灯会一直亮着,不会有任何反应 但是如果从0000H开始,则会正常执行。我百度了一很多,但是还是没想明白为什么 ...

回复

ID:401564 发表于 2020-5-18 11:33
liuleen 发表于 2020-5-18 11:10
现在意思是0100H有问题~还有我在CRYSTAL频率,我设置6Mhz和12Mhz 感觉没有区别,这个是个啥情况

仿真无意义,我只管实际结果
12MHZ的时钟和6MHZ的时钟它一定是有区别的,在下载器选项那设定好下载看一下就知道了
ID:720377 发表于 2020-5-18 11:10
Y_G_G 发表于 2020-5-18 08:49
正确的是这样子的:
                                ORG                0000H                                                        ;
                                LJMP         STAR                                                        ;                               

现在意思是0100H有问题~还有我在CRYSTAL频率,我设置6Mhz和12Mhz 感觉没有区别,这个是个啥情况
ID:720377 发表于 2020-5-18 10:55
aking991 发表于 2020-5-18 08:16
在汇编里,用ORG 100H即程序从此处运行,即把相应的中断函数处口和堆栈给避开,如果你改为ORG 00H,可能 ...

理论上是这样的,我能理解~。但是问题是100H开始的话,灯会一直亮。程序非正常,我不会在ISIS7 里面下断点,所以不太明白这个错误是怎么形容的
ID:319023 发表于 2020-5-18 10:30
是代码要改一下,要考虑中断函数入口
ID:401564 发表于 2020-5-18 08:49
正确的是这样子的:
                                ORG                0000H                                                        ;
                                LJMP         STAR                                                        ;                               
                                ORG                100H
STAR:                        MOV                0BAH,#80H
ID:65956 发表于 2020-5-18 08:16
在汇编里,用ORG 100H即程序从此处运行,即把相应的中断函数处口和堆栈给避开,如果你改为ORG 00H,可能在执行中断等相应程序时会出现不正常,如果是用C语言,软件会自动分配就不用考虑这么多了

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表