深入理解pic单片机,pic单片机PAGE、BANK讲解
【深入理解pic单片机,pic单片机PAGE、BANK讲解】 pic单片机在现实中使用很多 , 诸多应用都是基于pic单片机设计完成 。电子相关专业的朋友对于pic单片机自然十分熟悉 , 为增进大家对pic单片机的认识 , 本文将继续为大家介绍pic单片机 。本文中 , 小编将对pic单片机的PAGE和BANK予以阐述 。如果你对pic单片机具有兴趣 , 不妨继续往下阅读哦 。
从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的形式来寻址了 , 这时寻址的地址数据是这样组成的‘BANK值+操作数1’ , 其中‘BANK值’=‘RP1 RP0’ 。
举个例子来说:
指令:BSF EECON1 , 1 ;
指令转换后代码:0101 001 000 1100 ;
这时如果‘BANK值’=3 , 寻址的地址数据就会是‘11 +000 1110’(18CH);而此时如果BANK值为0 , 则寻址的地址数据就会是‘00 +000 1110’(0CH) , 这样就出现了错误 。
用同样的方法我们可以分析PIC单片机的PAGE的设置 。举个例子 , PIC16C5X的一个页面是512条指令 。它的‘GOTO’指令是这样的:‘101 k kkkk kkkk’(‘GOTO’指令没有操作数2) 。我们看到该指令的操作数1最大只能是‘1 1111 1111’(1FFH) , 因此在指令位数为12位的PIC16C5X 芯片中‘GOTO’指令只能在512条指令(000H~1FFH , 200H~3FFH , ……)的范围内直接跳转 。同样的理由 , PIC16C5X的‘CALL’指令(‘1011 kkkk kkkk’)只能调用256条指令(000H~0FFH , 200H~2FFH , ……)范围内的子程序 , 因此在进行PIC16C5X单片机的编程时要将供调用子程序的入口放在前半页面 。
而在指令位数为14位的PIC16F87X单片机中‘GOTO’指令代码是‘101 kkk kkkk kkkk’ , 而‘CALL’的指令代码是‘100 kkk kkkk kkkk’ , 它们的寻址范围都是‘111 1111 1111’(3FFH) 。因此在PIC16F87X单片机中 , 一个页面长度就是3FFH=2048条指令(2K) 。而且在使用中 , 使用‘CALL’指令时就不需要将子程序入口放在上半页面了 。
以上便是此次小编带来的“pic单片机”相关内容 , 通过本文 , 希望大家对pic单片机的PAGE、BANK具备初步的认识 。如果你喜欢本文 , 不妨持续关注我们网站哦 , 小编将于后期带来更多精彩内容 。最后 , 十分感谢大家的阅读 , have a nice day!
推荐阅读
- 帮你搞定pic单片机难点,pic单片机硬件死锁问题探讨
- 如何理解开关电源的电磁兼容性问题?
- 深入理解毫米波应用,四路毫米波空间功率合成技术介绍
- 深入了解工业机器人,工业机器人重要技术讲解
- Microchip推出全新双核和单核dsPIC数字信号控制器系列
- 电子门铃的安装方法及设计原理解析
- 高通处理器排名_2016
- Microchip推出3.0版MPLAB Harmony,为PIC 和SAM单片机提供统一的软件开发框架
- 如何理解电感式DC-DC的升压器原理?
- PIC单片机-RS232串口通信