一線式時(shí)鐘芯片DS2417的原理與應(yīng)用
2 振蕩器及中斷控制
DS2417內(nèi)部振蕩器的開(kāi)啟/關(guān)閉、中斷是否允許以及中斷申請(qǐng)脈沖時(shí)間間隔的長(zhǎng)短可用軟件控制,其控制命令字的格式如下:
其中D1、D0為無(wú)效位,讀出時(shí)始終為0;D3、D2用于控制或報(bào)告振蕩器的狀態(tài),如果振蕩器處于工作狀態(tài),讀出該字節(jié)時(shí)兩個(gè)OSC的值全為1,否則全為0,同樣對(duì)OSC寫入全1時(shí)振蕩器開(kāi)啟,在OSC寫入全0時(shí)可關(guān)閉振蕩器;D7位IE是中斷使能控制位,當(dāng)IE=1時(shí)中斷允許,IE=0時(shí)中斷關(guān)閉;D6、D5、D4是中斷申請(qǐng)脈沖(負(fù)脈沖,持續(xù)122μs)時(shí)間間隔控制位,時(shí)間間隔與IS2、IS1、IS0的關(guān)系如表2所列。
表2 DS2417的中斷脈沖時(shí)間間隔控制
3 DS2417與單片機(jī)的典型接口設(shè)計(jì)
圖2以MCS-51系列單片機(jī)為例,畫出了DS2417與微處理器的典型連接電路。其中1-Wire端接AT89C51的P1.0,INT端接AT89C51的INT0,VDD采用5V電源供電。
假設(shè)單片機(jī)系統(tǒng)所用的晶振頻率為12MHz,筆者根據(jù)DS2417的初始化時(shí)序、定悍序和讀時(shí)序分別編寫了三個(gè)子程序:INIT為初始化子程序、WRITE為寫(命令或數(shù)據(jù))子程序、READ為讀數(shù)據(jù)子程序,所有的數(shù)據(jù)讀寫均由最低位開(kāi)始。具體程序如下:
評(píng)論