历史上的今天
今天是:2025年02月21日(星期五)
2020年02月21日 | PIC 单片机选择存储体0或1的方法
2020-02-21 来源:eefocus
PIC单片机中级产品PIC16C6X的数据器通常分为两个体,即存储体0(Bank0)和存储体1(Bank1)。每个存储体都是由专用寄存器和通用寄存器两部分组成的。两个存储体中的一些寄存器单元实际上是同一个寄存器单元,却又具备有不同的地址。例如本版介绍的PIC16F84的状态寄存器 STATUS-Reg的两个地址是03H和83H。又如通用寄存器也是如此。
不同型号的PIC单片机,其数据存储器的组成(即功能)是不完全相同的,所以设计人员一旦选用了某个PIC单片机的型号后,常要查找该单片机的数据存储器资料,以便编程用。
笔者以PIC16F84在MPLAB集成开发软件的环境下编写的源程序中,有关RB口(RB7、RB6…RB0)初始化为例,说明选用存储体0或1的方法如下:
程序清单
file:PIC01?盇SM
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的目的。
上一篇:PIC单片机有什么特点和优势?
下一篇:深入理解PIC系列单片机
史海拾趣
|
四位无线发射接收组件以外围电路简单、遥控距离远等优点,被广泛的应用在各种电路中。但目前市场上所有的四位遥控组件都有一个共同的缺点,就是接收电路只要首次译码成功,总有一路输出高电平,无法遥控清零。这就使组件的使用受到限制,如:用来做 ...… 查看全部问答> |
|
小弟在wince5.0中加入和Midiaplay,但是却不能用,提示“unable to initialize player\"。 该加的组件我都已经加上去了,为什么不能用呢? 在网上搜索了一下,有个老外也遇到这个问题,他”Erased persistent memory! \"解决的这个问题,请问这句 ...… 查看全部问答> |
|
新手求教。(芯片ep9315,环境:wince5.0) 我想将GPIO12设为中断, 看到论坛里有两种方法:静态映射和动态映射;都没太明白。 我的程序是看论坛后拼凑的,好像物理中断和逻辑中断关联不上 问题一:现在我想用静态 ...… 查看全部问答> |
|
各位同学: 大家好,本人初涉GSM通讯方面的知识。一直受困于如何购买GSM模块!!大家能帮忙告诉我一下应该到哪里才能买到合格(原产)的GSM模块呢?(我看了很多人都说买这个GSM模块要找正规厂家,不然调试会很麻烦的贴子)希望大家 ...… 查看全部问答> |
|
今年9月份我们学校(高职)电子专业就要开设单片机原理与应用课程了,我现在考虑两种:一种是freescale 的HC08系列,一种是TI的MSP430系列;HC08我原来学过,但感觉资源较少,实验箱等东东较贵;好像搞的人也少;MSP430好像搞的人挺多的,希望大家提 ...… 查看全部问答> |
|
如题 我用我的开发板(192.168.1.25) 向 PC端(192.168.1.16)发送数据 我用wireshark 抓包想看一下 TCP三次握手 却出现了点小问题 特此请教大家!!这是我抓包的截图! 在ARP之后 开发板向PC发起握手连接过程——即序号3,然后PC端响应开发板— ...… 查看全部问答> |
|
定义一个mem变量,如:reg [15:0] mem [4:0],假如我想对第2个寄存器的第16位和第3个寄存器的第1位做异或操作,应该怎么写?我试过 mem[1][15] ^ mem[2][0],编译器报错。请大家指教。… 查看全部问答> |




