理论教育 寄存器描述+Proteus和IAREWARM应用

寄存器描述+Proteus和IAREWARM应用

时间:2023-11-03 理论教育 版权反馈
【摘要】:混合寄存器组包含了5个用于对RTC进行控制的寄存器。表4-61 CIIR寄存器功能5.报警屏蔽寄存器AMR报警屏蔽寄存器AMR允许用户屏蔽任意报警寄存器。表4-64 CTIME1寄存器功能3.完整时间寄存器2 CTIME2完整时间寄存器2仅包含日期(年),如表4-65所列。报警寄存器允许用户设定产生中断的日期或时间。

寄存器描述+Proteus和IAREWARM应用

RTC包含许多寄存器,按照功能分成混合寄存器、时间寄存器、时间计数器、报警寄存器和预分频器4个组,下面分别予以介绍。

混合寄存器组包含了5个用于对RTC进行控制的寄存器。

1.中断位置寄存器ILR

中断位置寄存器ILR为2位寄存器,由它指定哪些模块可以产生中断。向一个位写入1,会清除相应的中断,写入0无效。读取该寄存器,并将读出的值回写到寄存器中,将会清除检测到的中断。ILR寄存器的功能如表4-58所列。

表4-58 ILR寄存器功能

978-7-111-44508-1-Chapter04-167.jpg

2.时钟节拍计数器CTC

时钟节拍计数器CTC是一个只读寄存器,它可通过时钟控制寄存器(CCR)复位为0。CTC包含时钟分频计数器位,其功能如表4-59所列。

表4-59 CTC寄存器功能

978-7-111-44508-1-Chapter04-168.jpg

3.时钟控制寄存器CCR

时钟控制寄存器CCR是一个5位寄存器,用于控制时钟分频电路的操作,其功能如表4-60所列。

表4-60 CCR寄存器功能

978-7-111-44508-1-Chapter04-169.jpg

只有当CLKEN为0时才可以对时间计数器(SEC、MIN、HOUR、DOM、DOW、DOY、MONTH和YEAR)进行设置。

4.计数器增量中断寄存器CIIR

时钟控制寄存器CIIR可使计数器每次增加时产生一次中断,其功能如表4-61所列。

表4-61 CIIR寄存器功能

978-7-111-44508-1-Chapter04-170.jpg

5.报警屏蔽寄存器AMR

报警屏蔽寄存器AMR允许用户屏蔽任意报警寄存器。对于报警功能来说,要产生中断,未屏蔽的报警寄存器必须匹配对应的时间计数值。只有当计数器之间的比较第一次从不匹配到匹配时才会产生中断。向中断位置寄存器(ILR)的位1写入1会清除相应的中断。如果所有屏蔽位都置位,报警将被禁止。AMR寄存器功能如表4-62所列。

表4-62 AMR寄存器功能

978-7-111-44508-1-Chapter04-171.jpg

时间寄存器组包含3个完整时间寄存器,只需执行3次读操作,即可读出所有时间计数器的值。

1.完整时间寄存器0 CTIME0

完整时间寄存器0包含的时间值为:秒、分、小时和星期,如表4-63所列。

表4-63 CTIME0寄存器功能

978-7-111-44508-1-Chapter04-172.jpg

2.完整时间寄存器1 CTIME1

完整时间寄存器1包含的时间值为:日期(月)、月和年,如表4-64所列。(www.daowen.com)

表4-64 CTIME1寄存器功能

978-7-111-44508-1-Chapter04-173.jpg

3.完整时间寄存器2 CTIME2

完整时间寄存器2仅包含日期(年),如表4-65所列。

表4-65 CTIME2寄存器功能

978-7-111-44508-1-Chapter04-174.jpg

时间计数器组包含8个可读写寄存器,用于RTC日历时间初始化,如表4-66所列。

表4-66 时间计数器寄存器

978-7-111-44508-1-Chapter04-175.jpg

时间计数器的值在RTC运行过程中会发生变化,要人为改变RTC的值,必须通过重新设置时间计数器(SEC、MIN、HOUR、DOM、DOW、DOY、MONTH和YEAR)来实现。时间计数器的关系和值如表4-67所列。

表4-67 时间计数器的关系和值

978-7-111-44508-1-Chapter04-176.jpg

RTC对于闰年的计算,是执行一个简单的位比较,看年计数器的最低两位是否为0。如果为0,那么RTC认为这一年为闰年。RTC认为所有能被4整除的年份都为闰年。这个算法从1901年到2099年都是准确的,但在2100年出错,2100年并不是闰年。闰年对RTC的影响只是改变2月份的天数、日期(月)和年的计数值。

报警寄存器组如表4-68所列。报警寄存器允许用户设定产生中断的日期或时间。这些寄存器的值与时间计数器相比较。如果未屏蔽的报警寄存器都与它们对应的时间计数器相匹配,则将产生一次中断。向中断位置寄存器ILR的位1写入1将清除中断。

表4-68 报警寄存器

978-7-111-44508-1-Chapter04-177.jpg

预分频器允许从任何频率高于65.536kHz的外设时钟源产生一个32.768kHz的基准时钟。这样,不管外设时钟的频率为多少,RTC总是以正确的速率运行。预分频器组包含一个整数寄存器和一个小数寄存器。

1.预分频整数寄存器PREINT

预分频整数寄存器的功能如表4-69所列。

表4-69 预分频整数寄存器功能

978-7-111-44508-1-Chapter04-178.jpg

预分频值的整数部分计算公式如下:PREINT=int(Fpclk/32768)-1

PREINT的值必须大于等于1。

2.预分频小数寄存器PREFRAC

预分频小数寄存器的功能如表4-70所列。

表4-70 预分频小数寄存器功能

978-7-111-44508-1-Chapter04-179.jpg

预分频值的小数部分计算公式如下:

PREFRAC=Fpclk−((PREINT+1)×32768)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈