<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 用實(shí)時(shí)時(shí)鐘芯片DS1305啟動(dòng)數據采集系統

用實(shí)時(shí)時(shí)鐘芯片DS1305啟動(dòng)數據采集系統

作者: 時(shí)間:2004-12-07 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:介紹串行的功能、結構及其利用設計的電源開(kāi)關(guān)電路,可使平時(shí)處于關(guān)閉狀態(tài)。定時(shí)開(kāi)啟時(shí)上電,進(jìn)行;一次工作結束時(shí)關(guān)閉開(kāi)關(guān),斷電。

關(guān)鍵詞: 低功耗

引言

對于許多便攜式數據采集系統,需要長(cháng)時(shí)間無(wú)人看管地工作,如在石油鉆井下、輸油管道等場(chǎng)所。一般需要間隔數小時(shí)進(jìn)行一個(gè)采集,這樣系統大部分時(shí)間處空閑狀態(tài)。雖然現在低功耗單片機的睡眠狀態(tài)提供了降低功耗的一種方法,但低功耗不等于沒(méi)有功耗,系統長(cháng)時(shí)間工作時(shí)不得不考慮功耗的問(wèn)題。

為進(jìn)一步節省功耗,我們在研制一數據采集系統時(shí),利用DS1305設計一電源開(kāi)關(guān)電路。利用該開(kāi)關(guān)電路,可使系統在空頭時(shí)處于關(guān)閉狀態(tài),每當采集時(shí)間到,由報警信號開(kāi)啟單片機系統以進(jìn)行數據采集,在數據采集結束時(shí),單片機關(guān)閉開(kāi)關(guān)電路,系統斷電。這樣系統處于關(guān)閉狀態(tài),一直到下一次開(kāi)關(guān)電路報警。

1 DS1305簡(jiǎn)介

DS1305是美國Dallas公司推出的串行接口帶報警。它有20腳的TSSOP、16腳的DIP兩種封裝方式[1],工作電壓范圍從2.0~5.5V。

1.1 主要特性

DS1305用二一十進(jìn)制(BCD)碼表示時(shí)鐘的秒、分、小時(shí)、星期、日、月和年的時(shí)間信息,并且自動(dòng)對小月(少于31天的月份)和閏年的日期進(jìn)行調整,兼有帶AM/PM指示12小時(shí)和24小時(shí)兩種時(shí)間指示格式。圖1為DS1305兩種引腳的排列。

DS1305提供了主電源和后備電源的雙電源引腳和一個(gè)電池輸入引腳;Vcc1為主電源,Vcc2為后備電源,可充電電源接此引腳,VBAT接3V的鋰紐扣電池或其它電源。VCCIF引腳用來(lái)驅動(dòng)SDO和PF(電源失效輸出)引腳的電平和接口的電相兼容。DS1305只支持三種電源連接方式,如圖2所示。VCC1和VBAT供電時(shí),VCC1大于VBAT0.2V時(shí),正常對DS1305進(jìn)行訪(fǎng)問(wèn)。當VCC1小于CBAT時(shí),DS1305進(jìn)入寫(xiě)保護。VCC1、VCC2供電時(shí),當Vcc1比Vcc2大0.2V,Vcc1輸入作為電源;當Vcc1小于Vcc2,Vcc2對DS1305供電。這種模式下,DS1305不能寫(xiě)保護自己。當Vcc1以+5V供電時(shí),DS1305正常工作電流為1.28mA,時(shí)鐘保持電流最大為81μA,當+2V供電時(shí),正常工作電流為0.425mA,時(shí)鐘保持電流最大為25.3μA。

DS1305支持通過(guò)SPI串行數據端口或者標準的三線(xiàn)接口進(jìn)行時(shí)間的校正和數據的讀取,可進(jìn)行單字節的或連讀字節束發(fā)方式的訪(fǎng)問(wèn)。SERMODE接地,串口訪(fǎng)問(wèn)模式設定為標準3線(xiàn)模式:SD1(串口數據輸入)與SDO(串口數據輸出)連接在一起作為單一的I/O引腳,它與CE、SCLK組成3線(xiàn)模式。SERMODE接VCC,選擇SPI通信模式,具體操作可查閱有關(guān)資料。

INT0、INT1提供兩個(gè)可編程的中斷報警信號,可通過(guò)串行總線(xiàn)訪(fǎng)問(wèn)和設定秒、分、時(shí)、星期的報警時(shí)間。

X1、X2引腳直接連接標準的32.768kHz晶振,無(wú)需外接其它元件。如實(shí)時(shí)時(shí)鐘有誤差,可以在振蕩器兩端并接6pF電容進(jìn)行調整。

1.2 操作方式

DS1305共有148個(gè)用戶(hù)RAM,其讀操作地址與寫(xiě)操作地址空頭分開(kāi),當其高位為1時(shí),為寫(xiě)操作地址空間,0為讀操作地址。除實(shí)時(shí)時(shí)鐘、日歷寄存器和通用寄存器之外,還有作一般數據存儲器用的96字節的NVRAM。對DS1305操作之前,必須對控制寄存器、狀態(tài)寄存器、涓流充電寄存器進(jìn)行初始化。

以下為控制寄存器(0F讀,8F字):

76543210
EOSCWP000INTCNAIE1AIE0

EOSC:設置為0使振蕩器開(kāi)始工作,設置為1,DS1305處于低功耗閑置狀態(tài)。WP:寫(xiě)保護位,上電初始化后,WP位處于三態(tài),在任何寫(xiě)操作之前,該位必須清零。INTCN:中斷控制位,控制兩個(gè)中斷之間的聯(lián)系,置位后兩個(gè)中斷引腳INT0、INT1分別響應各自的中斷(需中斷使能),清零后,中斷1、2報警時(shí)間匹配都只能引發(fā)INT0輸入低電平,INT1無(wú)效。ALE0、ALE1置1時(shí)中斷0、1使能。

狀態(tài)寄存器(讀10H)只有兩位IRQF0、INQF1,置位時(shí)分別表示中斷時(shí)間匹配。涓流充電寄存器(讀11H,寫(xiě)91H)控制涓流充電的特性。

DS1305標準三線(xiàn)模式的讀寫(xiě)操作過(guò)程,每個(gè)字節需要16個(gè)SCLK時(shí)鐘。通過(guò)CE引腳輸入高電平來(lái)所有數據傳送,前8個(gè)SCLK周期為輸入寫(xiě)命令,后8個(gè)SCLK周期為輸入或輸出的數據。輸入時(shí),SCLK的上升沿數據有效;輸出時(shí),SCLK的下降沿輸出數據有效。

2 用DS1305開(kāi)啟數據采集系統

圖3所示的電路是利用DS1305組成的數據采集系統。89C51與DS1305使用標準三線(xiàn)形式進(jìn)行通信,74HC73為JK觸發(fā)器,輸入端J、K、CD接高電平,時(shí)鐘CLK接DS1305的中斷引腳INT0,輸出引腳Q與三極管組成數據采集系統的開(kāi)關(guān)。此外,DS1305在主電源斷電時(shí),可自動(dòng)轉換使用備用電池繼續供電,不會(huì )造成時(shí)鐘的丟失。

在采集系統上電初始化時(shí)鐘后,通過(guò)I/O口給JK觸發(fā)器CLK引腳一個(gè)負脈沖,Q引腳輸出為低,三極管截止,采集系統斷電,功耗降到零。但時(shí)鐘電路部分保持供電,在DS1305實(shí)時(shí)時(shí)鐘到設定采集時(shí)間,由INT0引腳發(fā)出中斷信號給觸發(fā)器CLK一個(gè)低電平。由于CD維持高電平,造成JK觸發(fā)器翻轉,三極管導通,VCC給單片機上電復位。這樣就將數據采集系統喚醒??捎蓡纹瑱C控制,導通模擬電路,傳感器、AD轉換器等進(jìn)行數據采集。采集結束后,單片機保存采集結果后,通過(guò)輸出引腳發(fā)送低脈沖到CLK引腳,使JK觸發(fā)器翻轉,三極管截止,再次使得采集系統斷電,進(jìn)入瞬眠狀態(tài)直至下一個(gè)采集時(shí)間,如此循環(huán)。

下面例程是圖3電路所示系統的DS1305的初始化和讀寫(xiě)程序,其中CE接P1.3,I/O引腳接P1.1,SCLK引腳接P1.2。

(1)DS1305初始化程序

RESETDS:CLR P1.2:置時(shí)鐘信號P1.2=0

CLR P1.3;置片選信號P1.3=0

SETB P1.3;置片選信號P1.3=1,DS1305使能

RET

(2)對DS1305進(jìn)行寫(xiě)操作程序

DSW: MOV R7,#08H ;該子程序為通過(guò)單片機寫(xiě)入地址或數據

WLOOP:RRC A ;A中為要寫(xiě)入的數據或地址

MOV P1.1,C

SETB P1.2 ;時(shí)鐘信號

NOP

CLR P1.2 ;產(chǎn)生時(shí)鐘脈沖

DJNZ R7,WLOOP

RET

(3)對DS1305進(jìn)行讀操作程序

DSR:SETB P1.1 ;為讀數據做準備。

CLR A

MOV R7,#08H

RLOOP:CLR R1.2 ;寫(xiě)入地址后的第一個(gè)時(shí)鐘脈沖下降沿開(kāi)始讀出數據

MOV C,P1.1

RRC A ;A中為讀出的8位數據

SETB P1.2

DJNZ R7,RLOOP

RET

結語(yǔ)

用DS1305控制的電源管理系統,可使數據采集系統長(cháng)時(shí)間在無(wú)人看管的環(huán)境中定時(shí)進(jìn)行數據采集。根據這一思想所設計的電路,經(jīng)筆者應用在遠程輸油管道上的壓力測量,經(jīng)過(guò)一個(gè)月的檢驗,采集時(shí)間準確,系統工作可靠。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>