当前位置:首页 > 单片机 > 单片机
[导读] 5x系列芯片的复位入口问题有关5x系列的复位入口位于可用程序空间的最高地址 , 在那里写上一条GOTOMAIN让程序跳到主程序入口。如:ORGPIC16C54GOTOMAIN这些都没有错误。很多书上也是这么写的。其实,你

5x系列芯片复位入口问题

有关5x系列的复位入口位于可用程序空间的最高地址 , 在那里写上一条GOTOMAIN让程序跳到主程序入口。如:
ORGPIC16C54
GOTOMAIN
这些都没有错误。很多书上也是这么写的。

其实,你可以根本不用管5x系列复位入口的不同,所有程序都从000位置开始写。以57为例,其复位地址是7FFH,空片时此处为FFF,对应指令是"xorlw0xff",当这条指令执行后,PC加一,为8000H?不是,PC变成000H,在57中PC只有11位长。类似的,所有5x系列在复位后于程序空间最高处执行一条无关紧要的指令后,回到000处继续执行。

为什么推荐大家这么做?主要是在一些有片上内部RC振荡的单片机内,如12C508,16C505等,在出厂前做了振荡器频率校准,校准值被放在复位入口出,以指令“movlwxx”形式存放。这时,如果你再在该处写指令GOTOMAIN,就会产生冲突。而且,这样写的程序移植性得到提高,程序排列不用做任何修改(OPTION/TRIS例外),就可以移植到PIC其它系列的单片机中。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭