娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年01月27日(星期一)

正在發(fā)生

2018年01月27日 | 基于DS1307的可調(diào)實時時鐘系統(tǒng)設(shè)計

發(fā)布者:xinyi9008 來源: 互聯(lián)網(wǎng)關(guān)鍵字:DS1307  實時時鐘 手機看文章 掃描二維碼
隨時隨地手機看文章

利用實時時鐘芯片 DS1307 設(shè)計一個能夠調(diào)節(jié)時間的實時時鐘。 介紹采用 I2C 總線接口實時時鐘芯片 DS1307 進行準確定時的設(shè)計原理, 提出實時時鐘芯片 DS1307 與單片機接口電路的設(shè)計方法,同時給出幾個典型程序?qū)嵗?,通過 Proteus 軟件進行仿真實現(xiàn)。


先來說說實時時鐘DS1307的使用!


DS1307 是一款十分常用的實時時鐘芯片,它可以記錄年、月、日、時、分、秒等信息,提供至2100年的記錄??墒褂秒姵毓╇?,也就是說,即使Arduino 在斷電狀態(tài)下,時鐘芯片仍然是在運行的。它使用十分常用的兩線式串行總線(I2C),只要兩根線即可和Arduino 通信。


電控單元的時鐘基準通常可利用 CPU 內(nèi)部定時器作為時鐘基準,并通過軟件編程和 CPU 時鐘中斷來構(gòu)造一個軟時鐘。 這種方法的優(yōu)點是無需額外硬件支持,但缺點是時鐘的計時精度受 CPU 主晶振以及與其相連的起振電容的影響而無法做到很高, 因此累積誤差較大。同時在主電源掉電時為了維持時鐘不停擺,系統(tǒng)必須由備用電源給整個 CPU 供電,這將導致功耗增大。


I2C總線虛擬技術(shù)


DS1307是一款具有I2C總線接口的實時時鐘芯片,要驅(qū)動具有I2C總線接口的DS1307芯片,一種辦法是選擇一款帶有I2C總線接口的高檔單片機,然而,在很多小型儀器儀表中以及在單片機的教學環(huán)境中,使用帶有I2C總線接口的高檔單片機在經(jīng)濟上是不合算的,在這種情況下,可以采用I2C總線虛擬技術(shù),選用普遍使用的51單片機,利用單片機的通用I/O端口模擬實現(xiàn)I2C總線接口。


硬件接口電路設(shè)計


本系統(tǒng)的電路由單片機AT89C51、日歷時鐘芯片DS1307、獨立按鍵及顯示電路組成。


DS1307與AT89C51的接口


為了使AT89C51單片機能夠驅(qū)動DS1307芯片,本文采用了I2C總線虛擬技術(shù),將單片機P2.6口和P2.7口來虛擬I2C總線接口。I2C總線是同步串行數(shù)據(jù)傳輸總線,其內(nèi)部為雙向傳輸電路,端口輸出為開漏結(jié)構(gòu),故總線上必須有上拉電阻,通常可取5~10kΩ。因單片機P2口內(nèi)部有上拉電阻,故DS1307芯片的SCL引腳與SDA引腳與單片機接口時,不需再添加上拉電阻。此外,按照DALLAS公司推薦的硬件接法,往往需要精度很高的晶體,為了提高其可靠性并節(jié)約成本,可將DS1307的X2引腳添加上拉電阻,從而可以克服使用普通晶振時DS1307不起振的問題,進而保證了DS1307的起振。日歷時鐘芯片DS1307與AT89C51的接口電路如圖1所示。

時鐘顯示電路


為了將系統(tǒng)時間實時顯示出來,本系統(tǒng)沒有采用常用的數(shù)碼管作為顯示方式,而是采用1602LCD液晶實時顯示時間,這樣電路的設(shè)計就會相對簡單一些,所用到的I/O口也較少。1602液晶的接口電路如圖2所示。

時鐘調(diào)節(jié)電路


為了能夠及時對時間進行調(diào)節(jié),本系統(tǒng)設(shè)計了時鐘調(diào)節(jié)電路,由K0、K1、K2三個按鍵組成,且分別由單片機的P2.0、P2.1和P2.2口控制。其中,K0做為時鐘調(diào)節(jié)的菜單鍵,第一次按下表示可以調(diào)節(jié)時間秒,第二次可以調(diào)節(jié)時間分,第三次按下調(diào)節(jié)時,第四次按下退出調(diào)時菜單,時鐘繼續(xù)開始走動。K1和K2分別是時分秒調(diào)節(jié)的加減鍵。在本電路中,根據(jù)經(jīng)驗總結(jié),額外添加三個上拉電阻,以保證在沒有按鍵按下時,進入單片機三個I/O口的按鍵均處于高電平狀態(tài),防止干擾產(chǎn)生。時鐘調(diào)節(jié)電路如圖3所示。

接口程序設(shè)計


軟件程序設(shè)計采用模塊化設(shè)計思想,包括主程序、初始化子程序、時鐘運行子程序,按鍵掃描子程序。其中,初始化子程序主要工作有:初始化I2C總線,使總線處于備用狀態(tài);初始化LCD液晶顯示器讓其正常顯示;初始化定時器0并開啟定時器0中斷。時鐘運行子程序主要負責讓DS1307芯片更新時間并在LCD上顯示。按鍵掃描子程序負責檢測按鍵的狀態(tài)并將更改后的時間顯示出來。主程序主要負責初始化及鍵盤掃描工作。本系統(tǒng)主程序的流程圖如圖4所示。

在本系統(tǒng)中,因采用了I2C總線虛擬技術(shù),需嚴格按照時序圖的要求進行操作,因此,在程序設(shè)計當中,分別添加了幾個子程序,用于實現(xiàn)單片機與DS1307進行通信。下面是根據(jù)本文電路對I2C總線上的信號進行模擬的幾個子程序:

void start() //模擬 I2C 啟動信號

{

SDA = 1;

Nop ();

SCL = 1;

Nop ();

SDA = 0;

Nop ();

SCL = 0;

}

void stop() //模擬 I2C 停止信號

{

SDA = 0;

Nop ();

SCL = 1;

Nop ();

SDA = 1;

Nop ();

}

void ack() //模擬 I2C 應答信號

{

SDA = 1;

Nop ();

SCL = 1;

Nop ();

SCL = 0;

}

void un_ack() //模擬 I2C 非應答信號

{

uchar i;

i=0;

SCL=1;

while(SDA==1&&i《200) i++;

Nop ();

SCL = 0;

}

需要注意的是,DS1307的各類時間數(shù)據(jù)均以BCD碼的格式存儲在相應的時間寄存器中,而1602液晶顯示器只能識別字符碼,即ASCLL碼,因而1602在向DS1307讀取或?qū)懭霑r間數(shù)據(jù)時,需要進行數(shù)據(jù)類型轉(zhuǎn)換。本文采用以下兩個子程序用來完成上述功能:

uchar dec_to_bcd (uchar dec) //ASCLL 碼 (十 進 制 )轉(zhuǎn)BCD 碼

{

Uchar x, y;

x=dec/10;

y=dec%10;

y=(x《《4)|y;

return y;

}

uchar bcd_to_dec(uchar bcd) //BCD 碼 轉(zhuǎn) ASCLL 碼(十

進制)

{

Uchar x, y;

y=bcd/16;

x=bcd % 16;

y=y*10+x;

return y;

}


仿真分析


本文最后使用Proteus軟件對本實時時鐘系統(tǒng)進行仿真,將代碼下載到單片機當中并啟動Proteus后,液晶顯示器與DS1307時鐘顯示模塊同時顯示初始時間并開始計時, 適當調(diào)節(jié)三個獨立按鍵 K0~K2 后,液晶顯示器顯示調(diào)整后的 時間并且把新的 時間寫入DS1307,DS1307 從新的時間開始計時。 仿真效果如圖5 所示。

本文設(shè)計了一個基于 DS1307 可調(diào)實時時鐘系統(tǒng),提出了實時時鐘芯片 DS1307 與單片機接口電路的設(shè)計方法,因本系統(tǒng)采用了 I2C 總線虛擬技術(shù),需嚴格按照 I2C 總線時序圖的要求對 DS1307 進行操作,本文給出了對I2C 總線上的信號進行模擬的幾個典型程序?qū)嵗?,最后通過 Proteus 軟件成功仿真實現(xiàn)。

關(guān)鍵字:DS1307  實時時鐘 引用地址:基于DS1307的可調(diào)實時時鐘系統(tǒng)設(shè)計

上一篇:IEEE固態(tài)電路協(xié)會中國科大學生分會成立
下一篇:基于MATLAB的理想低通濾波器的設(shè)計

推薦閱讀

  智能互聯(lián)技術(shù)的發(fā)展,正賦能并加速汽車領(lǐng)域的智能駕駛與人機交互。雖然當下智能互聯(lián)汽車更多還只停留在概念和初步探索上,但隨著一批互聯(lián)網(wǎng)和科技公司進軍智能汽車與智能操作系統(tǒng),消費者對智能互聯(lián)汽車正抱有越來越積極的期待?! ∪涨?,汽車頭條APP獲悉,J.D. Power(君迪)發(fā)布了關(guān)于“2018中國消費者智能互聯(lián)汽車認知調(diào)查”。調(diào)查結(jié)果顯示:91%...
從1954年美國誕生出世界上第一臺工業(yè)機器人后,這種能夠取代人類日復一日簡單勞動的東西便在全球蓬勃發(fā)展。我國也在“七五”計劃中把機器人列人國家重點科研規(guī)劃內(nèi)容,撥巨款在沈陽建立了全國第一個機器人研究示范工程,全面展開了機器人基礎(chǔ)理論與基礎(chǔ)研究。 之后,受于市場、資本、政策的刺激,短短一段時間內(nèi)機器人企業(yè)在神州大地遍地開花。但是在經(jīng)...
本文內(nèi)容概要1、工業(yè)機器人是智能制造領(lǐng)域最具代表性的產(chǎn)品工業(yè)機器人,通常是指面向制造業(yè)的多關(guān)節(jié)機械手臂,或其他擁有多自由度的機械裝置,主要用于代替人工從事柔性生產(chǎn)環(huán)節(jié)。它融匯了機械制造、電子電氣、材料科學、計算機編程等學科的尖端技術(shù),是智能制造領(lǐng)域最具代表性的產(chǎn)品。2、“快速成長”+“進口替代”是現(xiàn)階段我國工業(yè)機器人產(chǎn)業(yè)最重要的兩...
想象一臺只有郵票大小,并且是打印出來的計算機,上面有RAM、ROM、板載傳感器、經(jīng)過認證的藍牙、Arm CPU、閃存和不需要電池的安全通信功能,并且可以從無線電波中收集所有所需的能量,僅有幾美分的成本。這不是科幻小說。這是Wiliot藍牙標簽,可能是物聯(lián)網(wǎng)的未來。Wiliot高級副總裁Stephen Statler最近在TechFirst播客中表示:“我們正在制造一臺像郵票...

史海拾趣

小廣播
最新模擬電子文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 平山县| 东城区| 鹿邑县| 乌拉特中旗| 东辽县| 永川市| 无棣县| 汉阴县| 师宗县| 曲周县| 文化| 肥乡县| 交口县| 红桥区| 中西区| 丽水市| 余干县| 榆树市| 霍州市| 丹凤县| 巢湖市| 隆尧县| 阜康市| 遂溪县| 拉萨市| 南雄市| 诏安县| 长阳| 临沧市| 漯河市| 松桃| 清远市| 灯塔市| 炉霍县| 育儿| 天柱县| 郴州市| 南充市| 武平县| 荆门市| 丰都县|