PIC单片机中BANK和PAGE的分析研究_第1页
PIC单片机中BANK和PAGE的分析研究_第2页
PIC单片机中BANK和PAGE的分析研究_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑PIC单片机中BANK和PAGE的分析研究PIC单片机简介

由美国Microchip公司推出的PIC单片机系列产品,首先采用了RISC结构的嵌入式微控制器,其高速度、低电压、低功耗、大电流LCD驱动能力和低价位OTP技术等都体现出单片机产业的新趋势。现在PIC系列单片机在世界单片机市场的份额中已逐年升位,尤其在8位单片机市场,据称已从1990年的第20位上升到目前的第二位。PIC单片机从覆盖市场出发,已有三种(又称三层次)系列多种型号的产品问世,所以在都可以看到PIC单片机从电脑的外设、家电控制、电讯通信、智能仪器、汽车电子到金融电子各个领域的广泛应用。现今的PIC单片机已经是世界上有影响力的嵌入式微控制器之一。

PIC单片机中BANK和PAGE的分析

从PIC单片机的指令结构上来分析一下为什么PIC中要有BANK和PAGE的设置吧。先来看一下为什么PIC中要把RAM区划分多个BANK。

仔细观察PIC单片机汇编语言指令的格式,一条完整的汇编语言指令语句通常是这样的:标号操作码助记符操作数1,操作数2;解释。其中,主体部分是‘操作码助记符操作数1,操作数2’。

例如:

指令:MOVF33,1

操作码助记符:MOVF;

操作数1:33;

操作数2:1;

而在程序被编译时指令语句的主体部分会被转换为代码的形式,通常是:指令代码操作数2操作数1。

例如在指令位数为14位的中档PIC单片机中:

指令:MOVF33,1

转换后代码:00100010110011

其中指令代码为:001000(MOVFf,d=001000dfffffff);

操作数2:1(d=1);

操作数1:0110011(f=33H);

可以看到,由于指令代码占用了6位,再加上操作数2占用的1位,分配给操作数1的只有7位了。也就是说操作数1只能是‘1111111’(7FH),因此‘MOVF’直接的寻址范围只能是00H~7FH之间。其它的对寄存器操作的指令情况基本相同,因此指令位数为14位的PIC单片机将每125个(00H~7FH,80H~FFH……依此类推)寄存器划分为一个BANK,并且将STATUS寄存器的RP1、RP0为定为BANK设置位。在编写程序时,要对某个寄存器进行操作就首先要对BANK的设置位进行设置,从而切换到该寄存器所在的BANK。

例如PIC16F877单片机的EECON1寄存器(地址18CH)就要通过设置BANK的形式来寻址了,这时寻址的地址数据是这样组成的‘BANK值+操作数1’,其中‘BANK值’=‘RP1RP0’。

举个例子来说:

指令:BSFEECON1,1;

指令转换后代码:01010010001100;

这时如果‘BANK值’=3,寻址的地址数据就会是‘11+0001110’(18CH);而此时如果BANK值为0,则寻址的地址数据就会是‘00+0001110’(0CH),这样就出现了错误。

用同样的方法我们可以分析PIC单片机的PAGE的设置。举个例子,PIC16C5X的一个页面是512条指令。它的‘GOTO’指令是这样的:‘101kkkkkkkkk’(‘GOTO’指令没有操作数2)。我们看到该指令的操作数1只能是‘111111111’(1FFH),因此在指令位数为12位的PIC16C5X芯片中‘GOTO’指令只能在512条指令(000H~1FFH,200H~3FFH,……)的范围内直接跳转。同样的理由,PIC16C5X的‘CALL’指令(‘1011kkkkkkkk’)只能调用256条指令(000H~0FFH,200H~2FFH,……)范围内的子程序,因此在进行PIC16C5X单片机的编程时要将供调用子程序的入口放在前半页面。

而在指令位数为14位的PIC16F87X单片机中‘GOTO’指令代码是‘101kkkkkkkkkkk’,而‘CALL’的指令代码是‘100kkkkkkkkkkk’,它们的寻址范围都是‘111

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论