51单片机控制实时时钟X1226的应用设计

发布者:SparkleMagic最新更新时间:2011-12-31 关键字:51单片机  实时时钟  X1226 手机看文章 扫描二维码
随时随地手机看文章
引 言
    X1226具有时钟和日历的功能,时钟依赖时、分、秒寄存器来跟踪,日历依赖日期、星期、月和年寄存器来跟踪,日历可正确通过2099年,具有自动闰年修正。
    拥有强大的双报警功能,能够被设置到任何时钟/日历值上,精确度可到ls。可用软件设置1 Hz,4096 Hz或32768Hz中任意一个频率输出。
    该器件提供一个备份电源输入脚VBACK1允许器件用电池或大容量电容备份供电。许多电池类型能够用做Xicor公司实时时钟器件X1226的备份电池,3.OV或3.6V的锂离子电池较为适合,使用期限为10年。另外一种用法可选择一个大容量的电容,备份时间可持续几天至两个星期,时间的长短依赖于电容容量的大小。用一个简单的硅或肖特基二极管连接到Vcc和充电电容的两端,充电电容连接到Vback引脚,注意不能使用二极管对电池充电(特别是锂离子电池)。切换到电池供电的条件是Vcc=Vback—O.1V,正常操作期间,供电电压Vcc必须高于电池电压,否则电池电量将逐步耗尽。

    振荡器所需晶体,采用外接32.768kHz的晶体。产生的振荡误差可通过软件对数字微调寄存器、模拟微调寄存器的数值进行调节加以修正,避免了外接电阻和电容的离散性对精度的影响。
    器件可提供4Kb的EEPROM,8块加锁控制。可用作大量用户数据存储的存储器,具有安全、保密性。这个存储器的数据在主电源和备用电源全都失效时不受影响。


1 电路组成及工作原理
    实时时钟器件X1226可与各种类型的微控制器或微处理器接口,接口方式为串行的I2C接口。其中数据总线SDA是一个双向引脚,用于输入或输出数据。它是一个漏极开路输出,在使用过程中需要添加上拉电阻,阻值大约在4.7Ω~10kΩ之间。本文介绍89C5l单片机与X1226的接口方法,由于89C51单片机没有标准的I2C接口,只有用软件进行模拟。 
    为了更直观地看到时间变换,采用八位LED数码管显示年、月、日或时、分、秒的变换,LED数码管的驱动采用本公司自有产品PS7219A,数码管选择1.27cm共阴极红色或绿色LED数码管。由于PS7219A器件内含IMP810单片机监控器件,复位输出高电平有效,因此在使用51系统时,无需添加监控器件,使用PS7219A的复位输出给51单片机复位即可,监控电压4.63V。硬件设计原理图如图1所示。 

    在硬件通电调试过程中,请不要用手去触摸实时时钟X1226的晶体,这样可能会导致振荡器停振。恢复振荡器起振的方法是关闭电源(包括备份电源)重新上电另外需要说明的是,测量振荡器时,请不要用示波器的探头去测量X2的振荡输出,正确的方法是用探头去测量PHz/IRQ的振荡输出,以确定是否起振和振荡频率是否准确。测量时建议在该脚加一个5.lk Ω的上拉电阻。
    注意:在印刷电路设计时,xl226的布线请参考X1226数据手册的厂家推荐方法。


2 软件设计
    X1226由实时时钟寄存器(RTC)、状态寄存器(SR)、控制寄存器(CONTROL)、报警寄存器(Alarm0、Alarml)和客户数据存储器组成。由于实时时钟寄存器(RTC)和状态寄存器(SR)需要进行频繁的写操作,因此它的存储结构为易失性SRAM结构,该结构对写操作的次数没有限制。其它寄存器结构均为非易失性EEPROM结构,该结构对写操作有次数限制,通常在10万次以上。X1226初始化程序流程如图2所示。

启动条件子程序:
    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所示。单片机首先通过系统温度传感器获取环境温度, 并在补偿参数表中获取对应的补偿值, 然后将补偿数据填写到相应的微调寄存器中,就能实现温漂补偿的目的。

关键字:51单片机  实时时钟  X1226 引用地址:51单片机控制实时时钟X1226的应用设计

上一篇:8位51单片机与以太网控制器RTL8029接口的VHDL设计
下一篇:51单片机的13×14点阵缩码汉卡

推荐阅读最新更新时间:2024-03-16 12:50

深入理解51单片机串口通信及通信实例
  串口通信的原理   串口通信(SerialCommunications)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验
[单片机]
深入理解<font color='red'>51单片机</font>串口通信及通信实例
51单片机串口通讯之中断法
程序讲解: /*---------------------------------------------------------------*/ //串口通讯 //按下按钮,单片机发送数据 Come On!\r\n 给主机 //单片机晶振:11.0592MHz //波特率: 9600bps /*-------------------------------------------------------------*/ //包含头文件 #include at89x52.h unsigned char co de tab ={ Come On!\r\n }; #define k1 P3_2 //对应开发板
[单片机]
一种利用串口51单片机远程升级 OTA
回馈网友的心态,发一篇关于OTA的贴,不喜勿喷,随着现在科技的发展,市面上出现很多带wifi,蓝牙等智能产品,为满足人们对产品可以不断完善,诞生了这种远程升级的技术。 在此之前呢,做过一个stm32远程升级的项目,这种片子的代码地址偏移性很好,load程序和应用程序划分好就可以,后来就想51这种便宜的mcu,能不能也实现这个功能呢,这就有了这次的实验。 废话不多说,先说说原理,OTA主要就三部分,一个是load程序,一个是应用程序,还有带升级的程序,三个分别存储在不同地址,我以flash 32K为例。如下图 为什么要这样划分地址呢。主要是因为51单片机的中断地址不能发生偏移(至少我不知道怎么偏移),所以我运行的程序
[单片机]
一种利用串口<font color='red'>51单片机</font>远程升级 OTA
8051单片机基本操作
1. P0   1.1 构成   1.2 做输入端口   1.3 做输出端口 2. P1   2.1 构成   2.2 做输入端口   2.3 做输出端口 3. P2   3.1 构成   3.2 做输入端口   3.3 做输出端口 4. P3   4.1 构成   4.2 做输入输出端口 5. 总结 51单片机并行GPIO,按其特性分为 单一的准双向口 多功能复用准双向口 地址总线输出准双向口 地址/数据总线口的三态双向 P0 ~ P3口都有各自的用法: P0:常作系统数据或低8位地址复用口,第二功能:用于系统扩展 P1:常作通用I/O口使用 P2:常作系统高8位地址,第二功能:用于系统扩展 P3:常用第二功能 1. P0
[单片机]
80<font color='red'>51单片机</font>基本操作
基于51单片机的流水灯设计
三个按键:A按键启动、B按键控制不同流水速度(低中高)、C按键 设计思路一(未用中断): 8个LED灯正极解电源,负极接单片机I/O口。 死循环:设置P2口为11111110,使用左移函数,循环七次。 同时每次位移中间加入延时函数。 三个按键:A按键启动、B按键控制不同流水速度(低中高)、C按键控制流水灯暂停蜂鸣器长响: 思路一:设置一个变量i,起初为0,按下A键后为1;当i为1进入死循环 设置变量j,按下B,j++,当j大于3,j=j-3;使用j*1000,来空置循环函数的延时时间。设置bit变量s=0,按下按键C,s++,当s=1,j进入循环蜂鸣器响,s=0退出循环。 在每次延时时检查按键 #inclu
[单片机]
基于<font color='red'>51单片机</font>的流水灯设计
基于ADC081S051与51单片机的接口电路及驱动程序
  引言   自然界存在的信号通常为模拟信号,在测控系统中通常将采集到的模拟信号数字化,然后交给微处理器或微控制器进行处理。因此模数转换器成为测控系统中不可缺少的部分。ADC081S051 模数转换器是国家半导体公司生产的低功率单通道CMOS 8位A/D转换器,它采用串行外设接口方式进行数据输出。与传统的器件不同的是,传统器件的采样速率是固定的,而ADC081S051 的采样速率可以在200~500 KSPS 范围内可变。   ADC081S051 的数据输出是串行数据输出,它与SPI、QSPI 等一些标准相兼容。它的工作电压范围在2.7~5.25 V,因此可以采用3 V或者5 V电源供电。它可以应用于便携式系统、远程数据采集
[单片机]
基于ADC081S051与<font color='red'>51单片机</font>的接口电路及驱动程序
51单片机8*8点阵LED的显示原理及程序设计
在8X8点阵LED上显示柱形,让其先从左往右平滑移动三次,其次从右往左平滑移动三次,再次从上往下平滑移动三次,最后从下往上平滑移动三次,如此循环。 1. 程序设计内容 8X8点阵LED工作原理说明 :8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述: 一根竖柱:对应的列置1,而行则采用扫描的方法来实现。 一根横柱:对应的行置0,而列则采用扫描的方法来实现。 2. 硬件电路 3.汇编源程
[单片机]
<font color='red'>51单片机</font>8*8点阵LED的显示原理及程序设计
基于GSM模块Q2403A和8051单片机实现短消息收发系统的应用方案
基于GSM短消息的业务不需要建立拨号连接,只需把待发的消息加上目的地址发送至短消息中心,再由短消息中心转发到最终目标。GSM 短消息业务以其连接简单、费用低廉、覆盖范围广、实现方便等优点得到了广泛的应用。运用 GSM 短消息实现远程测控的可靠性较高、信号传播距离远、覆盖面积广,并且可以节省建网初期的巨额投资。 本文对基于GSM短消息收发系统的设计与实现作了具体描述,给出了系统的软硬件设计方案,对主要硬件,即GSM模块Q2403A 和8051单片机作了重点介绍。给出了系统的软件设计,包括PC与单片机通信部分和短消息收发部分。最后实现系统监控功能。 系统硬件实现 总体系统结构 该系统硬件主要由8051单片机扩展电路、Q2403
[单片机]
基于GSM模块Q2403A和80<font color='red'>51单片机</font>实现短消息收发系统的应用方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved