歡迎您光臨本站 登入註冊首頁

DS1302 時鐘晶元的原理與應用

admin @ 2014-03-14 , reply:0

概述

DS1302時鐘晶元的原理與應用DS1302是DALLAS公司推出的涓流充電時鐘晶元內含有一個實時時鐘/日曆和31位元組靜態RAM通過簡單的串列介面與單片機進行通信實時時鐘/日曆電路提供秒分時日日期月年……

DS1302 時鐘晶元的原理與應用


DS1302 是DALLAS 公司推出的涓流充電時鐘晶元內含有一個實時時鐘/日曆和31 位元組靜態RAM 通過簡
單的串列介面與單片機進行通信實時時鐘/日曆電路提供秒分時日日期月年的信息每月的天
數和閏年的天數可自動調整時鐘操作可通過AM/PM 指示決定採用24 或12 小時格式DS1302 與單片機之
間能簡單地採用同步串列的方式進行通信僅需用到三個口線1 RES 複位2 I/O 數據線3 SCLK
串列時鐘時鐘/RAM 的讀/寫數據以一個位元組或多達31 個位元組的字元組方式通信DS1302 工作時功耗很
低保持數據和時鐘信息時功率小於1mW
DS1302 是由DS1202 改進而來增加了以下的特性雙電源管腳用於主電源和備份電源供應Vcc1 為可
編程涓流充電電源附加七個位元組存儲器它廣泛應用於電督傳真攜帶型儀器以及電池供電的儀器儀錶等
產品領域下面將主要的性能指標作一綜合
  實時時鐘具有能計算2100 年之前的秒分時日日期星期月年的能力還有閏年調整的能力
  31 8 位暫存數據存儲RAM
  串列I/O 口方式使得管腳數量最少
  寬範圍工作電壓2.0 5.5V
  工作電流2.0V 時,小於300nA
  讀/寫時鐘或RAM 數據時有兩種傳送方式單位元組傳送和多位元組傳送字元組方式
  8 腳DIP 封裝或可選的8 腳SOIC 封裝根據表面裝配
  簡單3 線介面
  與TTL 兼容Vcc=5V
  可選工業級溫度範圍-40 +85
  與DS1202 兼容
  在DS1202 基礎上增加的特性
對Vcc1 有可選的涓流充電能力
雙電源管用於主電源和備份電源供應
備份電源管腳可由電池或大容量電容輸入
附加的7 位元組暫存存儲器
1 DS1302 的基本組成和工作原理
DS1302 的管腳排列及描述如下圖及表所示

管腳描述
X1 X2 32.768KHz 晶振管腳
GND 地
RST 複位腳
I/O 數據輸入/輸出引腳
SCLK 串列時鐘
Vcc1,Vcc2 電源供電管腳
訂單信息
部分# 描述
DS1302 串列時鐘晶元8 腳DIP
DS1302S 串列時鐘晶元8 腳SOIC 200mil
DS1302Z 串列時鐘晶元8 腳SOIC 150mil
2. DS1302 內部寄存器
CH: 時鐘停止位寄存器2 的第7 位12/24 小時標誌
CH=0 振蕩器工作允許bit7=1,12 小時模式
CH=1 振蕩器停止bit7=0,24 小時模式
WP: 防寫位寄存器2 的第5 位:AM/PM 定義
WP=0 寄存器數據能夠寫入AP=1 下午模式
WP=1 寄存器數據不能寫入AP=0 上午模式
TCS: 涓流充電選擇DS: 二極體選擇位
TCS=1010 使能涓流充電DS=01 選擇一個二極體
TCS=其它禁止涓流充電DS=10 選擇兩個二極體
DS=00 或11, 即使TCS=1010, 充電功能也被禁止
RS 位電阻典型位
00 沒有沒有
01 R1 2K
10 R2 4K
11 R3 8K
管腳配置

DS1302 與微控制器的介面軟體及功能應用舉例
下面首先給出基本的介面軟體然後舉例說明各種功能的應用
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 時DS1302 工作在多位元組傳送模式8 個時鐘/日曆寄存器從寄存器0 地址開
始連續讀寫從0 位開始的數據當命令位元組為FE 或FF 時DS1302 工作在多位元組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

[admin via 研發互助社區 ] DS1302 時鐘晶元的原理與應用已經有4028次圍觀

http://cocdig.com/docs/show-post-653.html