




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DS12887/DS12C887内部寄存器的功能因DS12887和DS12C887结构功能上类似,现以DS12887为例说明如下:CPU通过读DS12887的内部时标寄存器得到当前的时间和日历,也可通过选择二进制码或BCD码初始化芯片的10个时标寄存器。其114bit非易失性静态RAM可供用户使用,对于没有RAM的单片机应用系统,可在主机掉电时来保存一些重要的数据。DS12887的4个状态寄存器用来控制和指出DS12887模块的当前工作状态,除数据更新周期外,程序可随时读写这4个寄存器,各寄存器的功能和作用如下。 31 DS12887内部RAM各专用寄存器地址功能 表1为DS12887内部RAM和各专用寄存器地址分布表,其中,地址00H03H单元取值范围是00H3BH(10进制为059);04H05H单元按12小时制取值范围是上午(AM)01H0CH(112),下午(PM)81H8CH(8192)按24小时制取值范围是00H17H(123);06H单元取值范围是00H07H(07);07H单元取值范围01H1FH(131);08H单元取值范围是01H0CH(112);09H单元的取值范围是00H63H(099)。DS12887的RAM和各专用寄存器的访问如下实现,若片选地址DS=#0DDXXH,则芯片内部RAM 和寄存器和地址为#0DD00H#0DD7FH。应指出的是,尽管DS12887的专用时标年寄存器只有一个,但通过软件编程可利用其内部的不掉电的RAM区的一个字节实现年度的高两位显示,所以,DS12887跨越2000年的计时不成问题。 表1 DS12887内部RAM和各专用寄存器地址 地址单元 用途 地址单元 用途 地址00H 秒 地址01H 秒闹 地址02H 分 地址03H 分闹 地址04H 时 地址05H 时闹 地址06H 星期 地址07H 日(两位数) 地址08H 月(两位数) 地址09H 年(两位数) 地址0AH 寄存器A 地址0BH 寄存器B 地址0CH 寄存器C 地址0CH 寄存器D 0EH7EH 不掉电RAM区,共114字节 32 寄存器A 寄存器A各位不受复位的影响,UIP位为只读位,其它各位均可读写,寄存器的控制字的格式如表2所列。 表2 DS12887控制寄存器A各布尔位定义 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0 (1) UIP位:更新周期标志位。该位为“1”时,表示芯片正处于或将开始更新周期,此时程序不准读写时标寄存器;该位为“0”时,表示至少在244us后才开始更新周期,此时程序可读芯片内时标寄存器。该位是只读位。 (2) DV0、DV1、DV2:芯片内部振荡器RTC控制位。当芯片解除复位状态,并将010写入DV0、DV1、DV2后,另一个更新周期将在500ms后开始。因此,在程序初始化时可用这三位精确地使芯片在设定的时间开始工作。这与MC146818不同的是,DS12887固定使用32 768Hz的内部晶体,所以,DV0=“0”,DV1=“1”,DV2=“0”,即只有一种010的组合选择即可启动RTC。 (3) RS3、RS2、RS1、RS0:周期中断可编程方波输出速率选择位。各种不同的组合可以产生不同的输出。程序可以通过设置寄存器B的SQWF和PIE位控制是否允许周期中断方波输出。其寄存器A输出速率选择位如表3所列。 表3DS12887控制寄存器A输出速率选择位定义 寄存器A输出速率选择位 32768Hz时基 RS3 RS2 RS1 RS0 中断周期 SQWF输出频率 0 0 0 0 无 无 0 0 0 1 3.96625ms 256Hz 0 0 1 0 7.8125ms 128Hz 0 0 1 1 122.07us 8.192kHz 0 1 0 0 244.141us 4.096kHz 0 1 0 1 488.281us 2.048kHz 0 1 1 0 976.562us 1.024kHz 0 1 1 1 1.953125ms 512Hz 1 0 0 0 3.90625ms 256Hz 1 0 0 1 7.812ms 128Hz 1 0 1 0 15.625ms 64Hz 1 0 1 1 31.25ms 32Hz 1 1 0 0 62.5ms 16Hz 1 1 0 1 125ms 8Hz 1 1 1 0 250ms 4Hz 1 1 1 1 500ms 2Hz 33 寄存器B 寄存器B允许读写,主要用于控制芯片的工作状态。寄存器B的控制字的格式如表4所列。 表4 DS12887控制寄存器B各布尔位定义 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 SET PIE AIE UIE SQWE DM 24/12 DSF (1) SET位:当该位为“0“时,芯片处于正常工作状态,每秒产生一个更新周期来更新时标寄存器。为“1”时,芯片停止工作,程序在此期间可初始化芯片的各个时标寄存器。 (2) PIE、AIE、UIE位:分别为周期中断、报警中断、更新周期结束中断允许位。各位为“1”时,允许芯片发相应的中断。 (3) SQWE位:方波输出允许位。SQWE=“1”,按寄存器A输出速率选择位所确定的频率输出方波;SQWE=“0”,脚SQW保持低电平。 (4) DM位:时标寄存器用于十进制BCD码表示或用二进制表示格式选择位。DM=“0”时,为十进制BCD码;DM=“1”时,为二进制码。 (5) 24/12位:24/12小时模式设置位。24/12位=“1”时,为24小时工作模式;24/12=“0”时,为12小时工作模式。 (6) DSE位:复令时服务位。DSE=“1”时,夏时制设置有效,夏时制结束可自动刷新恢复时间;DSE=“0”,无效。 34 寄存器C 寄存器C的控制字的格式如表5所列。该寄存器的特点是程序访问读寄存器后,该寄存器的内容将自动清零,从而使IRQF标志位变为高电平,否则,芯片将无法向CPU申请下一次中断。 表5 DS12887控制寄存器C各布尔位定义 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 IRQF PF AF UF 0 0 0 0 (1) IRQF位:中断申请标志位。该位逻辑表达式为:IRQF=PFPIE+AFAIE+UFUIE。当IRQF位变“1”时,引脚将变低电平引发中断申请。 (2) PF、AF、UF位:这三位分别为周期中断、报警中断、更新周期结束中断标志位。只要满足各中断的条件,相应的中断标志位将置“1”。 (3) BIT3BIT0:未定义的保留位。读出值始终为0。 35 寄存器D 寄存器D为只读寄存器。BIT 7 : VRT位。 DS12887控制寄存器D各布尔位定义 (1) VRT位:芯片内部RAM与寄存器内容有效标志位。当为“0”时表示内部电池即将耗尽。该位为“1”时,指芯片内部RAM和寄存器内容有效。读该寄存器后,该位将自动置“1”。 (2) BIT6BIT0位:保留位。读出的数值始终为0。 4、 DS12887/DS12C887的中断和更新周期 DS12887/DS12C887处于正常工作状态时,每秒钟将产生一个更新周期,芯片处于更新周期的标志是寄存器A中的UIP位为“1”。在更新周期内,芯片内部时标寄存器数据处于更新阶段,故在该周期内,微处理器不能读芯片时标寄存器的内容,否则将得到不确定数据。更新周期的基本功能主要是刷新各个时标寄存器中的内容,同时秒时标寄存器内容加1,并检查其他时标寄存器内容是否有溢出。如果有溢出则相应进位日、月、年。另外一个功能是检查三个时、分、秒报警时标寄存器的内容是否与对应时标寄存器的内容相符,如果相符则寄存器C中的AF位置“1”。如果报警时标寄存器的内容为C0H到FFH之间的数据,则为不关心状态。 为了采样时标寄存器中的数据,DS12887/DS12C887提供了两样种避开更新周期内访问时标寄存器的方案:第一种是利用更新周期结束发出的中断。它可以编程允许在每次更新周期结束后发生中断申请,提醒CPU将有998ms左右的时间去获取有效的数据,在中断之后的998ms时间内,程序可先将时标数据读支芯片内部的不掉电静态RAM中。因为芯片内部的静态RAM和状态寄存器是可随时读写的,在离开中断服务子程序前应清除寄存器C中的IRQF位。另一种是:利用寄存器A中的UIP位来指示芯片是否处于更新周期。在UIP位从低变高244us后,芯片将开始其更新周期,所以检测到UIP位为低电平时,则利用224us的间隔时间去读取时标信息。如检测到UIP位为“1”,则可暂缓读数据,等到UIP变成低电平再去读数据。 5、 DS12887/DS12C887的编程方法 51 DS12887/DS12C887初始化方法 DS12887/DS12C887采取连续工作制,一般无须每次都初始化,即使是系统复位时也如此。但初始化时,首先应禁止芯片内部的更新周期操作,所以先将DS12887/DS12C887状态寄存器B中的SET位置“1”,然后初始化00H09H时标参数寄存器和状态寄存器A,此后再通过读状态寄存器C,清除寄存器C中的周期中断标志位PF,报警中断标志位AF,更新周期结束中断标志位UF。通过读寄存器口D中的VRT位,读状态寄存器口后VRT位将自动置“1”,最后将状态寄存器B中的SET位置“0”,芯片开始计时工作。 52 闹钟单元的使用方法 DS12887/DS12C887共有3个闹钟单元,分别为时、分、秒闹钟单元。在其中写入闹钟时间值并且在时钟中断允许的情况下每天到刻就会产生中断申请信号。但这种方式每天只提供一次中断信号。另一种方式是在闹钟单元写入“不关心码”,在时闹钟单元写入C0HFFH之间的数据,可每小时产生一次中断;在时、分闹钟单元写入C0HFFH之间的数据,可每分钟产生一次中断;而时、分、秒闹钟单元全部写入FFH,则每秒钟产生一次中断。但这种方式也只能在整点、整分或整秒产生一次中断。但控制系统要求的定时间隔不是整数时,则应该通过软件来调整实现。 53 DS12887/DS12C887的编程 所示的是AT89C52单片机与DS12887/DS12C887的接口电路,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 媒体广告发布合作协议及广告合同
- 农业机械供货方案与质量保障措施
- 航空航天项目全过程工程咨询服务管理目标及控制措施
- 农村集体经济组织互助协议
- 保险产品代理销售与佣金结算合同
- 集体协商机制创新-洞察及研究
- 阻燃涂层耐蚀性优化策略-洞察及研究
- 智能建筑施工质量进度安全保证措施
- 风电场基坑施工地质风险及预防措施
- 畜牧养殖技术交流及合作意向书
- GB 1886.232-2016食品安全国家标准食品添加剂羧甲基纤维素钠
- 2023年赣州市建兴控股投资集团有限公司招聘笔试题库及答案解析
- 地理信息系统技术概述课件
- 脑梗死病人-护理查房课件
- 人类行为与社会环境全套课件
- 医院介入手术病人护送交接流程
- 学校家庭教育指导(班主任培训班) 课件
- 骨关节结核教案
- 楼板厚度检测报告
- 纳米材料ppt课件精品课件
- 精神发育迟滞课件
评论
0/150
提交评论