日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 技術(shù)學(xué)院 > 熱搜器件
[導(dǎo)讀]關(guān)于DS1302使用的一點(diǎn)心得。

準(zhǔn)確地說(shuō),我是從2012年的秋天開(kāi)始接觸DS1302這個(gè)芯片的。時(shí)年大四,正在做電子專業(yè)的專業(yè)實(shí)習(xí)。我們的題目是“智能家居”,其中用到了DS1302這個(gè)芯片。當(dāng)時(shí)做下來(lái)只是知道了這個(gè)東西是干什么用的,至于怎么用,可以說(shuō)是完全沒(méi)弄明白。但當(dāng)時(shí)在網(wǎng)上找了相關(guān)的資料,也下載了一些前輩寫(xiě)的程序,當(dāng)時(shí)扔到Proteus上去仿真,大概知道了改哪條語(yǔ)句可以實(shí)現(xiàn)什么功能什么的。時(shí)隔一年以后,已經(jīng)是畢業(yè)的人了。剛剛到公司報(bào)道,工作還比較閑,晚上或周末就有時(shí)間學(xué)點(diǎn)電路什么的,就又把DS1302翻了出來(lái)。這期間買了IC和關(guān)鍵的32.768kHz的晶振。于是就把電路給搭了出來(lái)。這次算是一次入門(mén),雖然沒(méi)能完全搞透,但知道了以下幾點(diǎn):

1.DS1302的驅(qū)動(dòng)分為往里寫(xiě)和往外讀;

2.片內(nèi)集成了一部分RAM,這部分內(nèi)容是不受晶振影響的;個(gè)人觀點(diǎn),這部分應(yīng)用很雞肋。

3.往里寫(xiě)數(shù)據(jù)和往外讀數(shù)據(jù)的時(shí)候,IO口方向(input或output)是不同的:在寫(xiě)數(shù)據(jù)的時(shí)候是先發(fā)8位的地址位,再發(fā)8位的時(shí)間信息(或?qū)⒁獙?xiě)入RAM的內(nèi)容),此過(guò)程中,IO口方向一直是output。而讀數(shù)據(jù)時(shí),同樣也是要先發(fā)8位的地址位,但之后要將IO口狀態(tài)改為input,這時(shí)將開(kāi)始允許從DS1302傳來(lái)信息。這里我只是說(shuō)允許信息過(guò)來(lái),而不是說(shuō)接收信息,因?yàn)樾畔⑹且晃灰晃粋鬟^(guò)來(lái)的,要加以整理并儲(chǔ)存下來(lái)才算是接受,這是軟件對(duì)應(yīng)上的事情,但不考慮這些的話,至少此時(shí)是有信息過(guò)來(lái)的,只是你如何讀取并保存的問(wèn)題。

最近斥資2000元添購(gòu)了我人生的第一臺(tái)示波器。要說(shuō)示波器大家都很熟悉,學(xué)電的沒(méi)有沒(méi)用過(guò)的。但有自己的示波器的人恐怕不多。為什么要強(qiáng)調(diào)一下是“我”的示波器呢,這里不免啰嗦幾句,談?wù)勎覍?duì)中國(guó)現(xiàn)行教育的一點(diǎn)看法。

我的大學(xué)后半程算是在專業(yè)知識(shí)上下了些工夫的。這從我兩屆大學(xué)生電子設(shè)計(jì)競(jìng)賽和優(yōu)秀畢業(yè)設(shè)計(jì)等榮譽(yù)上可以驗(yàn)證。當(dāng)然,我現(xiàn)在仍要本著學(xué)習(xí)的態(tài)度在這個(gè)行業(yè)里發(fā)展自我,但我認(rèn)為我在大學(xué)里接受到的專業(yè)技能方面的資源肯定是大于其他同學(xué)的,我經(jīng)常出入實(shí)驗(yàn)室,示波器,函數(shù)發(fā)生器也總用,但都是在老師的指導(dǎo)下使用,老師說(shuō)這個(gè)東西要測(cè)一下,就去測(cè)。至于如果想做一些自己想做的實(shí)驗(yàn),總是覺(jué)得不是很方便。我的母校在我大二的時(shí)候,將模電實(shí)驗(yàn)室的示波器全部更新成數(shù)字示波器,這些示波器在高校中應(yīng)該說(shuō)算數(shù)一數(shù)二了,但很遺憾,在實(shí)驗(yàn)課之外,這些家伙鮮有人問(wèn)津。

近幾年我的母校有了很多的課外實(shí)踐活動(dòng),老師和同學(xué)們都開(kāi)始熱衷做項(xiàng)目。也有相當(dāng)?shù)囊徊糠謱?shí)驗(yàn)資源被共享出來(lái)。這是好事。但對(duì)于學(xué)生來(lái)說(shuō),不可一味地埋頭在一個(gè)項(xiàng)目中,要挑起頭做實(shí)驗(yàn),廣泛地涉獵,而老師要做的就是引導(dǎo)。

閑話至此。買了示波器以后做的第一個(gè)實(shí)驗(yàn)是TDA2030功率放大器的性能測(cè)定。發(fā)現(xiàn)了不少問(wèn)題,由于本篇主要講DS1302,所以暫不總結(jié)關(guān)于TDA2030的東西。第二個(gè)實(shí)驗(yàn)就是觀測(cè)DS1302的通訊波形。這次終于讓我搞懂了它。以下為DS1302的學(xué)習(xí)心得:

通過(guò)示波器觀察通訊信號(hào)的波形是一種必要的手段,尤其是當(dāng)電路不能正常工作的時(shí)候。不能正常工作首先可以去判斷硬件方面是不是OK。一些論壇上有人認(rèn)為晶振不起振是硬件的問(wèn)題,個(gè)人認(rèn)為并非是這樣。舉個(gè)例子:用DS1302與某單片機(jī)連接,為單片機(jī)燒寫(xiě)給DS1302寫(xiě)入時(shí)間信息的軟件,正常動(dòng)作以后,改燒寫(xiě)只能讀數(shù)據(jù)的軟件,(此過(guò)程中DS1302一直有電)發(fā)現(xiàn)也可正常讀數(shù),但給DS1302斷電再上電,卻發(fā)現(xiàn)不能正常讀數(shù)。用萬(wàn)用表測(cè)晶振兩端電壓,應(yīng)該是一端為高電平一端為低電平,證明晶振沒(méi)有起振嗎?是和晶振兩端的電容有關(guān)嗎?

晶振這里沒(méi)有起振是顯然的,但卻不一定是硬件的問(wèn)題。上例中重新上電以后,單片機(jī)沒(méi)有執(zhí)行給DS1302寫(xiě)入命令的指令,也就造成DS1302上秒寄存器的最高位可能不是0,這一位決定了DS1302是計(jì)數(shù)還是暫停,為1的話,DS1302是不計(jì)數(shù)的。當(dāng)然,是否確實(shí)如此還需驗(yàn)證。關(guān)于晶振還有就是其兩端電容究竟用多大,有的資料寫(xiě)用6pF,有的說(shuō)用30pF,還有說(shuō)可以不用的。后兩種我沒(méi)試過(guò),第一種是OK的。另兩種會(huì)再以后確認(rèn)一下是否可以。這里有一點(diǎn),匹配的電容和走時(shí)的精準(zhǔn)度是有關(guān)系的。這里不要妄信一些論壇上是一些人說(shuō)什么晶振質(zhì)量不好,什么芯片質(zhì)量不好的混話。

我測(cè)了一下晶振一端的波形,如下圖

圖1 DS1302晶振一側(cè)波形(1通道)

沒(méi)有示波器的話用萬(wàn)用表量也可以,電壓值是多少并不是關(guān)鍵問(wèn)題,主要是晶振兩端對(duì)地的電壓如果相等,那么基本可以斷定晶振是正常工作的。這也說(shuō)明,在軟件方面,至少寫(xiě)秒寄存器這部分是OK的。

可能還有人會(huì)糾結(jié)上拉電阻的問(wèn)題。有的電路圖上三條通信線RST(也稱OE)、SDA和CLK都有上拉電阻(10k左右),有的就只是在SDA線上加了上拉電阻。這里建議大家去研究研究IO口的輸入輸出狀態(tài)相關(guān)的知識(shí)(可以參照本博客中另一篇關(guān)于STC12C5410學(xué)習(xí)筆記的文章,本文不再贅述)。只說(shuō)一句,現(xiàn)在除了89C51、89C52這種很入門(mén)級(jí)的單片機(jī),基本都可以通過(guò)設(shè)定相應(yīng)的寄存器去控制各個(gè)IO口的狀態(tài)。由于RST和CLK這兩條線對(duì)單片機(jī)來(lái)說(shuō)都是輸出線,這樣一般都會(huì)將這兩個(gè)IO口設(shè)定成內(nèi)部上拉的模式,所以一般外部就不用再加電阻了。但SDA不同,以為讀和寫(xiě)數(shù)據(jù)時(shí),SDA的IO口方向一個(gè)是輸入一個(gè)是輸出,輸出的話也是用內(nèi)部上拉模式,但輸入的話一般會(huì)選擇高阻模式,此時(shí)沒(méi)有內(nèi)部上拉電阻,所以要外接一個(gè)上拉電阻來(lái)給DS1302這邊提供高電平和電流。這個(gè)上拉電阻不要太小,我試過(guò)加120Ω的上拉電阻,在51單片機(jī)上運(yùn)行,波形完全走樣。但在arduino上運(yùn)行似乎還好。原因有可能是兩者IO口低輸出時(shí)的對(duì)地等效電阻不同。很多資料上都是用的10kΩ的上拉電阻,我測(cè)試后也是好用的。

本文中的測(cè)試波形都是在arduino平臺(tái)上測(cè)試得到的,arduino有個(gè)好處就是有個(gè)很方便的串口查看器,在電腦上可以輕松讀取串口上送多來(lái)的信息。但好像目前在工業(yè)上的應(yīng)用很有限,尤其是國(guó)內(nèi),主要是一些年輕的電子愛(ài)好者或一些搞機(jī)械或者搞美術(shù)的創(chuàng)客們用的多一點(diǎn)。它就是可以設(shè)定IO口方向的。但文本給出的程序代碼主要是基于51單片機(jī)的,而且是89C52這種不帶IO方向設(shè)定功能的。原因就是我也很想搞清楚沒(méi)有IO口方向控制時(shí),單片機(jī)怎么區(qū)分輸出和輸入的操作。我會(huì)一邊測(cè)試一邊寫(xiě)這篇筆記。首先來(lái)看看正常工作的波形是什么樣的:

圖2 讀取一次完整時(shí)間信息的波形(SDA和CLK)

圖2所示是讀取一次完整時(shí)間信息的SDA和CLK的波形。通道1表示SDA,通道2表示CLK,從左至右可以看出CLK明顯被分成7份,這些依次代表對(duì)秒、分、時(shí)、日、月、星期、年這7個(gè)信息讀取時(shí)的CLK,對(duì)應(yīng)的通道1是SDA(數(shù)據(jù))信息。注意,這里都是讀操作。我將讀取秒的那部分波形展開(kāi),如圖3.

圖3 秒信息讀取的時(shí)序圖

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

51單片機(jī)學(xué)習(xí)筆記———13.1DS1302實(shí)時(shí)時(shí)鐘原理部分

關(guān)鍵字: ds1302 時(shí)鐘

由于昨天照著手冊(cè)寫(xiě)了一下DS1302的驅(qū)動(dòng)程序,發(fā)現(xiàn)耗時(shí)挺多的,并且在考場(chǎng)上不可能一步步去自己寫(xiě)驅(qū)動(dòng),所以今天看了一下藍(lán)橋杯提供的DS1302官方驅(qū)動(dòng)程序,發(fā)現(xiàn)直接引用還是不行的,程序當(dāng)中有些小問(wèn)題需要去修改。下面就對(duì)那...

關(guān)鍵字: ds1302 時(shí)鐘

DS1302時(shí)鐘模塊通信原理(SPI總線)

關(guān)鍵字: ds1302 時(shí)鐘

現(xiàn)在流行的串行時(shí)鐘電路很多,如DS1302、 DS1307、PCF8485等。這些電路的接口簡(jiǎn)單、價(jià)格低廉、使用方便,被廣泛地采用

關(guān)鍵字: ds1307 ds1302

現(xiàn)在流行的串行時(shí)鐘電路很多,如DS1302、 DS1307、PCF8485等。這些電路的接口簡(jiǎn)單、價(jià)格低廉、使用方便,被廣泛地采用。它可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。

關(guān)鍵字: ds1302 時(shí)鐘芯片 電路

DS1302 我們前邊也有提起過(guò),是三根線,分別是 CE、I/O 和 SCLK,其中 CE 是使能線,SCLK 是時(shí)鐘線,I/O 是數(shù)據(jù)線。前邊我們介紹過(guò)了 SPI 通信,同學(xué)們發(fā)現(xiàn)沒(méi)發(fā)現(xiàn),這個(gè) DS1302 的通信線定...

關(guān)鍵字: ds1302 通信時(shí)序

//引入文件***********************************************************#include "delay.h" #include "...

關(guān)鍵字: ds1302 pic16f84a 讀取時(shí)鐘芯片

參考DS1302數(shù)據(jù)手冊(cè),盡管數(shù)據(jù)手冊(cè)是英文,但是很有幫助,再結(jié)合網(wǎng)上眾多的代碼寫(xiě)出了下面這個(gè)例子,除了涓流充電(trickle charger)功能沒(méi)使用外,內(nèi)部的RAM和寄存器功能都使用到了,包括多字節(jié)方式(burs...

關(guān)鍵字: ds1302 演示代碼

1、DS1302時(shí)鐘芯片的講解待完成?。。?、自己寫(xiě)的DS1302芯片的配置文件//DS1302_SPIdriver.h//DS1302_SPIdriver.h#ifndef__SPIDRIVER_H__#define_...

關(guān)鍵字: ds1302 單片機(jī) 時(shí)鐘芯片

發(fā)現(xiàn)網(wǎng)上一些程序在16M晶振下不能工作,自己寫(xiě)了個(gè),按照2V的時(shí)序?qū)懙?但只在5V和3.3V下測(cè)試過(guò).以下是兩個(gè)主要的文件DS1302.h:/************ AVR DS1302程序 *************...

關(guān)鍵字: AVR ds1302 程序源代碼
關(guān)閉