DS12887时钟芯片(中文资料一)
特点
·可以应用于MOTOROLA 和INTEL 两种总线
·可作为IBM AT 计算机的时钟和日历
·数据/地址总线复用
·与MC14681B 和DS1287的管脚兼容
·内建128字节RAM
·在没有外部电源的情况下可工作10年
14字节时钟控制寄存器
·自带晶体振荡器及电池
114字节通用RAM
·可计算到2100年前的秒、分、小时、星期、日期、
·可编程方波输出
月、年七种日历信息并带闰年补偿
·总线兼容中断(/IRQ)
·用二进制码或BCD 码代表日历和闹钟信息
·三种可编程中断
·有12和24小时两种制式,12小时制时有AM 和PM
时间性中断可产生每秒一次直到每天一次中断
提示
周期性中断122ms 到500ms
·可选用夏令时模式
时钟更新结束中断
管脚名称
AD0-AD7-地址/数据复用总线 NC -空脚
MOT -总线类型选择(MOTOROLA/INTEL) CS -片选 AS -ALE
R/W-在INTEL 总线下作为/WR DS -在INTEL 总线下作为/RD RESET -复位信号 IRQ -中断请求输出 SQW -方波输出 VCC -+5电源 GND -电源地
上电/掉电
当VCC 高于4.25V200ms 后,芯片可以被外部程序操作;当VCC 低于4.25V 时,芯片处于写保护状态(所有的输入均无效),同时所有输出呈高阻状态;当VCC 低于3V 时,芯片将自动把供电方式切换为由内部电池供电。
管脚功能
MOT (总线模式选择)
当此脚接到VCC 时,选用的是MOTOROLA 总线时序;当它接到地或不接时,选用的是INTEL 总线时序。
SQW (方波输出)-当VCC 低于4.25V 时没有作用。 周期性中断率和方波中断频率表
寄存器A 中的控制位
RS3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
1
RS2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
RS1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
RS0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
P1周期中断周
期
无 3.90625ms 7.8125ms 122.070μs 244.141μs 488.281μs 976.5625μs 1.953125ms 3.90625 ms 7.8125 ms 15.625 ms 31.25 ms 62.5 ms 125 ms 250 ms 500 ms
SQW 输出频率
无 256Hz 128Hz 8.192kHz 4.096 kHz 2.048 kHz 1.024 kHz 512 Hz 256 Hz 128 Hz 64 Hz 32 Hz 16 Hz 8 Hz 4 Hz 2 Hz
AD0-AD7(双向数据/地址复用总线) AS (地址锁存) ALE
DS (Data Strobe or Read Input) RD
当系统选择的是INTEL 总线模式时,DS 被称作RD 。当它有效时表示DS12887正在往总线输出数据。RD 信号线在有贮器芯片上被称作OE 信号线。 R/W(Read/Write Input) WR
CS(片选输入) CS
当VCC 低于4.25V 时,DS12887从内部禁止对外部CS 的操作。此时时钟和RAM 都被保护起来。 IRQ (中断请求输出)
当中断状态位和对应的中断允许位有效时,IRQ 的输出保持为低。复位和读C 寄存器都可以清除IRQ 中断信号。没有中断时,IRQ 呈高阻状态,其他中断源还可以挂接到中断总线上,由于IRQ 是漏极输出,所以需要外接上拉电阻。
RESET (复位)
复位脚对时钟、日历、RAM 无效。系统上电时复位脚要保持低电平200ms 以上DS12887才可以正常工作。当复位脚为低并且VCC 高于4.25V 时,以下情况发生:
A. 周期中断允许(PIE )位清0. B. 闹钟中断允许(AIE )位清0. C. 更新完成中断标志(UF )位清0. D. 中断请求状态标志(IRQF )位清0. E. 周期中断标(PF )位清0.
F. 当RESET 为低时DS12887不可操作 G. 闹钟中断标志(AF )位清0. H.IRQ 呈高阻状态
I. 方波输出允许(SQWE )位清0. J. 更新完成中断允许(UIE )位清0.
通常情况下把复位(RESET )和电源(Vcc )连接
地址分布
图2是DS12877的地址分布图。所有的地址包括114字节通用RAM 、10字节用于记录时间、日历、闹钟和RAM 以及4字节的控制、状态RAM 。所有字节都可以在除以下的情况下直接读写。 1. 寄存器C 、D 为只读 2.寄存器A 的第7为只读 3.秒字节的高位为只读
时间、日历和闹钟区域
可以通过读相应的存储器获得时间、日历信息。通过写相应的存储器设置时间、日历和闹钟。
时间、日历和闹钟的数据格式
地址 0 1 2 3 4 5 6 7 8
功能 秒 秒闹钟 分钟 分钟闹钟 小时(12进制) 小时(24进制) 时闹钟(12时制) 时闹钟(24时制) 星期(星期天=1)
日期 月份
十进制范围 0-59 0-59 0-59 0-59 1-12 0-23 1-12 0-23 1-7 1-31 1-12
范 围
二进制数据模式
00-3B 00-3B 00-3B 00-3B 01-0CAM ,81-8CPM
00-17 00-17 00-07 01-0F 01-0C
BCD 数据模式 00-59 00-59 00-59 00-59 01-12AM ,81-92PM
00-23 00-23 00-07 1-31 1-12
01-0CAM ,81-8CPM 01-12AM ,81-92PM
9 年 0-99 00-63 00-99
0xc0 0xff 为特殊的数。如果小时闹钟为0xc0 0xff ,表示每小时中断一次;如果小时闹钟和分钟闹钟都是0xc0 0xff ,表示每分钟中断一次;如果小时闹钟、分钟闹钟和秒闹钟都是,表示每秒中断一次。
非易失性RAM
114字节的非易失性通用RAM 没有特殊功能,可以在任何时候读写。 寄存器
DS12887有四个控制寄存器,它们可以在任何时候读写。 寄存器A 最高位 BIT7 UIP
BIT6 DV2
BIT5 DV1
BIT4 DV0
BIT3 RS3
BIT2 RS2
BIT1 RS1
最低位 BIT0 RS0
UIP
更新(UIP )位用来标志芯片是否即将进行更新。 当UIP 位为1时,更新即将开始;
当它为0时,表示在至少244μs 内芯片不会更新,此时,时钟、日历和闹钟信息可以通过读写相应的字节获得和设置。
UIP 位为只读位并且不受复位信号(RESET )的影响。通过把寄存器B 中的SET 位设置为1可以禁止更新并将UIP 位清0。
DV0,DV1,DV2
这3位是用来开关晶体振荡器和复位分频器。
当[DV0 DV1 DV2]=[010]时,晶体振荡器开启并且保持时钟运行; 当[DV0 DV1 DV2]=[11X ]时,晶体振荡器开启,但分频保持复位状态。
RS3,RS2,RS1,RS0 作用:
1. 设置周期中断允许位(PIE ); 2. 设置方波输出允许位(SQWE ); 3. 两位同时设置为有效并且设置频率; 4. 全部禁止。
周期性中断率和方波中断频率表列出了可通过RS 寄存器选择的周期中断的频率和方波的频率。这四个可读写的位不受复位信号的影响。 寄存器B 最高位 BIT7
BIT6
BIT5
BIT4
BIT3 SQWE
BIT2 DM
BIT1 24/12
最低位 BIT0 DSE
SET PIE AIE UIE SET
当SET =0,芯片更新正常进行; 当SET =1,芯片更新被禁止。
SET 位可读写,并不会受复位信号的影响。 PIE
当PIE =0,禁止周期中断输出到IRQ ; 当PIE =1,允许周期中断输出到IRQ 。 AIE
当AIE =0,禁止闹钟中断输出到IRQ ; 当AIE =1,允许闹钟中断输出到IRQ 。 UIE
当UIE =0,禁止更新结束中断输出到IRQ ; 当UIE =1,允许更新结束中断输出到IRQ 。 此位在复位或设置SET 为高时清0. SQWE
当SQWE =0,SQW 脚为低;
当SQWE =1,SQW 输出设定频率的方波。 DM
DM =0,BCD
DM =1,二进制,此位不受复位信号影响。 24/12
此位为1,24时制;为0,12小时制
DSE
夏令时允许标志。在四月的第一个星期日的1∶59∶59AM ,时钟调到3∶00∶00AM ;在十月的最后一个星期日的1∶59∶59AM ,时钟调到1∶00∶00AM 。 寄存器C 最高位 BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1 0
最低位 BIT0 0
IRQF PF AF UF 0 0
IRQF
当有以下情况中的一种或几种发生时,中断请求标志位(IRQF )置高; PF =PIE =1 AF =AIE =1 UF =UIE =1
IRQF =PF ·PIE+AF·AIE+UF·UIE IRQF -且为高IRQ 脚输出低。
所有标志位在读寄存器C 或复位后清0。 PF 周期中断标志。 AF 闹钟中断标志。 UF 更新中断标志。
BIT 0 THROUGH BIT3
第0位到第3位无用,不能写入,只读且读出的值恒为0。 寄存器D 最高位 BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
最低位 BIT0 0
VRT 0 0 0 0 0 0 VRT
当VRT =0时表示内置电池能量耗尽,此时RAM 中的数据的正确性就不能保证了。 BIT6 THROUGH BIT0
第0位到第6位无用,只读,且读出的值恒为0。
DS12887时钟芯片(中文资料一)
特点
·可以应用于MOTOROLA 和INTEL 两种总线
·可作为IBM AT 计算机的时钟和日历
·数据/地址总线复用
·与MC14681B 和DS1287的管脚兼容
·内建128字节RAM
·在没有外部电源的情况下可工作10年
14字节时钟控制寄存器
·自带晶体振荡器及电池
114字节通用RAM
·可计算到2100年前的秒、分、小时、星期、日期、
·可编程方波输出
月、年七种日历信息并带闰年补偿
·总线兼容中断(/IRQ)
·用二进制码或BCD 码代表日历和闹钟信息
·三种可编程中断
·有12和24小时两种制式,12小时制时有AM 和PM
时间性中断可产生每秒一次直到每天一次中断
提示
周期性中断122ms 到500ms
·可选用夏令时模式
时钟更新结束中断
管脚名称
AD0-AD7-地址/数据复用总线 NC -空脚
MOT -总线类型选择(MOTOROLA/INTEL) CS -片选 AS -ALE
R/W-在INTEL 总线下作为/WR DS -在INTEL 总线下作为/RD RESET -复位信号 IRQ -中断请求输出 SQW -方波输出 VCC -+5电源 GND -电源地
上电/掉电
当VCC 高于4.25V200ms 后,芯片可以被外部程序操作;当VCC 低于4.25V 时,芯片处于写保护状态(所有的输入均无效),同时所有输出呈高阻状态;当VCC 低于3V 时,芯片将自动把供电方式切换为由内部电池供电。
管脚功能
MOT (总线模式选择)
当此脚接到VCC 时,选用的是MOTOROLA 总线时序;当它接到地或不接时,选用的是INTEL 总线时序。
SQW (方波输出)-当VCC 低于4.25V 时没有作用。 周期性中断率和方波中断频率表
寄存器A 中的控制位
RS3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
1
RS2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
RS1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
RS0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
P1周期中断周
期
无 3.90625ms 7.8125ms 122.070μs 244.141μs 488.281μs 976.5625μs 1.953125ms 3.90625 ms 7.8125 ms 15.625 ms 31.25 ms 62.5 ms 125 ms 250 ms 500 ms
SQW 输出频率
无 256Hz 128Hz 8.192kHz 4.096 kHz 2.048 kHz 1.024 kHz 512 Hz 256 Hz 128 Hz 64 Hz 32 Hz 16 Hz 8 Hz 4 Hz 2 Hz
AD0-AD7(双向数据/地址复用总线) AS (地址锁存) ALE
DS (Data Strobe or Read Input) RD
当系统选择的是INTEL 总线模式时,DS 被称作RD 。当它有效时表示DS12887正在往总线输出数据。RD 信号线在有贮器芯片上被称作OE 信号线。 R/W(Read/Write Input) WR
CS(片选输入) CS
当VCC 低于4.25V 时,DS12887从内部禁止对外部CS 的操作。此时时钟和RAM 都被保护起来。 IRQ (中断请求输出)
当中断状态位和对应的中断允许位有效时,IRQ 的输出保持为低。复位和读C 寄存器都可以清除IRQ 中断信号。没有中断时,IRQ 呈高阻状态,其他中断源还可以挂接到中断总线上,由于IRQ 是漏极输出,所以需要外接上拉电阻。
RESET (复位)
复位脚对时钟、日历、RAM 无效。系统上电时复位脚要保持低电平200ms 以上DS12887才可以正常工作。当复位脚为低并且VCC 高于4.25V 时,以下情况发生:
A. 周期中断允许(PIE )位清0. B. 闹钟中断允许(AIE )位清0. C. 更新完成中断标志(UF )位清0. D. 中断请求状态标志(IRQF )位清0. E. 周期中断标(PF )位清0.
F. 当RESET 为低时DS12887不可操作 G. 闹钟中断标志(AF )位清0. H.IRQ 呈高阻状态
I. 方波输出允许(SQWE )位清0. J. 更新完成中断允许(UIE )位清0.
通常情况下把复位(RESET )和电源(Vcc )连接
地址分布
图2是DS12877的地址分布图。所有的地址包括114字节通用RAM 、10字节用于记录时间、日历、闹钟和RAM 以及4字节的控制、状态RAM 。所有字节都可以在除以下的情况下直接读写。 1. 寄存器C 、D 为只读 2.寄存器A 的第7为只读 3.秒字节的高位为只读
时间、日历和闹钟区域
可以通过读相应的存储器获得时间、日历信息。通过写相应的存储器设置时间、日历和闹钟。
时间、日历和闹钟的数据格式
地址 0 1 2 3 4 5 6 7 8
功能 秒 秒闹钟 分钟 分钟闹钟 小时(12进制) 小时(24进制) 时闹钟(12时制) 时闹钟(24时制) 星期(星期天=1)
日期 月份
十进制范围 0-59 0-59 0-59 0-59 1-12 0-23 1-12 0-23 1-7 1-31 1-12
范 围
二进制数据模式
00-3B 00-3B 00-3B 00-3B 01-0CAM ,81-8CPM
00-17 00-17 00-07 01-0F 01-0C
BCD 数据模式 00-59 00-59 00-59 00-59 01-12AM ,81-92PM
00-23 00-23 00-07 1-31 1-12
01-0CAM ,81-8CPM 01-12AM ,81-92PM
9 年 0-99 00-63 00-99
0xc0 0xff 为特殊的数。如果小时闹钟为0xc0 0xff ,表示每小时中断一次;如果小时闹钟和分钟闹钟都是0xc0 0xff ,表示每分钟中断一次;如果小时闹钟、分钟闹钟和秒闹钟都是,表示每秒中断一次。
非易失性RAM
114字节的非易失性通用RAM 没有特殊功能,可以在任何时候读写。 寄存器
DS12887有四个控制寄存器,它们可以在任何时候读写。 寄存器A 最高位 BIT7 UIP
BIT6 DV2
BIT5 DV1
BIT4 DV0
BIT3 RS3
BIT2 RS2
BIT1 RS1
最低位 BIT0 RS0
UIP
更新(UIP )位用来标志芯片是否即将进行更新。 当UIP 位为1时,更新即将开始;
当它为0时,表示在至少244μs 内芯片不会更新,此时,时钟、日历和闹钟信息可以通过读写相应的字节获得和设置。
UIP 位为只读位并且不受复位信号(RESET )的影响。通过把寄存器B 中的SET 位设置为1可以禁止更新并将UIP 位清0。
DV0,DV1,DV2
这3位是用来开关晶体振荡器和复位分频器。
当[DV0 DV1 DV2]=[010]时,晶体振荡器开启并且保持时钟运行; 当[DV0 DV1 DV2]=[11X ]时,晶体振荡器开启,但分频保持复位状态。
RS3,RS2,RS1,RS0 作用:
1. 设置周期中断允许位(PIE ); 2. 设置方波输出允许位(SQWE ); 3. 两位同时设置为有效并且设置频率; 4. 全部禁止。
周期性中断率和方波中断频率表列出了可通过RS 寄存器选择的周期中断的频率和方波的频率。这四个可读写的位不受复位信号的影响。 寄存器B 最高位 BIT7
BIT6
BIT5
BIT4
BIT3 SQWE
BIT2 DM
BIT1 24/12
最低位 BIT0 DSE
SET PIE AIE UIE SET
当SET =0,芯片更新正常进行; 当SET =1,芯片更新被禁止。
SET 位可读写,并不会受复位信号的影响。 PIE
当PIE =0,禁止周期中断输出到IRQ ; 当PIE =1,允许周期中断输出到IRQ 。 AIE
当AIE =0,禁止闹钟中断输出到IRQ ; 当AIE =1,允许闹钟中断输出到IRQ 。 UIE
当UIE =0,禁止更新结束中断输出到IRQ ; 当UIE =1,允许更新结束中断输出到IRQ 。 此位在复位或设置SET 为高时清0. SQWE
当SQWE =0,SQW 脚为低;
当SQWE =1,SQW 输出设定频率的方波。 DM
DM =0,BCD
DM =1,二进制,此位不受复位信号影响。 24/12
此位为1,24时制;为0,12小时制
DSE
夏令时允许标志。在四月的第一个星期日的1∶59∶59AM ,时钟调到3∶00∶00AM ;在十月的最后一个星期日的1∶59∶59AM ,时钟调到1∶00∶00AM 。 寄存器C 最高位 BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1 0
最低位 BIT0 0
IRQF PF AF UF 0 0
IRQF
当有以下情况中的一种或几种发生时,中断请求标志位(IRQF )置高; PF =PIE =1 AF =AIE =1 UF =UIE =1
IRQF =PF ·PIE+AF·AIE+UF·UIE IRQF -且为高IRQ 脚输出低。
所有标志位在读寄存器C 或复位后清0。 PF 周期中断标志。 AF 闹钟中断标志。 UF 更新中断标志。
BIT 0 THROUGH BIT3
第0位到第3位无用,不能写入,只读且读出的值恒为0。 寄存器D 最高位 BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
最低位 BIT0 0
VRT 0 0 0 0 0 0 VRT
当VRT =0时表示内置电池能量耗尽,此时RAM 中的数据的正确性就不能保证了。 BIT6 THROUGH BIT0
第0位到第6位无用,只读,且读出的值恒为0。