
我前两天刚做了一个DS12C887的时钟,从芯片里读出的数没有BCD转换,可以直接读取,完了送数码管显示就行了。你把BCD转换函数去掉试一下,如果还是不行的话就把DS12C887初始化一下再试!!!
在智能化仪器仪表中,往往需要走时准确的实时时钟为
多通道数据采集、定时及实时控制提供精确的时间基准和同
步信号。目前,实现实时时钟的方法主要有软件时钟(由软
件计时实现)、硬件时钟(由硬件时钟芯片实现)、GPS时钟
(由全球卫星定位系统提供)等。软件时钟具有硬件开销小、
成本低、外围电路简单等优点。但由于时钟是靠软件延时实
现的,运行过程中不仅要占用大量的CPU时间,而且计时精
度低、走时误差较大,在智能化仪器仪表中很少采用。GPS
(全球卫星定位系统)提供的实时时钟信号虽然具有相当高
的精度,但由于GPS产品成本高,在普通智能化仪器仪表中
很少采用。本文介绍一种较新的实时时钟芯片DS12C887及
其与AT89C51单片机的软硬件接口。
1 DS12C887的特点及引脚描述
DS12C887是由美国达拉斯半导体公司推出的CMOS并
行实时时钟芯片,它与目前微型计算机主机板中普遍采用的
MC146818、DS12887时钟芯片引脚完全兼容,可以直接替
换。DS12C887将时钟电路、晶振及其外围电路、锂电池及其
相关电路等嵌装成一体,并具有与微处理器的并行接口,可
方便地用于对时钟精度要求较高的智能化仪器仪表中。
DS12C887的主要功能特点有:
(1)内含锂电池。当外电源电压降到3 V以下时,时钟
自动将电源切换到由芯片内部锂电池供电,在外电源断电的
收稿日期:2002—05~20
作者简介:宋雨潭(1972一),女,吉林长春人,工程师。
情况下,时钟可以连续运行10 a而不丢失数据。
(2)具有秒、分、时、日、月、年、世纪、星期计时及闰年自
动校正功能。
(3)可根据用户需要选择24/12 h运行方式和夏令时运
行方式。
(4)由硬件选择MOTOROLA和INTEL总线时序,便
于和不同的微处理器相连接。
(5)内含128字节掉电保持RAM单元,其中10字节用
余I14字节供用户存储需要掉电保持的信息和数据。
(6)有3个可编程中断源,可与各种微处理器中断系统
相连接。
(7)有一个可编程方波信号输出引脚,根据用户需要输
出不同频率的方波信号。
DS12C887引脚排列见图1,DS12C887各引脚功能见表
1。
表1 DS1287引脚功能描述
管脚号 标识符 主要功能
MOTOROLA与I L总线时序选择
1 MOT MOT=1:M I、[)R01 A总线时序
MOT=0:INTEL总线时序
2、3、16
Nc 保留(空闲)
2U 一22
4—11 AEO—AD7 双向地址/数据复用总线
2 1381212887状态控制寄存器
1381212887内部存储器组织见图2。下面着重介绍影响
DS12C887功能和工作状态的状态控制寄存器A—D。
VCC
SQW
NC
NC
NC
Tii
RESET
DS
NC
R/W
AS
CS
地址 内容
ooH 秒
01H 秒报警
02H 分
03H 分报警
04H 时
05H 时报警
06H 星期
07H 日
O8H 月
09H 往
0AH 寄存器A
0BH 寄存器B
0CH 寄存器C
0DH 寄存器D
0EH 用户数据区
I I
7FH 用户数据区
图1 DS12(2887引脚排列
(1)状态控制寄存器A(地址XXOAH)
bit7 bit6 bit5 bit4 bit3 bit2 bitl bito
UIP DV2 DVl Dv0 RS3 RS2 RSl RSo
UIP:数据更新标志位。UIP=1,数据更新转换将很快
发生。UIP:0,数据更新转换将在244 以后发生。
DV0一DV2:内部晶振控制位。为防止DS12C887内部
锂电池在装入系统前被消耗,用户可以通过软件设置DV0一
DV2将内部晶振关闭。只有当DV0=0,DV1=I,DV2:0
时才打开内部晶振允许计时。
RS3一RS0:SQW 方波输出和周期中断频率选择控制
位。不同的组合用于选择不同的输出方波频率和中断周期。
具体组合见表2。
表2 周期性中断周期和方波频率选择表
状态控制寄存器A不受复位信号的影响,除UIP位以
外,其它各位均可进行读写 *** 作。
(2)状态控制寄存器B(地址)()(0BH)
状态控制寄存器B用于控制DS12C887的工作状态。
每一位均可进行读写 *** 作。
bit7 bit6 bit5 bit4 bit3 bit2 bitl Kto
SET PIE AIE UIE WQWE D/M 24[12 溉
SET:更新控制位。SET:0,芯片每秒走时一次。SET:1,
禁止时间更新。当对芯片时间和日期进行设置时,应由软件
将SET位置1,设置完毕时再将其清零。
PIE、AIE、UIE:周期中断、报警中断、更新结束中断允
许位。当某一位或几位为1时,允许芯片由IRQ引脚发出中
断申请信号。
SQWE:可编程方波输出允许位。当该位置1时,SQW
引脚按状态控制寄存器A中选定的频率输出方波信号。
DM:二进制/BCD数据格式选择位。DM =1,数据以二
进制格式存储;DM=0,数据以BCD格式存储。
24/12:24/12 h模式选择位。该位置1选择24 h计时方
式,该位清零选择12 h计时方式。
DSE:夏时制选择位。DSE=1。夏时制自动调整;DSE=
0,不使用夏时制。
(3)状态控制寄存器C(地址XXOCH)
状态控制寄存器C的各位用于指示芯片的工作状态。
bit7 bit6 bit5 bit4 bit3 bit2 bitl bito
IRQP PF VF 0 0 0 0
维普资讯 >
以上就是关于单片机驱动DS12C887显示输出在数码管上 可是读不出数据请高手指教全部的内容,包括:单片机驱动DS12C887显示输出在数码管上 可是读不出数据请高手指教、DALLAS DS12C887 REAL TIME 模块是做什么用的、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)