PIC16C5X单片机数据存储器

PIC16C5X单片机数据存储器,第1张



    1. *** 作寄存器文件
     *** 作寄存器文件是寄存器文件的一种,它是专用的寄存器。它和通用寄存器文件有很大的区别。通用寄存器文件是用于存放数据的,而 *** 作寄存器文件则用于寻址、定时等各种特殊用途。 *** 作寄存器文件包括间接数据寻址寄存器f0、实时时钟/计数器f1(RTCC)、程序计数器f2(PC)、状态寄存器f3(STATUS)、文件选择寄存器f4(FSR)等。下面我们分别介绍这些寄存器。

    [1].间接寻址寄存器f0
    这不是一个物理寄存器,寻址f0则会读出文件选择寄存器f4的内容,并对f4所指定的文件寄存器进行间接寻址 *** 作。f0常用作间接寻址指针。例如指令ADDWF f0,W把f4(FSR)所指的寄存器的内容和W寄存器相加,结果存于w,f0本身不存任何价值。

    [2].实时时钟/计数器f1(RTCC)
    该寄存器和其它寄存器一样,可通过程序写入和读出。它用于对加在RTCC引脚上的脉冲计数(用作计数器)或对内部时钟计数(对fOSC4分频后计数,做定时器用)。RTCC的结构框图如下图所示。

    OPTION寄存器的PSA位控制预分频器(prescaler)的分配对象,当PSA位为“0”,8位可编程预分频器分配给RTCC,这时外部或内部信号经过预分频器分频后再输出给RTCC。预分频器的分频比由OPTION寄存器的PS0-PS2位决定。OPTION寄存器不在数据存储器内,是一个可由“OPTION”指令寻址的特别寄存器,如果预分频器被分配给RTCC,则写f1会对预分频器清“0”,但OPTION寄存器内容保持不变,则分配对象、分频比等均不变。

    OPTION寄存器的RTS位决定是对外部还是内部计数,当RTS=1时,对来自RTCC引脚的信号计数,当RTS=0时,对fOSC/4计数。OPTION寄存器的RTE位决定RTCC脚的信号是上升沿(RTE=0)还是下降沿(RTE=1)时增1。当RTS=0,内部时钟(频率为fOSC/4)作为计数对象,RTE位、RTCC引脚与内部电路无关。为减少功耗,RTCC脚必须连接VDD或Vss。

    当预分频器分配给计数器/定时器RTCC后,RTCC将计数到预分频器值后加1,例如,如预分频器值为1:4,则RTCC将计数4次加1。

    无论内部还是外部时钟是否连接预分频器,一旦有时钟供给RTCC,f1将加1。在计数到达FFH时,在下一个计数发生后将自动清零,重新开始计数,一直循环下去。所有令f1(RTCC)加1的脉冲都将延时2个指令周期。例如在写f1后,随后的两个指令周期就不加1。这独立于外部或内部时钟的选取。如预分频器分配给RTCC,预分频器的输出将在f1(RTCC)加1前延时两个指令周期。对于写或读RTCC的指令(例如MOVF RTCC,W或CLRF RTCC)都是一样的,在应用RTCC时,在不影响其计数情况下测试,可用MOVF f1,W指令。

    应注意外部时钟用于RTCC时钟的有关情况。

    当外部时钟用于RTCC时,它与内部时钟同步。所以,外部时钟必须符合一定的要求,同样在外部时钟输入边沿到RTCC加1,存在着延时,在预分频后实现同步。在每个指令周期,PSOUT的输出被采样两次以检测上升或下降沿。因此,这需要PSOUT至少保持2TOSC高电平和至少保持2TOSC低电平。TOSC是振荡周期。

    当不用预分频器时,PSOUT输出与RTCC时钟输入一样,要求如下:

        TRTH=RTCC 高电平时间≥2TOSC+20ns
        TRTL=RTCC 低电平时间≥2TOSC+20ns

        当用预分频器时,RTCC输入被异步脉冲计数器型的预分频器分频,预分频器输出是对称的。

        PSOUT=RTCC 高电平时间=PSOUT低电平时间=N.TRT/2
        当TRT是RTCC输入周期和N是预分频器的值(2,4,8,……256)时,要求:

        N.TRT/2≥2TOSC+20ns
        或
        TRT≥2(TOSC+20ns)/N
    用户不需要确定RTCC高、低电平时间,但是如果RTCC的高、低电平持续时间太小,脉冲有可能不被采集。一般要求最小的高、低电平时间为10ns。RTCC输入要求为:

        TRT=周期≥(4TOSC+40ns)/N
        TRTH=RTCC 高电平时间≥10ns
        TRTL=RTCC 低电平时间≥10ns

    外部时钟的延时,预分频器的输出由内部时钟同步,RTCC在Q4时加1,从外部时钟边沿出现到RTCC实际加1,存在着一个较小的延时,在3TOSC至
7TOSC之间。例如,测量两个边沿之间的时间间隔,其精度在±4TOSC之间

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2420894.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-01
下一篇 2022-08-01

发表评论

登录后才能评论

评论列表(0条)

保存