登陆
|
注册
|
搜索
|
最近新帖
发帖子
|
共享我的资料
|
精华帖子
|
热门话题
导航:
老古网
→
老古论坛
→
XMOS公共讨论区
→
XMOS开源项目区
→
单片机程序设计
→
嵌入式系统
→
广告区域
→
→发表看法:[flycat2008]PIC单片机中BANK和PAGE的分析
No.48131
作者:flycat2008
邮件:yuanxuan2006@126.com
ID:114221
登陆:1次
文章数:40篇
最后登陆IP:
最后登陆:2008/7/14 12:15:37
注册:2008/7/14 12:15:37
财富:100
发帖时间:2008/7/15 17:57:57
发贴者IP:222.131.60.151
标题:flycat2008:
PIC单片机中BANK和PAGE的分析
摘要:No.48131PIC单片机中BANK和PAGE的分析
从PIC单片机的指令结构上来分析一下为什么PIC中要有BANK和PAGE的设置吧。先来看一下为什么PIC中要把RAM区划分多个BANK。
仔细观察PIC单片机汇编语言指令的格式,一条完整的汇编语言指令语句通常是这样的:标号操作码助记符 操作数1,操作数2;注释。其中,主体部分是‘操作码助记符操作数1,操作数2’。
例如:
指令: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 1111’(7FH),因此‘MOVF’直接的寻址范围只能是00H~7FH之间。其它的对寄存器操作的指令情况基本相同,因此指令位数为14位的PIC 单片机将每125个(00H~7FH,80H~FFH……依此类推)寄存器划分为一个BANK,并且将STATUS寄存器的RP1、RP0为定为BANK 设置位。在编写程序时,要对某个寄存器进行操作就首先要对BANK的设置位进行设置,从而切换到该寄存器所在的BANK。
例如PIC16F877单片机的EECON1寄存器(地址18CH)就要通过设置BANK的形式来寻址了,这时寻址的地址数据 ......
>>返回讨论的主题
发表回复
用户名
*
您没有注册?
密码
*
验证码
*
.
标题
选择话题
[原创]
[转帖]
[灌水]
[讨论]
[求助]
[推荐]
[公告]
[注意]
[贴图]
[建议]
[下载]
[分享]
*
心情
随便说说
我回答你
最新发现
得意的笑
气死我了
真是没劲
坚决同意
表示反对
大家过来
好奇怪哟
懒得理它
大家小心
文件上传
允许类型
gif
jpg
jpeg
bmp
png
rar
txt
zip
mid
sch
pcb
ddb
iso
rtf
pdf
doc
ini
swf
内容
字体:
宋体
楷体
新宋体
黑体
隶书
Andale Mono
Arial
Arial Black
Book Antiqua
Century Gothic
Comic Sans MS
Courier New
Georgia
Impact
Tahoma
Times New Roman
Trebuchet MS
Script MT Bold
Stencil
Verdana
Lucida Console
字体大小:
1
2
3
4
颜色:
#F0F8FF
#FAEBD7
#00FFFF
#7FFFD4
#F0FFFF
#F5F5DC
#FFE4C4
#000000
#FFEBCD
#0000FF
#8A2BE2
#A52A2A
#DEB887
#5F9EA0
#7FFF00
#D2691E
#FF7F50
#6495ED
#FFF8DC
#DC143C
#00FFFF
#00008B
#008B8B
#B8860B
#A9A9A9
#006400
#BDB76B
#8B008B
#556B2F
#FF8C00
#9932CC
#8B0000
#E9967A
#8FBC8F
#483D8B
#2F4F4F
#00CED1
#9400D3
#FF1493
#00BFFF
#696969
#1E90FF
#B22222
#FFFAF0
#228B22
#FF00FF
#DCDCDC
#F8F8FF
#FFD700
#DAA520
#808080
#008000
#ADFF2F
#F0FFF0
#FF69B4
#CD5C5C
#4B0082
#FFFFF0
#F0E68C
#E6E6FA
#FFF0F5
#7CFC00
#FFFACD
#ADD8E6
#F08080
#E0FFFF
#FAFAD2
#90EE90
#D3D3D3
#FFB6C1
#FFA07A
#20B2AA
#87CEFA
#778899
#B0C4DE
#FFFFE0
#00FF00
#32CD32
#FAF0E6
#FF00FF
#800000
#66CDAA
#0000CD
#BA55D3
#9370DB
#3CB371
#7B68EE
#00FA9A
#48D1CC
#C71585
#191970
#F5FFFA
#FFE4E1
#FFE4B5
#FFDEAD
#000080
#FDF5E6
#808000
#6B8E23
#FFA500
#FF4500
#DA70D6
#EEE8AA
#98FB98
#AFEEEE
#DB7093
#FFEFD5
#FFDAB9
#CD853F
#FFC0CB
#DDA0DD
#B0E0E6
#800080
#FF0000
#BC8F8F
#4169E1
#8B4513
#FA8072
#F4A460
#2E8B57
#FFF5EE
#A0522D
#C0C0C0
#87CEEB
#6A5ACD
#708090
#FFFAFA
#00FF7F
#4682B4
#D2B48C
#008080
#D8BFD8
#FF6347
#40E0D0
#EE82EE
#F5DEB3
#FFFFFF
#F5F5F5
#FFFF00
#9ACD32
点击加入表情
选项
有回复时用短消息通知您?
老古网
执行:31毫秒 最大:2859毫秒 查询6次