找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5602|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

DS1302涓流充電時鐘保持芯片的原理與應(yīng)用

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:392097 發(fā)表于 2018-9-11 21:48 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
摘要    本文概括介紹了 DS1302  時鐘芯片的特點(diǎn)和基本組成    通過實(shí)例詳細(xì)說明了有關(guān)功能的應(yīng)用 軟件    關(guān)于 DS1302 各寄存器的詳細(xì)位控功能請參考 DALLAS 達(dá)拉斯 公司的相應(yīng)產(chǎn)品資料


概述
DS1302 是 DALLAS 公司推出的涓流充電時鐘芯片    內(nèi)含有一個實(shí)時時鐘/日歷和 31 字節(jié)靜態(tài) RAM   通過簡 單的串行接口與單片機(jī)進(jìn)行通信    實(shí)時時鐘/日歷電路提供秒    分    時    日    日期        月    年的信息    每月的天 數(shù)和閏年的天數(shù)可自動調(diào)整    時鐘操作可通過 AM/PM 指示決定采用 24 或 12 小時格式 DS1302 與單片機(jī)之 間能簡單地采用同步串行的方式進(jìn)行通信 僅需用到三個口線     1  RE  復(fù)位    2    數(shù)據(jù)線     3  SCLK 串行時鐘 時鐘/RAM 的讀/寫數(shù)據(jù)以一個字節(jié)或多達(dá) 31 個字節(jié)的字符組方式通信        DS1302 工作時功耗很
低 保持?jǐn)?shù)據(jù)和時鐘信息時功率小于 1mW
DS1302 是由 DS1202 改進(jìn)而來 增加了以下的特性 雙電源管腳用于主電源和備份電源供應(yīng) Vcc1 為可 編程涓流充電電源 附加七個字節(jié)存儲器 它廣泛應(yīng)用于電話 傳真 便攜式儀器以及電池供電的儀器儀表等 產(chǎn)品領(lǐng)域 下面將主要的性能指標(biāo)作一綜合
     實(shí)時時鐘具有能計(jì)算 2100 年之前的秒    分 時    日    日期    星期    月    年的能力 還有閏年調(diào)整的能力
     31    8 位暫存數(shù)據(jù)存儲 RAM
     串行 I/O 口方式使得管腳數(shù)量最少
     寬范圍工作電壓    2.0    5.5V
     工作電流    2.0V 時,小于 300nA
     讀/寫時鐘或 RAM 數(shù)據(jù)時    有兩種傳送方式    單字節(jié)傳送和多字節(jié)傳送 字符組方式
     8 腳 DIP 封裝或可選的 8 腳 SOIC 封裝 根據(jù)表面裝配
     簡單 3 線接口
     與 TTL 兼容 Vcc=5V
     可選工業(yè)級溫度范圍    -40 +85
     與 DS1202 兼容
     在 DS1202 基礎(chǔ)上增加的特性
對 Vcc1 有可選的涓流充電能力 雙電源管用于主電源和備份電源供應(yīng) 備份電源管腳可由電池或大容量電容輸入 附加的 7 字節(jié)暫存存儲器

1    DS1302 的基本組成和工作原理
DS1302 的管腳排列及描述如下圖及表所示

DS1302 與微控制器的接口軟件及功能應(yīng)用舉例
下面首先給出基本的接口軟件    然后舉例說明各種功能的應(yīng)用
1    寫保護(hù)寄存器操作
當(dāng)寫保護(hù)寄存器的最高位為 0 時 允許數(shù)據(jù)寫入寄存器    寫保護(hù)寄存器可以通過命令字節(jié) 8E    8F 來 規(guī)定禁止寫入/讀出    寫保護(hù)位不能在多字節(jié)傳送模式下寫入
Write_Enable:

MOV    Command,#8Eh    ;命令字節(jié)為 8E
MOV    ByteCnt,#1    ;單字節(jié)傳送模式
MOV    R0,#XmtDat    數(shù)據(jù)地址覆給 R0
MOV    XmtDat,#00h    數(shù)據(jù)內(nèi)容為 0 寫入允許


ACALL    Send_Byte    調(diào)用寫入數(shù)據(jù)子程序
RET        返回調(diào)用本子程序處

當(dāng)寫保護(hù)寄存器的最高位為 1 時 禁止數(shù)據(jù)寫入寄存器
Write_Disable:

MOV    Command,#8Eh    ;命令字節(jié)為 8E
MOV    ByteCnt,#1    ;單字節(jié)傳送模式
MOV    R0,#XmtDat    數(shù)據(jù)地址覆給 R0
MOV    XmtDat,#80h    數(shù)據(jù)內(nèi)容為 80h 禁止寫入
ACALL    Send_Byte    調(diào)用寫入數(shù)據(jù)子程序
RET        返回調(diào)用本子程序處

以上程序調(diào)用了基本數(shù)據(jù)發(fā)送(Send_Byte)模塊及一些內(nèi)存單元定義, 其源程序清單在附錄中給出    下面
的程序亦使用了這個模塊


2    時鐘停止位操作
當(dāng)把秒寄存器的第 7 位 時鐘停止位 設(shè)置為 0 時 起動時鐘開始
Osc_Enable:
MOV    Command,#80h    ; 命令字節(jié)為 80
MOV    ByteCnt,#1    ; 單字節(jié)傳送模式
MOV    R0,#XmtDat    數(shù)據(jù)地址覆給 R0
MOV    XmtDat,#00h    數(shù)據(jù)內(nèi)容為 0 振蕩器工作允許
ACALL    Send_Byte    調(diào)用寫入數(shù)據(jù)子程序
RET    返回調(diào)用本子程序處


當(dāng)把秒寄存器的第 7 位 時鐘停止位 設(shè)置為 1 時 時鐘振蕩器停止    HT1380 進(jìn)入低功耗方式
Osc_Disable:
MOV    Command,#80h    ;命令字節(jié)為 80
MOV    ByteCnt,#1    ;單字節(jié)傳送模式
MOV    R0,#XmtDat    數(shù)據(jù)地址覆給 R0
MOV    XmtDat,#80h    數(shù)據(jù)內(nèi)容為 80h 振蕩器停止
ACALL    Send_Byte    調(diào)用寫入數(shù)據(jù)子程序
RET        返回調(diào)用本子程序處

3. 多字節(jié)傳送方式
當(dāng)命令字節(jié)為 BE 或 BF 時 DS1302 工作在多字節(jié)傳送模式 8 個時鐘/日歷寄存器從寄存器 0 地址開 始連續(xù)讀寫從 0 位開始的數(shù)據(jù) 當(dāng)命令字節(jié)為 FE 或 FF 時 DS1302 工作在多字節(jié) RAM 傳送模式 31 個 RAM 寄存器從 0 地址開始連續(xù)讀寫從 0 位開始的數(shù)據(jù)
例如 寫入 00 年 6 月 21日 星期三 13 時 59 分 59 秒 程序設(shè)置如下
Write_Multiplebyte:

MOV    Command,#0BEh    ;命令字節(jié)為 BEh
MOV    ByteCnt,#8    ;多字節(jié)寫入模式 此模塊為 8 個
MOV    R0,#XmtDat    數(shù)據(jù)地址覆給 R0
MOV    XmtDat,#59h    秒單元內(nèi)容為 59h


MOV    XmtDat+1,#59h    分單元內(nèi)容為 59h
MOV    XmtDat+2,#13h    時單元內(nèi)容為 13h
MOV    XmtDat+3,#21h    日期單元內(nèi)容為 21h
MOV    XmtDat+4,#06h    月單元內(nèi)容為 06h
MOV    XmtDat+5,#03h    星期單元內(nèi)容為 03h
MOV    XmtDat+6,#0    年單元內(nèi)容為 00h
MOV    XmtDat+7,#0    寫保護(hù)單元內(nèi)容為 00h
ACALL    Send_Byte    調(diào)用寫入數(shù)據(jù)子程序
RET        返回調(diào)用本子程序處

讀出寄存器 0-7 的內(nèi)容 程序設(shè)置如下
Read_Multiplebyte:

MOV    Command,#0BFh    ;命令字節(jié)為 BFh
MOV    ByteCnt,#8    ;多字節(jié)讀出模式 此模塊為 8 個
MOV    R1,#RcvDat    數(shù)據(jù)地址覆給 R1
ACALL    Receive_Byte    調(diào)用讀出數(shù)據(jù)子程序
RET        返回調(diào)用本子程序處
以上程序調(diào)用了基本數(shù)據(jù)接收(Receive_Byte)模塊及一些內(nèi)存單元定義, 其源程序清單在附錄中給
出 下面的程 序亦使用了這個模塊


4. 單字節(jié)傳送方式
例如 寫入 8 時 12 小時模式 程序設(shè)置如下
Write_Singlebyte:
MOV    Command,#84h    ; 命令字節(jié)為 84h

MOV    ByteCnt,#1    ;    單字節(jié)傳送模式
MOV    R0,#XmtDat   
    數(shù)據(jù)地址覆給 R0
MOV    XmtDat,#88h   
    數(shù)據(jù)內(nèi)容為 88h
ACALL    Send_Byte   
    調(diào)用寫入數(shù)據(jù)子程序
RET        
    返回調(diào)用本子程序處

上面所列出的程序模塊    Write_Enable     Write_Disable     Osc_Enable     Osc_Disable
與單字節(jié)寫入模塊 Write_Singlebyte 的程序架構(gòu)完全相同 僅只是幾個入口參數(shù)不同 本文是為了強(qiáng)調(diào)功 能使用的不同才將其分為不同模塊 另外,與涓流充電相關(guān)的設(shè)定也是單字節(jié)操作方式,這里就不再單獨(dú)列出, 用戶在使用中可靈活簡略
下面模塊舉例說明如何單字節(jié)讀出    小時    單元的內(nèi)容. Read_Singlebyte:

完整的pdf格式文檔51黑下載地址:
DS1302中文數(shù)據(jù)手冊.pdf (205.99 KB, 下載次數(shù): 18)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:461604 發(fā)表于 2019-1-4 10:35 | 只看該作者
還有別的涓流充電芯片嗎
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表