单片机驱动DS12C887显示输出在数码管上 可是读不出数据请高手指教

单片机驱动DS12C887显示输出在数码管上 可是读不出数据请高手指教,第1张

我前两天刚做了一个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字节用

于存储时钟日历和报警信息,4字节用于状态控制寄存器,其

余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 模块是做什么用的、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9503607.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存