<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)化 > 設計應用 > 溫度傳感器DSl8B20在Proteus中的仿真

溫度傳感器DSl8B20在Proteus中的仿真

作者: 時(shí)間:2010-09-08 來(lái)源:網(wǎng)絡(luò ) 收藏

2 單總線(xiàn)器件的使用
2.1 的工作原理
在該測溫系統中,單片機PICl6F877A作為主機,作為從機。由于DSl8B20采用的是主從結構,只有主機呼叫從機時(shí),從機才能應答。因此,訪(fǎng)問(wèn)器件時(shí)必須嚴格遵循單總線(xiàn)命令序列,以及初始化、ROM、命令功能的命令。如果序列混亂,則器件不響應主機。從機主機和從機之間的通信通過(guò)3個(gè)步驟完成:初始化器件;識別器件;交換數據。
單總線(xiàn)器件采用嚴格的通信協(xié)議來(lái)保證數據的完整性。通信協(xié)議包括:復位脈沖、應答脈沖、寫(xiě)0、寫(xiě)1、讀O和讀1。所有這些信號都是以先低位、后高位的方式發(fā)送的。
(1)復位脈沖和應答脈沖
復位脈沖和應答脈沖即為初始化過(guò)程,所有的通信都是以初始化開(kāi)始的。首先主機要拉低總線(xiàn)至少480μs,接著(zhù)釋放總線(xiàn)并持續15~60μs,然后進(jìn)入接收狀態(tài),檢測總線(xiàn)DQ的電平。若DQ為低電平,則表示從機已就緒,可以發(fā)送ROM命令。由于C語(yǔ)言簡(jiǎn)潔緊湊、靈活方便且可
移植性好,因此本文程序采用C語(yǔ)言來(lái)完成。相應的初始化程序如下:


其中,變量dq用來(lái)判斷DSl8B20是否有返回的存在脈沖,為O即有返回脈沖,表明復位成功,可跳出循環(huán);DQ表示總線(xiàn)的電平,當總線(xiàn)為高電平時(shí)DQ為1,否則為0;DQ_IO用來(lái)表示DQ所連的單片機I/O口的狀態(tài),若該I/O口對單片機是作為輸入使用則DQ_IO為1,作為輸出使用則DQ_IO為O。
(2)寫(xiě)操作時(shí)序
無(wú)論是命令還是數據,所有的寫(xiě)操作都是以字節為單位的,全部以先低位、后高位的方式傳輸的。位寫(xiě)入過(guò)程是這樣的:主機將總線(xiàn)拉低15μs,然后根據要發(fā)的那位數據的電平來(lái)決定接下來(lái)總線(xiàn)的電平。若數據待發(fā)位為低電平,則主機須將DQ置為低電平并保持1 5~45μs;若數據待發(fā)位為高電平,則主機需將DQ置為高電平且保持15~45μs。發(fā)送1位數據的時(shí)間(從總線(xiàn)拉低開(kāi)始到發(fā)送結束)必須控制在60~20μ s。
位與位之間要有一個(gè)大于1μs的高電平時(shí)間間隙隔開(kāi)。一個(gè)字節的數據寫(xiě)入結束后需要將總線(xiàn)釋放,以確保之后操作的正確進(jìn)行。
(3)讀操作時(shí)序
所有數據的讀取是以字節為單位,以先低位、后高位的方式進(jìn)行傳輸的。位讀取的過(guò)程如下:首先需要主機將總線(xiàn)拉低1~15μs,然后釋放總線(xiàn),對總線(xiàn)的電平進(jìn)行判斷。若總線(xiàn)為低電平,說(shuō)明帶讀取數據位為0;若總線(xiàn)為高電平,則表明帶讀取數據位為1。讀取1位數據的時(shí)間(從總線(xiàn)拉低開(kāi)始到將總線(xiàn)置高準備下一位數據)必須大于60 μs。同樣,位與位之間須有一個(gè)大于1 μs的高電平時(shí)間間隙隔開(kāi)。一個(gè)字節的數據讀取結束后需要將總線(xiàn)釋放,以確保操作的正確進(jìn)行。由于DSl8B20的采用9~12位的分辨率,因此一個(gè)數據需要讀取2字節的溫度數據。2字節的數據讀取結束后將總線(xiàn)釋放,以便接下來(lái)數據的正確傳輸。



關(guān)鍵詞: 仿真 Proteus DSl8B20 傳感器 溫度

評論


相關(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>