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