在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            關(guān) 閉

            新聞中心

            EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 分布式測(cè)溫中傳感器時(shí)序與溫度讀取研究

            分布式測(cè)溫中傳感器時(shí)序與溫度讀取研究

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



            圖3 數(shù)字寫(xiě)

            寫(xiě)一位程序如下所示。程序中DAT為I/O口P1.0。
            WIR11: SETB DAT ; 拉高電平
            MOV R4, #5
            NOP
            CLR DAT ; 高電平持續(xù)2us后拉低
            WIR12: DJNZ R4, WIR12 ; 等待10微秒
            MOV DAT, C ; 發(fā)送1位
            MOV R4, #23
            WIR13: DJNZ R4, WIR13 ; 保證寫(xiě)時(shí)間大于60us
            SETB DAT
            RET

            2.3
            DS18B20只有在檢測(cè)到主設(shè)備啟動(dòng)讀后才向主設(shè)備傳輸數(shù)據(jù)。所以一般在主設(shè)備發(fā)送了讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)序,以便DS18B20能夠傳輸數(shù)據(jù)。所有的讀時(shí)序都至少需要60μS,且在兩次獨(dú)立的讀時(shí)序之間至少需要1μS的恢復(fù)時(shí)間。每個(gè)讀時(shí)序都由主設(shè)備發(fā)起,先使數(shù)據(jù)線為高電平,然后拉低數(shù)據(jù)線至少1μS,再釋放數(shù)據(jù)線。在主設(shè)備發(fā)出讀時(shí)序之后,DS18B20開(kāi)始在數(shù)據(jù)線上發(fā)送數(shù)據(jù)0或1。若其發(fā)送1,則保持?jǐn)?shù)據(jù)線為高電平。若發(fā)送0,則DS18B20拉低數(shù)據(jù)線,在該時(shí)序結(jié)束后釋放數(shù)據(jù)線。DS18B20發(fā)出的數(shù)據(jù)在起始時(shí)序之后15μS內(nèi)保證可靠有效。因而主設(shè)備在讀時(shí)序期間必須釋放數(shù)據(jù)線,并且要在時(shí)序開(kāi)始后的15μS之內(nèi)數(shù)據(jù)線狀態(tài)。寫(xiě)時(shí)序如圖4所示。


            圖4 數(shù)字讀時(shí)序

            讀一位程序如下所示:
            RE11: SETB DAT ; 使數(shù)據(jù)線為高電平
            NOP
            NOP
            CLR DAT ; 高電平持續(xù)2us后拉低數(shù)據(jù)線
            MOV R4, #4
            NOP ; 持續(xù)低電平2us
            SETB DAT ; 釋放數(shù)據(jù)線
            RE12: DJNZ R4, RE12 ; 等待8us
            MOV C, DAT ; 讀入一位
            MOV R5, #28
            RE13: DJNZ R5, RE13 ; 保證一個(gè)讀周期持續(xù)60us
            SETB DAT ; 使數(shù)據(jù)線為高電平
            RET

            3.初始化以及讀寫(xiě)時(shí)序應(yīng)用
            3.1 溫度采集程序設(shè)計(jì)
            單總線數(shù)字溫度傳感器DS18B20要完成溫度的采集需要按順序完成如下幾個(gè)步驟:初始化、跳過(guò)ROM匹配、啟動(dòng)轉(zhuǎn)換、等待轉(zhuǎn)換完成、初始化、匹配ROM、讀便箋式存儲(chǔ)器、CRC校驗(yàn)、溫度格式轉(zhuǎn)換、保存溫度值以及顯示等其他處理。按照此步驟,程序設(shè)計(jì)時(shí)首先就要按照初始化時(shí)序執(zhí)行2.1所介紹的初始化程序INI10,其次要將跳過(guò)ROM匹配命令(代碼為CCH)寫(xiě)入到DS18B20中,此時(shí)需根據(jù)2.2所介紹的數(shù)字溫度傳感器寫(xiě)時(shí)序編寫(xiě)對(duì)DS18B20一個(gè)寫(xiě)入字節(jié)程序WRITE,將跳過(guò)ROM匹配命令寫(xiě)入DS18B20。為了完成溫度啟動(dòng)轉(zhuǎn)換,需要將啟動(dòng)轉(zhuǎn)換命令寫(xiě)入DS18B20中。用延時(shí)750ms等待轉(zhuǎn)換完成。隨后再按照初始化時(shí)序執(zhí)行本文中2.1所介紹的初始化程序INI10,用寫(xiě)入一個(gè)字節(jié)程序?qū)⑵ヅ銻OM命令(代碼為55H)寫(xiě)入到DS18B20中。為了完成讀便箋式存儲(chǔ)器操作,需要先結(jié)合數(shù)字溫度傳感器寫(xiě)時(shí)序?qū)⒆x便箋式存儲(chǔ)器命令(代碼為BEH)寫(xiě)入到DS18B20中,再用溫度傳感器讀時(shí)序編寫(xiě)的讀一個(gè)字節(jié)程序READ,連續(xù)DS18B20便箋式存儲(chǔ)器中9個(gè)字節(jié)的內(nèi)容。由此可見(jiàn),要想實(shí)現(xiàn)溫度正確采集,需要結(jié)合上述所介紹的初始化時(shí)序、溫度傳感器寫(xiě)時(shí)序和溫度傳感器讀時(shí)序,才可以將所需的命令寫(xiě)入與讀出。完成溫度的正確

            3.2 溫度傳感器序列號(hào)讀取程序設(shè)計(jì)
            每個(gè)單總線數(shù)字溫度傳感器DS18B20出廠時(shí)都有唯一的一個(gè)64位序列號(hào),在使用溫度傳感器之前,需事先將每個(gè)溫度傳感器逐一掛接在I/O口如P1.0上,再讀取溫度傳感器的序列號(hào)。當(dāng)I/O口上掛接一個(gè)溫度傳感器DS18B20時(shí),可以用讀ROM命令完成64位序列號(hào)的讀取。程序設(shè)計(jì)思路是首先將讀ROM命令(代碼為33H)送入累加器A中,隨后調(diào)用寫(xiě)入一個(gè)字節(jié)程序WRITE,然后調(diào)用讀64位序列號(hào)程序DXLH。在寫(xiě)入一個(gè)字節(jié)程序WRITE中,置循環(huán)次數(shù)為8,再調(diào)用寫(xiě)入一位子程序,嚴(yán)格按照時(shí)序關(guān)系,執(zhí)行傳感器寫(xiě)時(shí)序,循環(huán)8次寫(xiě)完一個(gè)字節(jié)。在讀64位序列號(hào)程序DXLH中,置內(nèi)部RAM首地址為30H,置循環(huán)次數(shù)為8,調(diào)用讀一個(gè)字節(jié)程序READ,將讀取數(shù)據(jù)存放在內(nèi)部RAM中。循環(huán)8次讀完8個(gè)字節(jié)即64位序列號(hào)。讀出的64位序列號(hào)將存放到內(nèi)部RAM 30H ~ 37H單元中。讀一個(gè)字節(jié)程序READ如下所示。



            評(píng)論


            相關(guān)推薦

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

            關(guān)閉