HT1380串行实时时钟芯片具有接口简单、功耗低、工作电压范围宽、计时精确、功能全(可对分、秒、时、日、日期、月及带闰年补偿的年进行计数)、成本低等优点,因此在实际应用中被广泛采用,下面先简单介绍一下该芯片的情况,然后实际工作中采用的子程序供读者参考。
HT1380是一种串行实行时时钟芯片,它提供秒、分、时、日、日期、月和年的信息。对于小于31天的月的月末日期能自动进行调整,还包括闰年校正功能。低功耗设计且时钟的运行可以采用24小时格式或带AM/PM指示的12小时的格式。HT1380含有若干寄存器用以存储相应信息。采用外部32.768KHZ晶振以提供正确定时。最少引脚数的串行I/0通信方式。与微处理器通信仅需三根线:1.YRST(复位)2.YSCLK(串行时钟)3.YIO(数据线).数据传送采用两种模式,即单字节模式和多字节模式(至多为8个字节,每一数据传送由命令字节初始化,命令字节如下所示,最高位MSB(位7)必须置1;最低位LSB(位0)置1/0,表示为写/读周期;位3--1指定所需访问的寄存器。
1.引脚排列

2.引脚说明
X1,X2: 32.768KHZ晶体振荡器引脚
VSS: 地
YRST: 串行通信复位引脚
YIO: 串行通信数据输入/输出引脚
YSCLK: 串行通信的串行时钟脉冲引脚
VDD: 电源
3.命令字节
每一数据传送由命令字节初始化。命令字节如下所示,最高位MSB(位7)必须置1;最低位LSB(位0)置I/O,表示为写/读周期;位3~1指定所需访问的寄存器。
下表显示寄存器地址和它的数据格式:
|
Pegister
Address
A2~A0 |
Function |
Command
Address
(HEX) |
Write=w
Read=R |
Range
Data
(BCD) |
Register Definition | |||||||
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | |||||
|
0 |
Seconds |
80
81 |
W
R |
00~59 |
CH |
10SEC |
SEC | |||||
|
1 |
Minutes |
82
83 |
W
R |
00~59 |
0 |
10MIN |
MIN | |||||
|
2 |
12HRS
24HRS |
84
85 |
W
R |
01~12
00~23 |
12
24 |
0
0 |
AP
10 |
HR
HR |
HOUR | |||
|
3 |
Date |
86
87 |
W
R |
01~31 |
0 |
0 |
10DATE |
DATE | ||||
|
4 |
Month |
88
89 |
W
R |
01~12 |
0 |
0 |
0 |
10M |
MONTH | |||
|
5 |
Day |
8A
8B |
W
R |
01~07 |
0 |
0 |
0 |
0 |
DAY | |||
|
6 |
Year |
8C
8D |
W
R |
00~09 |
10YEAR |
YEAR | ||||||
|
7 |
Write
Protect |
8E
8F |
W
R |
00~80 |
WP |
ALWAYS ZERO | ||||||
注:*CH: 时钟暂停标志 *寄存器2的位7: 12/24模式标志
CH=0 允许振荡器工作 位7=1: 12小时模式
CH=1时钟振荡器停止 位7=1:24小时模式
*WP: 写保护位 *寄存器2的位5: AM/PM模式设置
WP=0 允许写人数据 AP=1 PM模式
WP=1 禁止写人数据 AP=0 AM模式