您的位置 首页 模拟

PIC单片机的各种内部硬件功能及用法介绍

PIC单片机的各种内部硬件功能及用法介绍-数据存储器在单片机PIC16F84中,除了有存放程序的程序存储器外,还有数据存储器。单片机在执行程序过程中,往往需要随时向单片机输入一些数据,而且有些数据还可能随时改变。

数据存储器在单片机PIC16F84中,除了有存放程序的程序存储器外,还有数据存储器。单片机在履行程序过程中,往往需求随时向单片机输入一些数据,并且有些数据还或许随时改动。在这种情况下就需用数据存储器。因为数据存储器不光要能随时读取存放在其各个单元内的数据,并且还需随时写进新的数据,或改写本来的数据。因而,数据存储器需由随机存储器RAM构成。RAM存储器在断电时,所存数据随即丢掉,这在实践运用中有时会带来不方便。可是,在16F84单片机中有64×8位E2PROM数据存储器。存放在E2PROM中的数据在断电时不会丢掉。

16F84单片机中的RAM数据存储器如表1所示,该RAM分为两个存储体:即存储体0(Bank0)和存储体1(Bank1)。每个存储体均能够直接用内部总线传送信息,所以它们都是以存放器方法工作和寻址。这些八位存放器,又可分为通用存放器和专用存放器两个部分。通用存放器存放数据,专用存放器存放操控单片机运作的信息。每个存储体最大可扩展到7FH(128个字节)。在每个存储体中,专用存放器被安排在低位地址空间,通用存放器被安排在高位地址空间。

通用存放器用法单一,但专用存放器却各有各的用途,现将较根本的专用存放器作一简略介绍。

(1)程序计数器(PCL、PCLATH)。程序计数器PC是对程序进行办理的计数器。PIC16F84的程序计数器为13位宽,最大可寻址的存储空间为8k×14位。实践上16F84只运用前1k×14位(0000~03FFH)存储空间。因程序计数器有13位宽,而专用存放器只要8位。因而PC由两个专用存放器构成。其低八位PCL是一个可读/写存放器(地址为02H或82H),而高字节PCH(有用位5位)不能直接进行读/写操作,它是经过一个8位的坚持存放器PCLATH(地址为0A或8AH)把高5位地址传送给程序计数器的高字节。当履行CALL、GOTO指写PCL时,PC值的高字节就从PCLATH存放器中装入。

(2)状况存放器STATUS。状况存放器STATUS含有算术逻辑单元ALU运算成果的状况(如有无进位等)、复位状况及数据存储体挑选位。有关位位的设定如表2所示,功用如下:

1)第0位。进位/借位位C。履行加、减运算指令表2IRP RP1 RP0 TO PD Z DC C后,若成果有进位或借位,则C被置1,不然置0。在履行移位指令时,也要用到这一位。

2)第1位。辅佐进位/借位位DC。履行加、减运算指令后,若成果的低四位向高四位有进位或借位,则DC置1,不然置0。

3)第2位。零标志位运算成果为零,Z被置1;运算成果不为零,Z被清零。

4)第3位。低功耗标志位PD。上电复位或履行CLRWDT指令后置1,履行SLEEP指令后被清零。

5)第4位。守时时刻到标志位TO。上电复位或履行CLRWDT、SLEEP指令后被置1,监督守时器的守时时刻到被清零。

6)第5位和第6位(RP0、RP1)。这两位是用于直接寻址时的存放器体挑选位。即00——选中Bank0(00H~7FH);01——选中Bank1(80H~FFH),16F84只要两个存储体。故10、11不必。

7)第7位IRP。这是直接寻址的存放体挑选位。0——选中Bank0、1(00H~FFH),1——选中Bank2、3。16F84只要Bank0、1,所以此IRP位应被置为0。

(3)直接寻址INDF和FSR存放器INDF存放器不是一个物理存放器,而是一个逻辑功用的存放器(地址为00H或80H),当对INDF存放器进行寻址时,实践上是拜访FSR存放器内容所指的单元,即把FSR存放器作为直接存放器运用。FSR称为“存放器挑选”存放器,地址为(04H或84H)。对INDF存放器自身进行直接寻址拜访,将读出FSR存放器的内容,例如当FSR=00H时,直接寻址读出INDF的数据将为00H。用直接寻址方法写入INDF存放器时,尽管写入操作或许会影响STATUS中的状况字,但写入的数据是无效的。
责任编辑;zl

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/moni/343738.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部