查看: 856  |  回复: 0
PIC单片机选用存储体0或1的方法
青锋断尘
16
主题
13
回复
发表于2018-11-07 22:38:39 | 只看该作者
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 EQU 03H

RB EQU 06H

TRISB EQU 86H

ORG 0x00 ;复位向量(PIC16F84)

GOTO MAIN ;转至主程序开始处

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

MAIN

CLRF PORTB ;初始化

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

;以便设置寄存器TRISB

MOVLW 0x0F ;初始化数据00001111B

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

… ;D7~D4为输出

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



主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部