- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二、PCF8563的寄存器 如图所示,PCF8563 有16 个8 位寄存器,一个可自动增量的地址寄存器,一个内置32.768KHz 的振荡器,一个分频器(用于给实时时钟RTC 提供源时钟),一个可编程时钟输出,一个定时器,一个报警器,一个掉电检测器和一个速度为400Kbits/S的I2c总线接口。 TEST=0:普通模式,否则为测试模式。 STOP=0:芯片时钟运行,否则停止 TESTC:为普通模式时取值为0。 AF: 发生报警时被置1,作为报警中断标志,该标志必须由软件清0。 TF: 定时器倒计数结束时被置1,作为定时中断标志,该标志必须由软件清0。 TIE:定时器中断允许位, 为1允许,为0则禁止。 AIE:报警中断允许位,为1允许,为0则禁止。 TI/TP: 定时器中断信号方式控制位,当TI/TP=0时,为低电平方式,将TF位清0就能清除中断信号;TI/TP= 1时,中断信号为脉冲方式,脉冲低电平宽度约为15ms 此时可不考虑TF 位的影响。 VL: 时钟日历数据是否准确的标志,PCF8563 内嵌掉电检测器,当 VDD 低于 Vlow 时,位 VL被置成1,表明可能产生不准确的时钟日历信息,VL 标志位只可以用软件清除。 0表示星期日,1~6表示星期一~星期六。 C=1时,指定世纪数为19XX; C=1时,指定世纪数为20XX。 AE为报警允许位,设置为0允许报警,为1禁止报警。 以BCD码格式表示需要报警的星期、日、时、分信息。 设置报警的方法是在相应报警寄存器中设置报警时间,并将其最高位AE 置0,同时置控制/状态寄存器2的AIE=1,当报警发生时, AF置1,同时在引脚产生一个低电平有效的中断请求信号,通过软件将AF位清0,即可清除中断请求,AF被清除后,只有在时间增量与报警条件再次相匹配时才可再被设置。由此看出AIE 相当于单片机中的中断允许控制位,而AF 相当于中断请求标志位。 FE: FE=0时,CLKOUT被设置成高阻,禁止输出; FE=1时,允许CLKOUT输出,其频率由FD1~FD0选择。 FD1~FD0:: 用来选择CLKOUT的频率 TE: 定时器使能控制位,TE=0:定时器无效,TE=1时,定时器有效。 TD1~TD0: 选择定时器的时钟频率 。 存放定时器倒计数数值,当TE=1时,每隔一时间(由TD1~TD0选定)计数器减1,减到0时,TF置1,如果此时TIE为1,将在/INT引脚产生一个有效的中断请求。 三、电子钟的设计 如图所示,用PCF8563设计一个简易的电子钟,其初始时间为12时34分56秒,用4位数码管显示当前的时和分,并且每秒钟刷新一次。 设计思想: PCF8563片内具有实时时钟,单片机只要向PCF8563的时、分、秒寄存器写入初始时间,随后对以上寄存器进行读操作就可知道当前时间。由于当前时间只要每秒钟刷新一次,可令PCF8563通过引脚每隔一秒钟产生一次定时中断请求,单片机检测到定时中断,就读取PCF8563的时间值,并将其转换为BCD码送到数码管上显示出来。 为了产生定时器中断,控制/状态寄存器2应设置为0x11(TI/TP=1,TIE=1),定时器控制寄存器取值为0x82(TE=1:允许定时,TD1、TD0=10:定时器时钟频率为1Hz),定时器倒计数寄存器取值为0x01。 void main(void) { uchar wd[5]={0x00,0x11,0x56,0x34,0x12}; uchar rd[2]; EA=1; IT0=1; EX0=1; ISendStr(PCF8563,00,wd,0x05); wd[0]=0x82; wd[1]=1; ISendStr(PCF8563,0x0E,wd,0x02); while(1) { if(mk==1) { IRcvStr(PCF8563,0x03, rd,0x2); mk=0; 将时间值送显示缓存 } disp(); } } 0x00:对应控制/状态寄存器1的取值 0x11:对应控制/状态寄存器2的TI/TP=1, TIE=1,允许定时中断 0x56,0x34,0x12:表示初始时间为12:34:56 用行接收当前的时、分值 外部中断控制 将初始化控制字写入PCF8563从地址为00H开始的单元 定时器使能,时钟频率为1HZ 倒计数寄存器取值为1,即每秒产生一次中断 将控制字写入PCF8563 从地址为0EH开始的单元
原创力文档


文档评论(0)