單片機(jī)與串行時(shí)鐘DS1307的接口設(shè)計(jì)
出處:電子發(fā)燒友網(wǎng) 發(fā)布于:2018-01-26 16:16:27
在簡單介紹串行時(shí)鐘芯片ds1307的基礎(chǔ)上,介紹了時(shí)鐘電路的rs485接口設(shè)計(jì)8本文所設(shè)計(jì)的時(shí)鐘電路具有體積小、抗干擾性能強(qiáng)、通用性好、調(diào)時(shí)方便等特點(diǎn)。
0 引言
由單片機(jī)構(gòu)成的測控系統(tǒng)或智能顯示屏中,經(jīng)常需要實(shí)時(shí)日歷時(shí)鐘,為節(jié)省CPU資源,增強(qiáng)實(shí)時(shí)時(shí)鐘電路的通用性,本文介紹DS1307的應(yīng)用及其接口設(shè)計(jì),該時(shí)鐘系統(tǒng)用RS485接口,采用SN75176差分平衡驅(qū)動接收,具有抗干擾能力強(qiáng),可與PC機(jī)進(jìn)行遠(yuǎn)距離的通信也可以與其他控制電路相連;時(shí)鐘調(diào)時(shí)可方便地用PC機(jī)或電路中設(shè)置的按鍵進(jìn)行時(shí)間設(shè)定和修改。
1、串行時(shí)鐘DS1307簡介
DS1307是I2C總線接口的日歷時(shí)鐘芯片,片內(nèi)有8個(gè)特殊寄存器和56B的SRAM,是一種低功耗、BCD碼的8引腳實(shí)時(shí)時(shí)鐘芯片。
DS1307的主要技術(shù)性能如下:
具有秒、分、時(shí)、日、星期、月、年的計(jì)數(shù)功能,并具有12小時(shí)制和24小時(shí)制計(jì)數(shù)模式,可自動調(diào)整每月天數(shù)及閏年;
具有自動掉電保護(hù)和上電復(fù)位功能;
可輸出不同頻率的方波信號
(1)DS1307的引腳排列圖如圖1所示。
VCC:+5V電源;
VBAT:+3V電池電源輸入;
X1,X2:32.768kHz的晶振輸入端;
SDA:數(shù)據(jù)線;
SCL:時(shí)鐘線;
SQW/OUT:方波信號輸出端。
(2)DS1307的特殊寄存器地址分配
DS1307內(nèi)部有8個(gè)特殊寄存器即00H~07H單元,其中00H~06H分別為秒~年時(shí)間計(jì)數(shù)寄存器,07H為控制寄存器。其詳細(xì)的空間分配如表1所示。
控制寄存器07H單元用于控制芯片7腳產(chǎn)生不同頻率的方波信號。具體作用如表2所示。
其中:OUT為控制位,SQWE是使能位。
當(dāng)SQWE=0時(shí),如果OUT=0,則SQW/OUT引腳輸出低電平,如果OUT=1,則SQW/OUT引腳輸出為高電平。當(dāng)SQWE=1時(shí),由RS1,RS0決定引腳SQW/OUT輸出不同頻率的方波信號。RS1,RS0與輸出頻率的關(guān)系為表3所示。
(3)DS1307的工作時(shí)序
DS1307通過雙向數(shù)據(jù)線SDA和時(shí)鐘SCL與外界進(jìn)行數(shù)據(jù)交換,其時(shí)序關(guān)系如圖2所示。
從時(shí)序圖2中可看出,DS1307有2種操作方式:
(1)寫操作:把SDA數(shù)據(jù)線上的數(shù)據(jù)按RAM指定的首地址(WordAddress)依次寫入N個(gè)字節(jié)數(shù)據(jù),其格式為:
(2)讀操作:按RAM指定的首地址依次讀出N個(gè)字節(jié)數(shù)據(jù),其格式為:
其中:S為起始信號,1101000為DS1307的口地址,A應(yīng)答信號,A非應(yīng)答信號,P停止信號。
2、時(shí)鐘系統(tǒng)的硬件設(shè)計(jì)
該系統(tǒng)由89C51單片機(jī)、時(shí)鐘芯片DS1307,RS485接口電路及顯示電路組成。主要原理框圖如圖3所示。
2.1 89C51部分
本文利用89C51的P1.6,P1.7來模擬I2C總線的時(shí)鐘線(SCL)和數(shù)據(jù)線(SDA)對時(shí)鐘芯片DS1307的時(shí)鐘數(shù)據(jù)進(jìn)行讀寫操作,并把讀來的數(shù)據(jù)送數(shù)碼管顯示。利用P3.0,P3.1實(shí)現(xiàn)串行輸入輸出,用P1.5來控制PC機(jī)輸出數(shù)據(jù)對顯示時(shí)間的影響,當(dāng)P1.5=1時(shí)才允許顯示傳送,利用89C51的外部中斷INT0對按鍵調(diào)整時(shí)間進(jìn)行中斷控制。
2.2 DS1307部分
通過DS1307的SDA,SCL將時(shí)鐘芯片的00H~06H單元的秒、分、時(shí)、星期、日、月和年送到數(shù)碼管顯示。DS1307的寫地址為11010000B,讀地址為11010001B。
2.3 RS485接口部分
為便于遠(yuǎn)距離、高速率下的多機(jī)通信,采用RS485接口。由MC1489將RS232電平轉(zhuǎn)換成TTL電平,由MC1488實(shí)現(xiàn)TTL電平到RS232電平的轉(zhuǎn)換,并用SN75176傳輸線驅(qū)動、接收器實(shí)現(xiàn)差分平衡型電路的轉(zhuǎn)換,以增強(qiáng)電路的抗干擾能力。
3、軟件設(shè)計(jì)
該時(shí)鐘系統(tǒng)軟件有89C51與DS1307之間的數(shù)據(jù)交換、與PC機(jī)的串行通訊、按鍵時(shí)間調(diào)整及顯示程序4大部分構(gòu)成。下面擇其主要程序簡單介紹如下:
(1) 89C51對DS1307數(shù)據(jù)讀、寫操作
該程序是整個(gè)時(shí)鐘電路的部分。利用單片機(jī)的P1.6,P1.7 I/O口,根據(jù)DS1307的數(shù)據(jù)傳輸格式用軟件實(shí)現(xiàn)數(shù)據(jù)的讀寫操作;下面給出對DS1307進(jìn)行寫操作的部分參考子程序。
發(fā)送起始位子程序SAT:

(2) 與PC機(jī)的串行通訊
軟件功能 PC機(jī)將鍵盤輸入的字符發(fā)送給單片機(jī),單片機(jī)接受PC機(jī)發(fā)來的數(shù)據(jù)后回送同一數(shù)據(jù)給PC機(jī),并在屏幕上顯示出來。
通訊約定 波特率設(shè)置。
數(shù)據(jù)格式 8個(gè)數(shù)據(jù)位,一個(gè)停止位。
傳送方式 PC機(jī)采用查詢方式收發(fā)數(shù)據(jù),單片機(jī)采用中斷方式接收數(shù)據(jù)。
(3) 單鍵時(shí)間調(diào)整
軟件功能 為節(jié)省單片機(jī)資源用單鍵方式實(shí)現(xiàn)時(shí)間的調(diào)整,即利用89C51的中斷0實(shí)現(xiàn)中斷。
當(dāng)有鍵按下時(shí),首先由秒顯示閃爍,表示可以對秒進(jìn)行調(diào)整,閃爍一定時(shí)間(如5 s),在此時(shí)間內(nèi)如接收不到調(diào)整信號,則自動閃爍下一位,直至年調(diào)整為止。
4、結(jié)語
本文選擇實(shí)時(shí)時(shí)鐘芯片DS1307和單片機(jī)89C51設(shè)計(jì)了一個(gè)日歷時(shí)鐘系統(tǒng),該系統(tǒng)體積小,具有RS485接口,通用性強(qiáng)、調(diào)時(shí)方便。已在許多智能顯示屏中得到成功應(yīng)用,也可用于實(shí)時(shí)測控系統(tǒng)。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- USB-C接口全解析:協(xié)議兼容、快充原理與常見問題排查2025/12/16 9:50:42
- 簡述計(jì)算機(jī)總線的分類2025/9/4 17:12:23
- 深度剖析三進(jìn)線兩母聯(lián)供電系統(tǒng)設(shè)計(jì)方案2025/9/3 10:37:39
- 匯流排是什么匯流排好還是線接好2025/8/28 17:13:00
- 安森美 USB - C 電池充電器解決方案2025/8/28 15:45:10









