当前位置:首页 > 芯闻号 > 技术解析
[导读]电子相关专业的朋友对于pic单片机自然十分熟悉,为增进大家对pic单片机的认识,本文将继续为大家介绍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!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

为增进大家对工业以太网的认识,本文将对工业以太网的原理、工业以太网的关键技术以及工业以太网要解决的问题予以介绍。

关键字: 以太网 工业以太网 指数

为增进大家对工业以太网的认识,本文将对工业以太网网络优势、工业以太网和IOLINK的区别予以介绍。

关键字: 以太网 工业以太网 指数

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

为增进大家对二极管的认识,本文将对续流二极管、续流二极管的工作原理以及二极管在工业产品中的应用予以介绍。

关键字: 二极管 指数 续流二极管

通过本文,您将了解到二极管反接是否有电压以及二极管在电子电路中的应用。

关键字: 二极管 指数 稳压电路

为增进大家对二极管的了解,本文将对ESD二极管和TVS二极管之间的区别予以介绍。

关键字: ESD TVS 二极管 指数

为增进大家对嵌入式主板的认识,本文将对嵌入式主板以及嵌入式主板常见问题及其解决方法予以介绍。

关键字: 嵌入式 指数 主板

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统
关闭
关闭