關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于Linux的溫度傳感器DS18B20驅(qū)動(dòng)程序設(shè)計(jì)

基于Linux的溫度傳感器DS18B20驅(qū)動(dòng)程序設(shè)計(jì)

作者: 時(shí)間:2010-03-02 來源:網(wǎng)絡(luò) 收藏

  2.3的工作原理

本文引用地址:http://2s4d.com/article/163230.htm

  根據(jù)的通信協(xié)議,MCU對(duì)其操作主要有如下3個(gè)步驟:讀寫之前,對(duì)發(fā)送約500 μs的低電平進(jìn)行復(fù)位;復(fù)位成功,發(fā)送ROM指令;發(fā)送RAM指令。MCU對(duì)DS18B20的具體操作流程如圖4所示。

  3的DS18B20程序?qū)崿F(xiàn)

  選取mini2440開發(fā)板為硬件平臺(tái)(主芯片為Samsung公司的S3C2440),選取的最新內(nèi)核2.6.29為軟件平臺(tái)。通過mini2440的擴(kuò)展接口引出GPIO口(GPBl)為數(shù)據(jù)線DQ。

  DS18B20為單總線器件,因此對(duì)其操作的時(shí)序比較嚴(yán)格。DS18B20最終能否得以正常運(yùn)行,獲得實(shí)時(shí)值,關(guān)鍵在于能否正確地編寫復(fù)位程序、位寫程序和位讀程序。

  3.1復(fù)位程序

  對(duì)DS18B20進(jìn)行讀寫之前要對(duì)其復(fù)位初始化,以檢測(cè)DS18B20的存在。復(fù)位要求MCU將數(shù)據(jù)線下拉480~960 μs,再釋放數(shù)據(jù)線,等待約60 μs。若MCU接收到DS18B20發(fā)出的存在低電平,則表示復(fù)位成功。

  下面是復(fù)位程序代碼:

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉