-
-
flycat2008 | 当前状态:离线
总积分:94 2024年可用积分:0
注册时间: 2008-07-14
最后登录时间: 2008-07-17
-
PIC单片机中BANK和PAGE的分析
flycat2008 发表于 2008/7/16 10:07:06 880 查看 0 回复 [上一主题] [下一主题]
手机阅读
从PIC单片机的指令结构上来分析一下为什么PIC中要有BANK和PAGE的设置吧。先来看一下为什么PIC中要把RAM区划分多个BANK。
仔细观察PIC单片机汇编语言指令的格式,一条完整的汇编语言指令语句通常是这样的:标号操作码助记符 操作数1,操作数2;注释。其中,主体部分是‘操作码助记符操作数1,操作数
例如:
指令:MOVF 33,1
操作码助记符:MOVF ;
操作数1:33 ;
操作数2:1 ;
而在程序被编译时指令语句的主体部分会被转换为代码的形式,通常是:指令代码操作数2 操作数1。
例如在指令位数为14位的中档PIC单片机中:
指令:MOVF 33,1
转换后代码:00 1000 1 011 0011
其中指令代码为:00 1000(MOVF f,d=00 1000 dfff ffff);
操作数2:1 (d = 1);
操作数1:011 0011 (f = 33H) ;
可以看到,由于指令代码占用了6位,再加上操作数2占用的1位,分配给操作数1的只有7位了。也就是说操作数1最大只能是‘111
例如PIC
举个例子来说:
指令:BSF EECON1,1 ;
指令转换后代码:0101 001 000 1100 ;
这时如果‘BANK值’=3,寻址的地址数据就会是‘11 +000
用同样的方法我们可以分析PIC单片机的PAGE的设置。举个例子,PIC
而在指令位数为14位的PIC
本文章来自中国IT实验室:http://embed.chinaitlab.com/