英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 2401|回复: 0
打印 上一主题 下一主题

选择PIC单片机存储体0或1的方法

[复制链接]
跳转到指定楼层
1#
发表于 2009-5-5 17:06:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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的目的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-11-24 09:16 , Processed in 0.051461 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表