- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DS12887 DS12C887 的编程方法
DS12887/ DS12C887 的编程方法
1 DS12887/ DS12C887 初始化方法
DS12887/ DS12C887 采取连续工作制 ,一般无须每次都初始化 ,即使是系统复位时也如此。但初始化时 ,首先应禁止芯片内部的更新周期操作 ,所以先将 DS12887/ DS12C887 状态寄存器 B 中的 SET位置 “1”,然后初始化 00H~09H时标参数寄存器和状态寄存器A ,此后再通过读状态寄存器 C ,清除寄存器 C 中的周期中断标志位 PF、 报警中断标志位AF、 更新周期结束中断标志位 UF。通过读寄存器口D中的 VRT位 ,读状态寄存器口后 VRT位将自动置 “1”,最后将状态寄存器B 中的 SET 位置 “0”,芯片开始计时工作。
2 闹钟单元的使用方法
DS12887/DS12C887 共有 3 个闹钟单元 ,分别为时、 分、 秒闹钟单元。在其中写入闹钟时间值并且在时钟中断允许的情况下每天到该时刻就会产生中断申请信号。但这种方式每天只提供一次中断信号。另一种方式是在闹钟单元中写入 “不关心码”,在时闹钟单元写入 C0H~FFH之间的数据 ,可每小时产生一次中断;在时、 分闹钟单元写入 C0H~FFH之间的数据 ,可每分钟产生一次中断;而时、分、 秒闹钟单元全部写入 FFH ,则每秒钟产生一次中断。但这种方式也只能在整点、 整分或每秒产生一次中断。但控制系统要求的定时间隔不是整数时 ,则应该通过软件来调整实现。
3 DS12887/ DS12C887 的编程
图所示的是 AT89C51 单片机与 DS12887/DS12C887 的接口电路 ,片选地址 CS = # 0DDXXH。DS12887/ DS12C887 状态寄存器的参数设置如下:状态寄存器A 置为 20H ,它表示采用的时钟频率为32. 678kHz ,禁止脚 SQW输出。状态寄存器B 置为22H ,它表示允许报警中断 ,禁止其他中断 ,置 24 小时模式 ,时标寄存器内容用 BCD 码表示 ,禁止方波输出和夏令时服务。如果要求定时间隔为 1 秒至59分钟的中断申请 ,那么时报警寄存器置 FFH ,这就表示了该报警时标处于不关心状态。下面给出了DS12887/ DS12C887的有关程序。
3. 1 DS12887/ DS12C887 初始化程序
t TIME: MOV DPTR , # 0DD0BH ;寄存器 B 中的 Rest 位置 “1” ,禁止芯片内部的更新周期
MOV A , # 0A2H
MOV @DPTR ,A;初始化 10bit 时标寄存器程序 ,输入当前时间:1999 年 2 月6 日 ,星期 6 ,12 :00 :00
MOV DPTR , # 0DD00H
MOV A , # 00H
MOVX @DPTR ,A ;秒时标单元
INC DPTR
MOV A , # 0FFH ;秒时标报警单元送不关心码MOVX@DPTR ,A
INC DPTR
MOVA , # 00H
MOVX@DPTR ,A
INC DPTR
MOV A , # 0FFH ;分时标报警单元送不关心码
MOVX @DPTR ,A
INC DPTR
MOV A , # 0CH ;小时时标单元送 12
MOVX @DPTR ,A
INC DPTR
MOV A , # 0FFH ;小时时标单元报警单元送不关心码
MOVX@DPTR ,A
INC DPTR
INC DPTR
MOV A , # 06H ;星期时标单元送 6
MOVX @DPTR ,A
INC DPTR
MOV A , # 06H ;日期时标单元送 6
MOVX @DPTR ,A
INC DPTR
MOV A , # 02H ;月时标单元送 2
MOVX @DPTR ,A
INC DPTR
MOV A , # 63H ;年时标单元送 99
MOVX @DPTR ,A
MOV DPTR , # 0DD0EH
MOV A , # 13H ;年度高两位送 19MOVX @DPTR ,A
MOV DPTR , # 0DD0AH
MOV A , # 20H ;初始化状态寄存器 A
MOV @DPTR ,AMOV DPTR , # 0DD0CH
MOVX A , @DPTR ;清状态寄存器 C
INC DPTR
MOVX A , @DPTR ;状态寄存器 D 的 URT位置 “1”
MOVDPTR , # 0DD0BH
MOV A , # 22H ;初始化状态寄存器B
MOV @DPTR ,A
MOV IE , # 81H ;89C511 开中断
RET
3. 2 判别芯片是否处于更新周期子程序(采用查询方法)
XIN :MOV DPTR , # 0DD0AH
MOVA , @DP
文档评论(0)