RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DS1302時(shí)鐘芯片的工作原理

CHANBAEK ? 來(lái)源:CSDN-_會(huì)飛_的魚 ? 作者:CSDN-_會(huì)飛_的魚 ? 2023-03-07 15:01 ? 次閱讀

一. 描述

DS1302時(shí)鐘芯片是由美國(guó)DALLAS公司推出的具有涓細(xì)電流充電能力的低功耗實(shí)時(shí)時(shí)鐘芯片。 它可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。

DS1302芯片包含一個(gè)用于存儲(chǔ)實(shí)時(shí)時(shí)鐘/日歷的 31 字節(jié)的靜態(tài) RAM,可通過(guò)簡(jiǎn)單的串行接口微處理器通訊,將當(dāng)前的時(shí)鐘存于RAM。 DS1302芯片對(duì)于少于 31 天的月份月末會(huì)自動(dòng)調(diào)整,并會(huì)自動(dòng)對(duì)閏年進(jìn)行校正。 由于有一個(gè) AM/PM 指示器,時(shí)鐘可以工作在 12 小時(shí)制或者 24小時(shí)制。

二. 芯片參數(shù)

1.芯片特點(diǎn)

  • 實(shí)時(shí)時(shí)鐘計(jì)算年、月、日、時(shí)、分、秒、星 期,直到 2100 年,并有閏年調(diào)節(jié)功能
  • 31 x 8 位 通用暫存 RAM
  • 串行輸入輸出,使管腳數(shù)最少
  • 2.0V 至 5.5V 寬電壓范圍操作
  • 在 2.0V 時(shí)工作電流小于 300nA
  • 讀寫時(shí)鐘或 RAM 數(shù)據(jù)時(shí)有單字節(jié)或多字節(jié)(脈沖串模式)數(shù)據(jù)傳送方式
  • 8 管腳 DIP 封裝或可選的 8 管腳表面安裝 SO 封裝
  • 簡(jiǎn)單的 3 線接口
  • 與 TTL 兼容 (VCC = 5V)
  • 可選的工業(yè)溫度范圍:-40°C to +85°C

2.引腳說(shuō)明

截圖20230301181839.png

DS1302采用的是三線接口的雙向數(shù)據(jù)通信接口,RST是片引腳,低電平有效; SCLK是時(shí)鐘芯片,為通信提供時(shí)鐘源; I/O為數(shù)據(jù)輸入輸出引腳,用于傳輸及接收數(shù)據(jù);

DS1302還采用了雙電源供電模式,VCC1 連接到備用電源,在VCC2主電源失效時(shí)保持時(shí)間和日期數(shù)據(jù).

三. 參考電路

截圖20230301181839.png

DS1302芯片基本電路如上圖,其中Y2為32.768k外部晶振,為芯片提供時(shí)鐘源;P2為備用電池,以保證在主電源掉電后,芯片仍可繼續(xù)運(yùn)行;D1為二極管,保證電壓的單向?qū)?,防止主電源電壓過(guò)高燒壞備用電池;R6為上拉電阻,增強(qiáng)信號(hào)傳輸?shù)姆€(wěn)定性。

四. 控制程序

1.時(shí)鐘數(shù)據(jù)的讀寫地址

截圖20230301181839.png

如上圖,為DS1302芯片的時(shí)鐘數(shù)據(jù)的讀和寫的地址,也就是說(shuō)要實(shí)現(xiàn)對(duì)芯片控制,就是往這些地址上寫入或讀出數(shù)據(jù)。 其中:

讀地址為: 0x81(秒), 0x83(分), 0x85(時(shí)), 0x87(日), 0x89(月), 0x8b(星期), 0x8d(年);

寫地址為: 0x80(秒), 0x82(分), 0x84(時(shí)), 0x86(日), 0x88(月), 0x8a(星期), 0x8c(年);

2.控制時(shí)序

DS1302控制軟件最基本的操作為寫函數(shù)和讀函數(shù),其次就是實(shí)現(xiàn)初始化函數(shù)。

(1)讀時(shí)序

截圖20230301181839.png

/*******************************************************************************
* 函數(shù)功能       : 讀取一個(gè)地址的數(shù)據(jù)
*******************************************************************************/
uchar Ds1302Read(uchar addr)
{
  uchar n,dat,dat1;
  RST = 0;
  _nop_();




  SCLK = 0;//先將SCLK置低電平。
  _nop_();
  RST = 1;//然后將RST(CE)置高電平。
  _nop_();




  for(n=0; n<8; n++)//開(kāi)始傳送八位地址命令
  {
    DSIO = addr & 0x01;//數(shù)據(jù)從低位開(kāi)始傳送
    addr >>= 1;
    SCLK = 1;//數(shù)據(jù)在上升沿時(shí),DS1302讀取數(shù)據(jù)
    _nop_();
    SCLK = 0;//DS1302下降沿時(shí),放置數(shù)據(jù)
    _nop_();
  }
  _nop_();
  for(n=0; n<8; n++)//讀取8位數(shù)據(jù)
  {
    dat1 = DSIO;//從最低位開(kāi)始接收
    dat = (dat>>1) | (dat1<<7);
    SCLK = 1;
    _nop_();
    SCLK = 0;//DS1302下降沿時(shí),放置數(shù)據(jù)
    _nop_();
  }




  RST = 0;
  _nop_();  //以下為DS1302復(fù)位的穩(wěn)定時(shí)間,必須的。
  SCLK = 1;
  _nop_();
  DSIO = 0;
  _nop_();
  DSIO = 1;
  _nop_();
  return dat;  
}

(2)寫時(shí)序

截圖20230301181839.png

/*******************************************************************************
* 函數(shù)功能       : 向DS1302命令(地址+數(shù)據(jù))
*******************************************************************************/
void Ds1302Write(uchar addr, uchar dat)
{
  uchar n;
  RST = 0;
  _nop_();
  SCLK = 0;//先將SCLK置低電平。
  _nop_();
  RST = 1; //然后將RST(CE)置高電平。
  _nop_();




  for (n=0; n<8; n++)//開(kāi)始傳送八位地址命令
  {
    DSIO = addr & 0x01;//數(shù)據(jù)從低位開(kāi)始傳送
    addr >>= 1;
    SCLK = 1;//數(shù)據(jù)在上升沿時(shí),DS1302讀取數(shù)據(jù)
    _nop_();
    SCLK = 0;
    _nop_();
  }
  for (n=0; n<8; n++)//寫入8位數(shù)據(jù)
  {
    DSIO = dat & 0x01;
    dat >>= 1;
    SCLK = 1;//數(shù)據(jù)在上升沿時(shí),DS1302讀取數(shù)據(jù)
    _nop_();
    SCLK = 0;
    _nop_();  
  }




  RST = 0;//傳送數(shù)據(jù)結(jié)束
  _nop_();
}

(3)初始化

/*******************************************************************************
* 函數(shù)功能       : 初始化DS1302.
*******************************************************************************/
void Ds1302Init()
{
  uchar n;
  Ds1302Write(0x8E,0X00);     //禁止寫保護(hù),就是關(guān)閉寫保護(hù)功能
  for (n=0; n<7; n++)//寫入7個(gè)字節(jié)的時(shí)鐘信號(hào):分秒時(shí)日月周年
  {
    Ds1302Write(WRITE_RTC_ADDR[n],TIME[n]);  
  }
  Ds1302Write(0x8E,0x80);     //打開(kāi)寫保護(hù)功能
}

3. 參考示例

實(shí)現(xiàn)了DS1302的驅(qū)動(dòng)程序,接下來(lái)就可以實(shí)現(xiàn)DS1302的報(bào)時(shí)功能了。




//---DS1302寫入和讀取時(shí)分秒的地址命令---//
//---秒分時(shí)日月周年 最低位讀寫位;-------//
uchar code READ_RTC_ADDR[7] = {0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d}; 
uchar code WRITE_RTC_ADDR[7] = {0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c};




//---DS1302時(shí)鐘初始化2013年1月1日星期二12點(diǎn)00分00秒。---//
//---存儲(chǔ)順序是秒分時(shí)日月周年,存儲(chǔ)格式是用BCD碼---//
uchar TIME[7] = {0, 0, 0x12, 0x01, 0x01, 0x02, 0x13};




/*******************************************************************************
* 函數(shù)功能       : 讀取時(shí)鐘信息
*******************************************************************************/
void Ds1302ReadTime()
{
  uchar n;
  for (n=0; n<7; n++)//讀取7個(gè)字節(jié)的時(shí)鐘信號(hào):分秒時(shí)日月周年
  {
    TIME[n] = Ds1302Read(READ_RTC_ADDR[n]);
  }  
}




void main()
{
  LcdInit();
  Ds1302Init();
  while(1)
  {  
    Ds1302ReadTime();       //讀取此時(shí)的時(shí)間
    LcdDisplay();                 //顯示時(shí)間
  }
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 電源
    +關(guān)注

    關(guān)注

    184

    文章

    17704

    瀏覽量

    249959
  • 芯片
    +關(guān)注

    關(guān)注

    455

    文章

    50714

    瀏覽量

    423138
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8575

    瀏覽量

    151015
  • 時(shí)鐘芯片
    +關(guān)注

    關(guān)注

    2

    文章

    249

    瀏覽量

    39878
  • DS1302
    +關(guān)注

    關(guān)注

    8

    文章

    449

    瀏覽量

    50676
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    何為DS1302時(shí)鐘芯片

    標(biāo)題 單片機(jī)外設(shè)之一(時(shí)鐘芯片DS1302)何為DS1302?DS1302是由美國(guó)DALLAS公司推出的具有涓細(xì)電流充電能力的低功耗實(shí)時(shí)
    發(fā)表于 12-08 08:15

    DS1302 的基本組成和工作原理

    DS1302 的基本組成和工作原理DS1302 的基本組成和工作原理DS1302 的管腳排列及描述如下圖及表所示
    發(fā)表于 01-14 13:27 ?17次下載
    <b class='flag-5'>DS1302</b> 的基本組成和<b class='flag-5'>工作原理</b>

    時(shí)鐘芯片DS1302及其在數(shù)據(jù)記錄中的應(yīng)用

    時(shí)鐘芯片DS1302及其在數(shù)據(jù)記錄中的應(yīng)用:介紹了美國(guó)DALLAS公司推出的低功耗時(shí)鐘芯片DS1302
    發(fā)表于 05-22 08:35 ?140次下載

    基于DS1302芯片時(shí)鐘設(shè)計(jì)

    基于DS1302芯片時(shí)鐘設(shè)計(jì)
    發(fā)表于 03-01 12:21 ?12次下載

    基于實(shí)時(shí)時(shí)鐘模塊 時(shí)鐘芯片DS1302

    基于實(shí)時(shí)時(shí)鐘模塊 時(shí)鐘芯片DS1302
    發(fā)表于 10-16 11:35 ?40次下載
    基于實(shí)時(shí)<b class='flag-5'>時(shí)鐘</b>模塊 <b class='flag-5'>時(shí)鐘</b><b class='flag-5'>芯片</b><b class='flag-5'>DS1302</b>

    ds1302芯片介紹,ds1302工作原理解析

    時(shí)鐘小編相信大家見(jiàn)怪不怪了,那么時(shí)鐘芯片大家知道是什么嗎?今天我們就來(lái)談?wù)勛畛S?b class='flag-5'>時(shí)鐘芯片ds1302
    發(fā)表于 10-18 16:19 ?4.5w次閱讀

    DS1302的內(nèi)部結(jié)構(gòu)全面剖析

    說(shuō)起DS1302想必還是有很多人知道的吧,畢竟現(xiàn)在流行的串行時(shí)鐘電路有很多DS1302就在其中。對(duì)于DS1302小編在《ds1302
    發(fā)表于 10-19 09:28 ?6501次閱讀

    DS1302芯片的使用,時(shí)鐘芯片DS1302功能匯總

    DS1302大家都知道他是時(shí)鐘芯片,知道了原理肯定想知道功能和操作方法,這篇文章就是主要來(lái)說(shuō)DS1302芯片的功能以及
    發(fā)表于 10-19 10:43 ?9508次閱讀

    DS1302時(shí)鐘芯片調(diào)試經(jīng)驗(yàn),奉上調(diào)試時(shí)鐘芯片DS1302的程序

     時(shí)鐘芯片DS1302目前得到廣泛的應(yīng)用,但是DS1302的調(diào)試還是很有難度的。這篇文章就來(lái)說(shuō)說(shuō)DS1302
    發(fā)表于 10-19 11:12 ?1.1w次閱讀

    ds1302是什么接口,DS1302時(shí)鐘芯片接口分析詳解

    DS1302是達(dá)拉斯公司出品的一款實(shí)時(shí)時(shí)鐘芯片。主要是針對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。這篇文章主要就是說(shuō)DS1302的到底是屬于什么接口的,同時(shí)分析詳
    發(fā)表于 10-19 14:34 ?1.5w次閱讀

    時(shí)鐘芯片DS1302工作原理和應(yīng)用資料下載

    電子發(fā)燒友網(wǎng)為你提供時(shí)鐘芯片DS1302工作原理和應(yīng)用資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以
    發(fā)表于 04-22 08:41 ?5次下載
    <b class='flag-5'>時(shí)鐘</b><b class='flag-5'>芯片</b><b class='flag-5'>DS1302</b>的<b class='flag-5'>工作原理</b>和應(yīng)用資料下載

    時(shí)鐘芯片DS1302的原理及使用

    一.描述DS1302時(shí)鐘芯片是由美國(guó)DALLAS公司推出的具有涓細(xì)電流充電能力的低功耗實(shí)時(shí)時(shí)鐘芯片。它可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)
    發(fā)表于 01-17 13:03 ?28次下載
    <b class='flag-5'>時(shí)鐘</b><b class='flag-5'>芯片</b><b class='flag-5'>DS1302</b>的原理及使用

    基于單片機(jī)的DS1302實(shí)時(shí)時(shí)鐘實(shí)驗(yàn) 實(shí)時(shí)時(shí)鐘芯片DS1302工作原理

    在許多系統(tǒng)當(dāng)中都需要精確的時(shí)鐘功能,因此時(shí)鐘芯片孕育而生。其中美國(guó)達(dá)拉斯 DALLAS 公司設(shè)計(jì)的 DS1302 是一款非常流行的數(shù)字時(shí)鐘
    的頭像 發(fā)表于 07-27 18:27 ?6700次閱讀
    基于單片機(jī)的<b class='flag-5'>DS1302</b>實(shí)時(shí)<b class='flag-5'>時(shí)鐘</b>實(shí)驗(yàn) 實(shí)時(shí)<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>芯片</b><b class='flag-5'>DS1302</b>的<b class='flag-5'>工作原理</b>

    ds1302中文手冊(cè) ds1302時(shí)鐘芯片引腳功能

    電子發(fā)燒友網(wǎng)站提供《ds1302中文手冊(cè) ds1302時(shí)鐘芯片引腳功能.zip》資料免費(fèi)下載
    發(fā)表于 09-15 15:44 ?29次下載
    <b class='flag-5'>ds1302</b>中文手冊(cè) <b class='flag-5'>ds1302</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>芯片</b>引腳功能

    DS1302時(shí)鐘芯片工作原理

    DS1302時(shí)鐘芯片是一種實(shí)時(shí)時(shí)鐘芯片,采用三線串行接口與微處理器相連,可以提供年、月、日、時(shí)、分、秒等時(shí)間信息。
    的頭像 發(fā)表于 11-18 09:39 ?5321次閱讀
    RM新时代网站-首页