HT1380是HT公司推出的一款带秒、分、时、日、星期、月、年的串行时钟芯片,HT1380每个月多少天以及润年能自动调节,HT1380具有低功耗工作方式,HT1380用若干寄存储存对应信息,一个32.768LHz的晶振校准时钟,HT1380为了使用最小的引脚,HT1380使用一个I/O口与微信息处理机相连,HT1380仅使用三根引线就可以传送1字节或8字节的字符组。因而,HT1380是一种性价比极高的时钟芯片,HT1380广泛应用于电话、传真、便携式仪器以及电池供电的仪器仪表等产品领域。
HT1380的性能指标综合:
1)HT1380工作电压:2.0 ~ 5.5V
2)HT1380最大输入串行时钟:2.0V时 500KHz
5.0V时 2MHz
3)HT1380工作电流:2.0V时至少300nA
5.0V时至少mA
4)HT1380与TTL兼容
5)HT1380串行I/O传送
6)HT1380两中数据传送方式:单字节传送
多字节传送(字符方式)
7)所有寄存器都以BCD码格式储存
HT1380 HT1381
带秒分时日日期月年的串行时钟保持芯片每个月多少天以及闰年能自动调节,
HT1380 HT1381 低功耗工作方式,
HT1380 HT1381 用若干寄存器存储对应信息一个32.768KHz的
晶振校准时钟为了使用最小引脚,
HT1380 HT1381 使用一个I/O口与微信息处理机相连仅
使用三根引线1 /RST 复位2 SCLK 串行时钟3 I/O 口数据就可以传送1字节或8字节的字符组。
下面首先给出基本的接口软件然后举例说明各种功能的应用
1 写保护寄存器操作
当写保护寄存器的最高位为0 时允许数据写入寄存器写保护寄存器可以通过命令字节8E 8F 来
规定禁止写入/读出写保护位不能在多字节传送模式下写入
Write_Enable:
MOV Command,#8Eh ;命令字节为8E
MOV ByteCnt,#1 ;单字节传送模式
MOV R0,#XmtDat 数据地址覆给R0
MOV XmtDat,#00h 数据内容为0 写入允许
ACALL Send_Byte 调用写入数据子程序
RET 返回调用本子程序处
当写保护寄存器的最高位为1 时禁止数据写入寄存器
Write_Disable:
MOV Command,#8Eh ;命令字节为8E
MOV ByteCnt,#1 ;单字节传送模式
MOV R0,#XmtDat 数据地址覆给R0
MOV XmtDat,#80h 数据内容为80h 禁止写入
ACALL Send_Byte 调用写入数据子程序
RET 返回调用本子程序处
以上程序调用了基本数据发送(Send_Byte)模块及一些内存单元定义, 其源程序清单在附录中给出下面
的程序亦使用了这个模块
2 时钟停止位操作
当把秒寄存器的第7 位时钟停止位设置为0 时起动时钟开始
Osc_Enable:
MOV Command,#80h ; 命令字节为80
MOV ByteCnt,#1 ; 单字节传送模式
MOV R0,#XmtDat 数据地址覆给R0
MOV XmtDat,#00h 数据内容为0 振荡器工作允许
ACALL Send_Byte 调用写入数据子程序
RET 返回调用本子程序处
当把秒寄存器的第7 位时钟停止位设置为1 时时钟振荡器停止HT1380 进入低功耗方式
Osc_Disable:
MOV Command,#80h ;命令字节为80
MOV ByteCnt,#1 ;单字节传送模式
MOV R0,#XmtDat 数据地址覆给R0
MOV XmtDat,#80h 数据内容为80h 振荡器停止
ACALL Send_Byte 调用写入数据子程序
RET 返回调用本子程序处
3. 多字节传送方式
当命令字节为BE 或BF 时HT1380工作在多字节传送模式8 个时钟/日历寄存器从寄存器0 地址开
始连续读写从0 位开始的数据当命令字节为FE 或FF 时HT1380工作在多字节RAM 传送模式31 个
RAM 寄存器从0 地址开始连续读写从0 位开始的数据
例如写入00 年6 月21 日星期三13 时59 分59 秒程序设置如下
Write_Multiplebyte:
MOV Command,#0BEh ;命令字节为BEh
MOV ByteCnt,#8 ;多字节写入模式此模块为8 个
MOV R0,#XmtDat 数据地址覆给R0
MOV XmtDat,#59h 秒单元内容为59h
MOV XmtDat+1,#59h 分单元内容为59h
MOV XmtDat+2,#13h 时单元内容为13h
MOV XmtDat+3,#21h 日期单元内容为21h
MOV XmtDat+4,#06h 月单元内容为06h
MOV XmtDat+5,#03h 星期单元内容为03h
MOV XmtDat+6,#0 年单元内容为00h
MOV XmtDat+7,#0 写保护单元内容为00h
ACALL Send_Byte 调用写入数据子程序
RET 返回调用本子程序处
读出寄存器0-7 的内容程序设置如下
Read_Multiplebyte:
MOV Command,#0BFh ;命令字节为BFh
MOV ByteCnt,#8 ;多字节读出模式此模块为8 个
MOV R1,#RcvDat 数据地址覆给R1
ACALL Receive_Byte 调用读出数据子程序
RET 返回调用本子程序处
以上程序调用了基本数据接收(Receive_Byte)模块及一些内存单元定义, 其源程序清单在附录中给
出下面的程序亦使用了这个模块
4. 单字节传送方式
例如写入8 时12 小时模式程序设置如下
Write_Singlebyte:
MOV Command,#84h ; 命令字节为84h
MOV ByteCnt,#1 ; 单字节传送模式
MOV R0,#XmtDat 数据地址覆给R0
MOV XmtDat,#88h 数据内容为88h
ACALL Send_Byte 调用写入数据子程序
RET 返回调用本子程序处