實時(shí)鐘(zhōng)通(tōng)常也被稱為(wèi)實時(shí)時(shí)鐘(zhōng),它能夠向電(diàn)子(zǐ)電(diàn)路(lù)提供日(rì)期和(hé)時(shí)間(jiān)信息,包括年(nián)、月(yuè)、日(rì)、時(shí)、分、秒,被廣泛應用在需要進行計(jì)時(shí)的(de)場(chǎng)合中。許多實時(shí)鐘(zhōng)電(diàn)路(lù)還(hái)提供電(diàn)池供電(diàn)的(de)方式,這(zhè)樣在發生(shēng)掉電(diàn)時(shí)仍能準确計(jì)時(shí)。通(tōng)常說(shuō)來(lái),功能稍多一點的(de)實時(shí)鐘(zhōng)電(diàn)路(lù)還(hái)會提供包括警報、看(kàn)門狗,以及支持高(gāo)精度要求的(de)校(xiào)準寄存器(qì)等附加功能。
DS1307是一款實時(shí)種芯片,采用I2C協議(yì)與單片機(jī)通(tōng)訊,而Arduino上(shàng)正好(hǎo)有(yǒu)這(zhè)一接口,因此連接起來(lái)就非常方便了。DS1307中有(yǒu)一個(gè)可編程波形輸出口,它可以用來(lái)驅動LED小(xiǎo)燈,或者作(zuò)為(wèi)中斷來(lái)觸發某些事(shì)件(jiàn),不過用它去(qù)帶一些大功率的(de)東西(xī)的(de)時(shí)候要注意。一般設計(jì)的(de)這(zhè)一款實時(shí)鐘(zhōng)模塊,将Ds1307的(de)I2C接口和(hé)可編程波形輸出接口SQW都(dōu)連接出來(lái)了,不過一般情況下(xià)隻會用到I2C接口來(lái)實現(xiàn)基本的(de)時(shí)鐘(zhōng)設置/讀取功能。需要注意的(de)是,該模塊必須先安裝上(shàng)電(diàn)池才可以正常工(gōng)作(zuò)。電(diàn)池使用的(de)是紐扣電(diàn)池(型号CR1220),正極朝上(shàng):
在電(diàn)路(lù)連接上(shàng)可以使用Arduino專用傳感器(qì)擴展闆V4,不過要将相(xiàng)應的(de)跳(tiào)線設置到IIC的(de)位置上(shàng):
剩下(xià)的(de)工(gōng)作(zuò)就是用4芯的(de)I2C/COM連接線将傳感器(qì)擴展闆上(shàng)的(de)專用接口,與實時(shí)鐘(zhōng)模塊上(shàng)的(de)IIC(I2C其實就是IIC的(de)縮寫)端口連接起來(lái)了:
硬件(jiàn)連接的(de)工(gōng)作(zuò)完成之後,如何在Arduino裏對(duì)該模塊進行編程呢(ne)?上(shàng)網搜索了一下(xià),發現(xiàn)在Arduino上(shàng)使用DS1307做為(wèi)時(shí)鐘(zhōng)芯片的(de)玩(wán)家(jiā)還(hái)真不少,而且還(hái)封裝好(hǎo)了相(xiàng)應的(de)Arduino庫,實驗時(shí)一般使用的(de)是Google Code上(shàng)的(de)這(zhè)個(gè)DS1307庫,你(nǐ)也可以在網上(shàng)下(xià)載其它的(de)版本。将下(xià)載好(hǎo)的(de)壓縮文(wén)件(jiàn)解壓縮到Arduino 0018的(de)libraries目錄下(xià)後,重新啓動Arduino并用它自(zì)帶的(de)測試程序進行測試:
程序讀起來(lái)應該不算(suàn)困難,基本上(shàng)就是使用RTC.set來(lái)對(duì)時(shí)鐘(zhōng)進行設置,然後就可以通(tōng)過RTC.get來(lái)讀取相(xiàng)應的(de)時(shí)間(jiān)信息了,至于時(shí)鐘(zhōng)怎麽維護,那(nà)就是 DS1307 的(de)工(gōng)作(zuò)了:)
文(wén)章(zhāng)轉自(zì)網絡,如有(yǒu)版權問(wèn)題,請聯系删除。