51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > 单片机技术文章 > 51单片机 > 详细内容
单片机时钟电路程序设计
发布时间:2009/6/29  阅读次数:2545  字体大小: 【】 【】【

启动条件子程序:
       SETB         SDA
       LCALL       YS4
       SETB         SCL
       LCALL       YS4
       CLR           SDA
       LCALL       YS4
       CLR           SCL
       LCALL       YS4
       RET
停止条件子程序:
       CLR           SDA
       LCALL       YS4
       SETB         SCL
       LCALL       YS4
       SETB         SDA
       RET
       注:子程序YS4的作用是延时4μs。
2.1 写操作
       X1226初始化操作后,单片机对X1226进行开始条件的设置,在写CCR或EEPROM之前,主机必须先向状态寄存器写02H,确认应答信号,确认后写入06H,再确认应答信号。确认后启动了写操作。首先发送高位地址,然后发送低位地址。Xl226每收到一个地址字节后,均会产生一个应答信号。在两个地址字节都收到之后,X1226等待8位数据。在收到8位数据之后,X1226再产生一个应答。然后单片机通过产生一个停止条件来终止传送。
       Xl226具有连续写入功能,X1226在收到每个字节后,响应一个应答,其内部将地址加一。当计数器达到该页的末尾时,它自动的“返回”到该页的首地址。这意味着单片机可从某一页的任何位置开始向存储器阵列连续写入64字节或向CCR连续写入8字节。
       写入Xl226数据子程序:

             MOV               R5,#8

SENDI:MOV               A,DATASE
             RLC               A
             MOV               DATASE,A
             MOV               SDA,C
             SEB               SCL
             LCALL           YS4
             CLR               SCL
             LCALL           YS4
             DJNZ             R5,SENDl
             RET
2.2读操作
       在上电时,16位地址的默认值为0000H。X1226初始化操作之后,单片机对X1226进行开始条件的设置,在写CCR或EEPROM之前,主机必须先向状态寄存器写02H,确认应答信号,确认后写入06H,再确认应答信号。确认后启动了写操作。首先发送高位地址,然后发送低位地址。Xl226每收到一个地址字节后,均会产生一个应答信号。单片机发送另一个开始条件,将R/W位设置为l,接着就是接收8位数据。单片机终止读操作时,无需等待X1226的应答信号,单片机即可设置停止条件。
       读出X1226数据子程序:

             MOV             R5,#8
             MOV             DATARE,#0
             SETR           SDA
             CLR             C
READl:SETB           SCL
             LCALL         YS4

       MOV C,SDA
       CLR SCL
       MOV A,DATARE
       RLC A
       MOV DATARE,A
       LCALL YS4
       DJNZ R5,READl
       RET
2.2 X1 226独特的振荡器频率在线补偿调节功能
       Xicor公司在X1226芯片上集成了振荡器补偿电路,这使得用户通过软件,可在线对振荡器频率进行微调,这种对振荡器频率进行的微调通常针对两种情况。一种情况是在25℃常温下,对振荡器因器件初始精度带来的频率偏差进行补偿;第二种情况是对因温度引起的频率漂移进行补偿。X1226内部设有数字微调寄存器(DTR)和模拟微调寄存器(ATR),两个寄存器均为非易失性寄存器。数字微调寄存器(DTR)具有三位数字微调位,调节范围一30ppm~+30ppm。模拟微调寄存器(ATR)具有六个模拟微调位,调节范围+116ppm~-37ppm。

       为了能够对外界环境温度变化引起的温漂进行补偿, 要求系统中设计一个温度传感器,并尽量让它靠近实时时钟器件X1226,这样可以真实地反映振荡器的温度,原理图如图3所示。单片机首先通过系统温度传感器获取环境温度, 并在补偿参数表中获取对应的补偿值, 然后将补偿数据填写到相应的微调寄存器中,就能实现温漂补偿的目的。

  

我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号