由于DS1624是I2C總線結(jié)構(gòu)的串行數(shù)據(jù)傳送,它只需要SDA和SCL兩根線完成數(shù)據(jù)的傳送過(guò)程。因此,我們?cè)谶M(jìn)行程序設(shè)計(jì)的時(shí)候,也得按著I2C協(xié)議來(lái)對(duì)DS1624芯片數(shù)據(jù)訪問(wèn)。有關(guān)I2C協(xié)議參看有關(guān)資料,這里不詳述。對(duì)于AT89S51單片機(jī)本身沒(méi)有I2C硬件資源,所以必須用軟件來(lái)模擬I2C協(xié)議過(guò)程。
要從DS1624中讀取溫度值,首先啟動(dòng)DS1624的內(nèi)部溫度A/D開(kāi)始轉(zhuǎn)換,對(duì)應(yīng)著有相應(yīng)的命令用來(lái)啟動(dòng)開(kāi)始溫度轉(zhuǎn)換,有關(guān)DS1624的指令集參考前面的敘述。一般情況下,DS1624經(jīng)過(guò)一次溫度的變換,需要經(jīng)過(guò)1秒鐘左右的時(shí)間,所以等待1秒鐘后,即可讀取內(nèi)部的溫度值,對(duì)于讀取的溫度值,仍然通過(guò)DS1624的指令集來(lái)完成溫度的讀取。但所有有數(shù)據(jù)的傳送過(guò)程必須遵循I2C協(xié)議。
標(biāo)簽:
1624
I2C
DS
總線結(jié)構(gòu)
上傳時(shí)間:
2014-01-14
上傳用戶:ynzfm