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

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

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

DS1302芯片是如何給我產(chǎn)生時間數(shù)據(jù)的?

冬至子 ? 來源:單片機技術(shù)宅 ? 作者:小代 ? 2023-06-13 14:15 ? 次閱讀

1 、 DS1302****的特點

DS1302是DALLAS公司推出的涓流充電時鐘芯片,內(nèi)含一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM,可以通過串行接口單片機進行通信。實時時鐘/日歷電路提供秒、分、時、日、星期、月、年的信息,每個月的天數(shù)和閏年的天數(shù)可自動調(diào)整,時鐘操作可通過AM/PM標志位決定采用24或12小時時間格式。

通俗的說,DS1302是時鐘芯片,那它就有計時的作用。它和我們?nèi)粘=佑|的電子表差不多,可以對年月日、時分秒、星期計時。我們可以用單片機往DS1302里面寫入時間進行時間設(shè)置,也可以用單片機從DS1302中讀取時間,讀出來的時間數(shù)據(jù)我們顯示出來,這樣我們就可以實現(xiàn)了電子時鐘的功能。

2 、DS1302的封裝

DS1302有兩種封裝,一種是DIP8的雙列直插式,一種是SOP8貼片式。根據(jù)封裝的名字我就知道這芯片有8個引腳,引腳分布如圖1:

圖片

3 、DS1302引腳功能

1.jpg

1-VCC2,主電源引腳,,當Vcc2比Vcc1高0.2V以上時,DS1302由VCC2供電,當Vcc2低于Vcc1時,由Vcc1供電。

2、3-X1、X2,這兩個引腳需要接一個32.768K的晶振,給DS1302提供一個基準。特別注意,要求這個晶振的引腳負載電容必須是6pF,而不是要加6pF的電容。如果使用有源晶振的話,接到X1上即可,X2懸空。

4-GND,電源地。

5-CE(注1:有些資料里寫的是RST),DS1302的復位引腳。當讀寫DS1302的時候,這個引腳必須是高電平,低電平表示不讓芯片工作。

6-I/O,DS1302的數(shù)據(jù)輸入輸出口,這個引腳是一個雙向通信引腳,讀寫數(shù)據(jù)都是通過這個引腳完成。

7-SCLK,串行時鐘信號,用來作為通信的時鐘信號。

8-VCC1,備用電源引腳。

DS1302的電路一個重點就是時鐘電路,它所使用的晶振是一個32.768k的晶振,晶振外部也不需要額外添加其他的電容或者電阻電路,只需要晶振的引腳的負載電容為6pF。時鐘的精度,首先取決于晶振的精度以及晶振的引腳負載電容。如果晶振不準或者負載電容過大過小,都會導致時鐘誤差過大。在這一切都搞定后,最終一個考慮因素是晶振的溫漂。隨著溫度的變化,晶振往往精度會發(fā)生變化,因此,在實際的系統(tǒng)中,其中一種方法就是經(jīng)常校對。

4 、寄存器簡介

DS1302的寄存器(讀時81h~8Dh,寫時80h~8Ch)是存放秒、分,小時、日、月、年、周數(shù)據(jù)的,存放的數(shù)據(jù)格式為BCD碼形式。它的內(nèi)部時間寄存器如下表:

圖片

上表是DS1302內(nèi)部的7個與時間、日期有關(guān)的寄存器圖和一個寫保護寄存器,我們要做的就是將初始設(shè)置的時間、日期數(shù)據(jù)寫入這幾個寄存器,然后再不斷地讀取這幾個寄存器來獲取實時時間和日期?,F(xiàn)對這幾個寄存器的說明如下:

①、秒寄存器(81h、80h)的位7定義為時鐘暫停標志(CH)。當初始上電時該位置為1,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);只有將秒寄存器的該位置改寫為0時,時鐘才能開始運行,一般我們在用的時候是在設(shè)置時間完成后吧秒寄存器寫入0,這樣就啟動了芯片的計時功能。

②、小時寄存器(85h、84h)的位7定義為DS1302是運行于12小時模式還是24小時模式。當為1時,選擇12小時模式,為0時選擇24小時模式。在12小時模式時,位5是標志位 ,為0時表示AM,為1時表示PM。在24小時模式時,位5是第二個10小時位。

③、控制寄存器(8Fh、8Eh)的位7是寫保護位(WP),其它7位均置為0。在任何的時候?qū)r鐘和RAM的寫操作之前,WP位必須為0。當WP位為1時,寫保護位防止對任一寄存器的寫操作。也就是說在電路上電的初始態(tài)WP是1,這時是不能改寫上面任何一個時間寄存器的,只有首先將WP改寫為0,才能進行其它寄存器的寫操作。

其余的寄存器沒有什么特殊的說明。對于DS1302芯片還有一個控制字,該控制字控制這芯片的讀寫操作。具體的內(nèi)容如下:

圖片

如上表所示,位0就是讀寫位,當位0為1時,就是告訴DS1302,下面是進行讀出操作,而當位0為0時就是寫入操作。

位0-位5是要進行操作的DS1302寄存器地址。

位6就是告訴DS1302,是要對RAM進行操作還是對時間寄存器進行操作,0就是對時間寄存器操作,一般我們都是對時間寄存器進行操作。

位7就是固定的1。

現(xiàn)在就知道為什么控制字80H是寫秒寄存器,而81H是讀秒寄存器了吧。80H換成二進制就是10000000。而81H的二進制就是10000001,一個是寫操作,另一個是讀操作嘛!

現(xiàn)在,我們來總結(jié)下如何對DS1302操作:

1 )首先要通過8eH將寫保護去掉,這樣我們才能將日期,時間的初值寫時各個寄存器。

2 )然后就可以對80H、82H、84H、86H、88H、8AH、8CH進行初值的寫入。同時也通過秒寄存器將位7的CH值改成0,這樣DS1302就開始走時運行了。

3 )將寫保護寄存器再寫為80H,防止誤改寫寄存器的值。

4)不斷讀取80H-8CH的值,將他們轉(zhuǎn)化為十進制后顯示出來就可以啦,之前我們說過,DS1302讀出的數(shù)據(jù)是BCD碼,所以需要轉(zhuǎn)換一下。

5 、讀寫時序

上面說到的寄存器,控制字。最終都是需要單片機控制DS1302的引進寫進或讀出芯片的。那現(xiàn)在就說說這讀寫的時序問題。

物理上,DS1302的通訊接口由3個口線組成,即CE(有些資料寫為RST),SCLK,I/O。其中CE(RST)從低電平變成高電平啟動一次數(shù)據(jù)傳輸過程,SCLK是時鐘線,I/O是數(shù)據(jù)線。具體的讀寫時序參考下圖,但是請注意,無論是哪種同步通訊類型的串行接口,都是對時鐘信號敏感的,而且一般數(shù)據(jù)寫入有效是在上升沿,讀出有效是在下降沿(DS1302正是如此的,但是在芯片手冊里沒有明確說明),如果不是特別確定,則把程序設(shè)計成這樣:平時SCLK保持低電平,在時鐘變動前設(shè)置數(shù)據(jù),在時鐘變動后讀取數(shù)據(jù),即數(shù)據(jù)操作總是在SCLK保持為低電平的時候,相鄰的操作之間間隔有一個上升沿和一個下降沿。

圖片

DS1302****的數(shù)據(jù)讀寫是通過I/O串行進行的。當進行一次讀寫操作時最少得讀寫兩個字節(jié),第一個字節(jié)是控制字節(jié),就是一個命令,告訴DS1302是讀還是寫操作,是對RAM還是對CLOK寄存器操作,以及操作的地址。第二個字節(jié)就是要讀或?qū)懙臄?shù)據(jù)了。

我們先看單字節(jié)寫:在進行操作之前先得將CE(也可說是RST)置高電平,然后單片機將控制字的位0放到I/O上,當I/O的數(shù)據(jù)穩(wěn)定后,將SCLK置高電平,DS1302檢測到SCLK的上升沿后就將I/O上的數(shù)據(jù)讀取,然后單片機將SCLK置為低電平,再將控制字的位1放到I/O上,如此反復,將一個字節(jié)控制字的8個位傳給DS1302。接下來就是傳一個字節(jié)的數(shù)據(jù)給DS1302,當傳完數(shù)據(jù)后,單片機將CE置為低電平,操作結(jié)束。

單字節(jié)讀操作的一開始寫控制字的過程和上面的單字節(jié)寫操作是一樣,但是單字節(jié)讀操作在寫控制字的最后一個位,SCLK還在高電平時,DS1302就將數(shù)據(jù)放到I/O上,單片機將SCLK置為低電平后數(shù)據(jù)鎖存,單機機就可以讀取I/O上的數(shù)據(jù)。如此反復,將一個字節(jié)的數(shù)據(jù)讀入單片機。讀與寫操作的不同就在于,寫操作是在SCLK低電平時單片機將數(shù)據(jù)放到IO上,當SCLK上升沿時,DS1302讀取。而讀操作是在SCLK高電平時DS1302放數(shù)據(jù)到IO上,將SCLK置為低電平后,單片機就可從IO上讀取數(shù)據(jù)。

在單字節(jié)讀操作時,在寫控制字的最后一個位也就是位7時,DS1302已將它的寄存器數(shù)據(jù)位0放到IO上了,要是控制字的位7是0的話,DS1302就無法將它的隨后的數(shù)據(jù)放到IO上了,所以控制字的7位為固定的1,原因在這里哦。

6 、典型運用電路

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6026

    文章

    44455

    瀏覽量

    630910
  • 時鐘芯片
    +關(guān)注

    關(guān)注

    2

    文章

    242

    瀏覽量

    39778
  • DS1302
    +關(guān)注

    關(guān)注

    8

    文章

    448

    瀏覽量

    50544
  • RST
    RST
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    7373
  • 負載電容
    +關(guān)注

    關(guān)注

    0

    文章

    134

    瀏覽量

    10415
收藏 人收藏

    評論

    相關(guān)推薦

    【轉(zhuǎn)】stm32驅(qū)動DS1302芯片

    電流充電的能力。DS1302的外部引腳分配如下圖所示。DS1302用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點的記錄上,能實現(xiàn)數(shù)據(jù)與出現(xiàn)該
    發(fā)表于 01-15 17:33

    何為DS1302時鐘芯片

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

    DS1302實時時鐘芯片介紹

    文章目錄實時時鐘芯片 DS1302 介紹DS1302 的特點實時時鐘芯片 DS1302 介紹DS1302
    發(fā)表于 02-18 07:57

    DS1302芯片驅(qū)動的使用

    馬上就要比賽了,畢竟比賽不像是自己在實驗室寫,沒有自己寫好的驅(qū)動代碼,不過官方會提供驅(qū)動代碼的。以下就是官方的ds1302驅(qū)動的使用。DS1302芯片以下是官方提供的ds1302驅(qū)動代
    發(fā)表于 02-24 06:56

    利用DS1302 時鐘芯片實現(xiàn)“時間鎖”的方法

    利用DS1302 時鐘芯片實現(xiàn)“時間鎖”的方法
    發(fā)表于 05-15 13:44 ?143次下載

    基于DS1302芯片的時鐘設(shè)計

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

    DS1302芯片中文資料

    DS1302芯片中文資料
    發(fā)表于 09-21 08:15 ?59次下載
    <b class='flag-5'>DS1302</b><b class='flag-5'>芯片</b>中文資料

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

    時鐘小編相信大家見怪不怪了,那么時鐘芯片大家知道是什么嗎?今天我們就來談?wù)勛畛S脮r鐘芯片ds1302,主要通過ds1302芯片的介紹和
    發(fā)表于 10-18 16:19 ?4.5w次閱讀

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

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

    DS1302芯片的使用,時鐘芯片DS1302功能匯總

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

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

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

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

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

    ds1302引腳圖,ds1302引腳圖功能詳解

    DS1302是時鐘芯片,有計時的作用,和日常接觸的電子表差不多,可以對年月日、時分秒、星期計時??梢杂脝纹瑱C往DS1302里面寫入時間進行時間
    發(fā)表于 10-19 15:39 ?7.6w次閱讀
    <b class='flag-5'>ds1302</b>引腳圖,<b class='flag-5'>ds1302</b>引腳圖功能詳解

    實時時鐘芯片 DS1302 介紹

    文章目錄實時時鐘芯片 DS1302 介紹DS1302 的特點實時時鐘芯片 DS1302 介紹DS1302
    發(fā)表于 12-23 19:47 ?11次下載
    實時時鐘<b class='flag-5'>芯片</b> <b class='flag-5'>DS1302</b> 介紹

    ds1302中文手冊 ds1302時鐘芯片引腳功能

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