首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

怎样选择PIC单片机存储体0或1?

怎样选择PIC单片机存储体0或1?



PIC单片机中级产品PIC16C6X的数据存储器通常分为两个存储体,即存储体0(Bank0)和存储体1(Bank1)。每个存储体都是由专用寄存器和通用寄存器两部分组成的。两个存储体中的一些寄存器单元实际上是同一个寄存器单元,却又具备有不同的地址。例如本版介绍的PIC16F84的状态寄存器STATUS-Reg的两个地址是03H和83H。又如通用寄存器也是如此。不同型号的PIC单片机,其数据存储器的组成(即功能)是不完全相同的,所以设计人员一旦选用了某个PIC单片机的型号后,常要查找该单片机的数据存储器资料,以便编程用。

  笔者以PIC16F84在MPLAB集成开发软件的环境下编写的源程序中,有关RB口(RB7、RB6…RB0)初始化为例,说明选用存储体0或1的方法如下:

  程序清单

  File:PIC01ASM

  List   P=16F84

  #Include P16F84.Inc

  STATUS EQU03H

  RB    EQU06H

  TRISB   EQU86H

  ORG 0x00   ;复位向量(PIC16F84)

  GOTO   MAIN  ;转至主程序开始处

  ORG 0x08   ;从地址08H开始存放程序

MAIN

CLRF PORTB    ;初始化

BSF    STATUS,5;RP0置1,选中Bank1

        ;以便设置寄存器TRISB

MOVLW0x0F     ;初始化数据00001111B

MOVWF TRISB   ;RB口D3~D0为输入;

  …     ;D7~D4为输出

  以上实例说明:源程序中的寄存器TRISB是在16F84数据存储器的存储体1(Bank1)中,所以利用编程达到选择TRISB的目的。 
返回列表