您的位置:首页单片机PIC单片机
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

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

[日期:2008-01-05 ] [来源: 作者:] [字体: (投递新闻)

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

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

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

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

 

阅读:
录入:admin

推荐 】 【 打印
本文评论
      全部评论
发表评论


点评: 字数
姓名:
站长推荐