一种新型的时钟日历芯片DS12C887

发布者:haoying最新更新时间:2006-09-06 来源: 国外电子元器件关键字:寄存器  读取  总线 手机看文章 扫描二维码
随时随地手机看文章

1 器件特性

  DS12C887实时时钟芯片功能丰富,可以用来直接代替IBM PC上的时钟日历芯片DS12887,同时,它的管脚也和MC146818B、DS12887相兼容。

  由于DS12C887能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题; DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一天内的时间记录,有12小时制和24小时制两种模式。在12小时制模式中,用AM和PM区分上午和下午;时间的表示方法也有两种,一种用二进制数表示,一种是用BCD码表示;DS12C887中带有128字节 RAM,其中有11字节RAM用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,称为控制寄存器,113字节通用RAM使用户使用;此外用户还可对DS12C887进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。

2 引脚功能

  DS12C887的引脚排列如图1所示,各管脚的功能说明如下:

  GND、 VCC:直流电源,其中VCC接+5V输入,GND接地,当VCC输入为+5V时,用户可以访问DS12C887内RAM中的数据,并可对其进行读、写操作;当VCC的输入小于+4.25V时,禁止用户对内部RAM进行读、写操作,此时用户不能正确获取芯片内的时间信息;当VCC的输入小于+3V时, DS12C887会自动将电源发换到内部自带的锂电池上,以保证内部的电路能够正常工作。

  MOT:模式选择脚,DA12C887有两种工作模式,即Motorola模式和Intel模式,当MOT接VCC时,选用的工作模式是Motorola模式,当MOT接GND时,选用的是Intel模式。本文主要讨论Intel模式。

  SQW:方波输出脚,当供电电压VCC大于4.25V时,SQW脚可进行方波输出,此时用户可以通过对控制寄存器编程来得到13种方波信号的输出。

  AD0~AD7:复用地址数据总线,该总线采用时分复用技术,在总线周期的前半部分,出现在AD0~AD7上的是地址信息,可用以选通DS12C887内的RAM,总线周期的后半部分出现在AD0~AD7上的数据信息。

  AS:地址选通输入脚,在进行读写操作时,AS的上升沿将AD0~AD7上出现的地址信息锁存到DS12C887上,而下一个下降沿清除AD0~AD7上的地址信息,不论是否有效,DS12C887都将执行该操作。

  DS/RD:数据选择或读输入脚,该引脚有两种工作模式,当MOT接VCC时,选用Motorola工作模式,在这种工作模式中,每个总线周期的后一部分的DS为高电平,被称为数据选通。在读操作中,DS的上升沿使DS12C887将内部数据送往总线AD0~AD7上,以供外部读取。在写操作中,DS的下降沿将使总线 AD0~AD7上的数据锁存在DS12C887中;当MOT接GND时,选用Intel工作模式,在该模式中,该引脚是读允许输入脚,即Read Enable。

  R/W:读/写输入端,该管脚也有2种工作模式,当MOT接VCC时,R/W工作在Motorola模式。此时,该引脚的作用是区分进行的是读操作还是写操作,当R/W为高电平时为读操作,R/W为低电平时为写操作;当MOT接GND时,该脚工作在Intle模式,此时该作为写允许输入,即Write Enable。

  CS:片选输入,低电平有效。

  IRQ:中断请求输入,低电平有效,该脚有效对DS12C887内的时钟、日历和RAM中的内容没有任何影响,仅对内部的控制寄存器有影响,在典型的应用中,RESET可以直接接VCC,这样可以保证DS12C887在掉电时,其内部控制寄存器不受影响。

  在DS12C887内有11字节RAM用来存储时间信息,4字节用来存储控制信息,其具体垢地址及取值如表1所列。

  由表1可以看出:DS12C887内部有控制寄存器的A-B等4个控制寄存器,用户都可以在任何时候对其进行访问以对DS12C887进行控制操作。

表1 DS12C887的存储功能

地? 址 功  能 取值范围十进制数 取值范围
二进制 BCD码
0 0~59 00~3B 00~59
1 秒闹铃 0~59 00~3B 00~59
2 059 00~3B 00~59
3 分闹铃 0~59 00~3B 00~59
4 12小时模式 0~12 01~0C AM,
81~8C PM
01~12AM,
81~92PM
24小时模式 0~23 00~17 00~23
5 时闹铃,12小时制 1~12 01~0C AM,
81~8C PM
01~12AM,
81~92PM
时闹铃,24小时制 0~23 00~17 00~23
6 星期几(星期天=1) 1~7 01~07 01~07
7 1~31 01~1F 01~31
8 1~12 01~0C 01~12
9 0~99 00~63 00~99
10 控制寄存器A      
11 控制寄存器B      
12 控制寄存器C      
13 控制寄存器D      
50 世纪 0~99 NA 19,20

3 应用

  在各种设备、家电、仪器、工业控制系统中,可以很容易地用DS12C887来组成时间获取单元,以实现各种时间的获取。图2是用8031单片机和 DS12C887构成的时间获取电路图,其中DS12C887的基地址为7F00H,相应的程序采用C51语言编写(以Intel工作模式为例)。

  由8031单片机和DS12C887构成的时间获取电路的初始化程序如下:

XBYTE[0x7F00+0x0B]=0x82;

XBYTE[0x7F00+0x0A]=0xA0;

XBYTE[0x7F00+0x0A]=0x20;

XBYTE[0x7F00+0x0B]=0x02;

/*所有的中断禁止,24小时制,BCD码模式*/

以下均获取时间程序:

unsigned char data t-century;

unsigned char data t-year;

unsigned char data t-month;

unsigned char data t-date;

unsigned char data t-week;

unsigned char data t-hour;

unsigned char data t-minute;

unsigned char data t-second;

if((XBYTE[7F00+0x0A]&0x80)!=0){

t-century=XBYTE[0x7F00+0x32];/*读取世纪*/

t-year=XBYTE[Ox7F00+0x09];/*读取年份*/

t-month=XBYTE[Ox7F00+0x08];/*读取月份*/

t-date=XBYTE[Ox7F00+0x07];/*读取日期*/

t-week=XBYTE[Ox7F00+0x06];/*读取星期几*/

t-hour=XBYTE[Ox7F00+0x04];/*读取小时*/

t-minute=XBYTE[DS12887+0x02];/*读取分钟*/

t-second=XBYTE[Ox7F00+0x00];}/*读取秒*/

4 结束语

  Dallas公司的时钟日历芯片DS12C887功能丰富,使用简单,可能性高,是时间产生电路的良好选择。

关键字:寄存器  读取  总线 引用地址:一种新型的时钟日历芯片DS12C887

上一篇:一种新型的时钟日历芯片DS12C887
下一篇:锁相环CD4046应用

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

ST9+系列单片机I2C总线驱动程序实现
串行扩展总线技术是新一代单片机技术发展的一个显著特点,其中Philips公司推出的I2C总线最为著名。I2C总线最显著的特点是规范的完整性、结构的独立性和用户使用时的简单化。 I2C总线有严格的规范,如接口的电气特性、信号时序、信号传输的定义、总线状态设置、总线管理规则及总线状态处理等。与并行扩展总线相比,串行扩展总线有突出的优点:电路结构简单,程序编写方便,易于实现用户系统软硬件的模块化、标准化等。      目前I2C总线技术已为许多著名公司所采用,并广泛应用于视频、音频系统中。推广I2C总线技术将有助于提高我国单片机应用开发水平。意法半导体公司(SGS-THOMSON)是全球十大半导体制造商之一,其领先单片机产品ST9
[单片机]
ST9+系列单片机I2C<font color='red'>总线</font>驱动程序实现
解决多总线系统级芯片测试问题的多域方法
多总线IC设计的迅速涌现将使测试过程更为复杂,对于基于多时钟域和高速总线的复杂IC设计,传统的ATE方法缺乏必要的多域支持和足够的性能以确保快速的测试开发和高效能。本文提出在测试复杂的多域IC过程中,可以使用单周期和多周期模式策略。通过将适用的模式策略与在这些平台中有效使用的高级ATE工具相结合,测试工程人员可为高性能IC(如北桥)设计更有效的测试解决方案。 随着数据率的增加,自动测试仪器( ATE )通常会丧失时序灵活性。在不支持多时域的ATE系统中,必须进行必要的折衷:要么运行在较低的数据率上,要么通过改变仿真以使其中一个时钟域工作在与现有时域相同的数据率上。上述两种情形中,器件将不能以与“原始模式(native mode
[测试测量]
解决多<font color='red'>总线</font>系统级芯片测试问题的多域方法
STM8 CAN外部时钟控制寄存器
STM8 CAN外部时钟控制寄存器(CLK_CANCCR) 地址偏移值:0x0B 复位值:0x00 位7:3 保留。始终为0。 位2:0 CANDIV :外部CAN时钟分频值 由软件写入,用于指定外部CAN时钟的分频值。详情请参见章节23.9 000:外部CAN时钟=fHSE/1(复位值) 001:外部CAN时钟=fHSE/2 010:外部CAN时钟=fMASTER/4 … 111:外部CAN时钟=fMASTER/8
[单片机]
STM8 CAN外部时钟控制<font color='red'>寄存器</font>
基于RS-485总线的分布式金刚石加工监控系统研制
  1 引言   特种金刚石聚晶的合成,对加工工艺要求的非常严格,产品质量好坏受合成炉加温工艺、加压工艺影响较大。目前传统的金刚石聚晶加工合成设备采用人工通过监测电流、压力显示仪表进行手工操作控制,对操作工素质的要求较高,产品的合格率及生产效率也难以提高。本课题项目,主要研究基于总线技术的控制系统,给特种 金刚石聚晶合成控制提供一个硬件基础,改变原来的监控手段,实现了加工工艺参数的自动精确监测和按造加工工艺控制,减少人为因素造成的不合格产品,提高产品的成品率。本文介绍系统的设计与性能测试方法。   2 系统体系结构及实现   2.1 系统体系结构   考虑到金刚石聚晶合成现场强电设备较多,现场噪声干扰严重等,如采用传统的
[嵌入式]
如何制作一款火柴盒示波器?
步骤 1:以每秒 1M 个样本进行采样 火柴盒示波器的制作 我们称这个示波器为“ArdOsc”(因为这是 INO 文件的名称)。 六年前,Cristiano Lino Fontana 为他的 Girino 设计发布了一个 Instructable。 它有点工作但有问题。特别是,它的最大可靠采样率约为 37ksps(75ksps 偶尔会冻结)并且触发器似乎无法正常工作。它也没有显示。 Girino 很慢,因为它使用中断。由于保存和恢复寄存器所需的代码,中断很慢。中断是危险的,因为它们可能导致软件出现错误,而且很少发生错误。我已经编写了 40 年的嵌入式代码,我尽可能避免中断。轮询好,中断不好。注意我的话。
[测试测量]
如何制作一款火柴盒示波器?
《初学者C51自学笔记》之流水灯实现(总线操作)
#include reg52.h #define uchar unsigned char //宏定义 #define uint unsigned int unsigned char table ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//11111110,11111101,11111011..... /* 延时 */ void delay(void) { uchar a,b; for(a=0;a 200;a++) for(b=0;b 200;b++); } void main() { uchar i; while(1) { f
[单片机]
STM32F1系列单片机USB外设相关寄存器的定义
Keil MDK网站上下载的Keil.STM32F1xx_DFP.2.2.0.pack包中的stm32f10x.h头文件里面没有USB_TypeDef的定义,只有寄存器位的定义,是不完整的头文件。没有USB的数据结构就会给访问USB寄存器带来一定的困难。虽然可以参照STM32参考手册中的USB register map自己编写出USB_TypeDef结构体,但是这样比较麻烦。 不过,STM32CubeMX工具生成的STM32F103工程中的头文件stm32f103xe.h中就有完整的USB数据结构,该头文件的版本是V4.2.0,日期为31-March-2017,作者仍然是Keil里面的MCD Application Team,
[单片机]
基于CAN总线的DSP芯片程序受控加载设计实现
   CAN总线概念   CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。   现在,CAN 的高性能和可
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

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