日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【51单片机快速入门指南】6.3:DS18B20 单总线数字温度计的多路读取

發(fā)布時(shí)間:2023/12/9 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【51单片机快速入门指南】6.3:DS18B20 单总线数字温度计的多路读取 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 硬知識(shí)
    • DS18B20介紹
    • 時(shí)序
      • 初始化時(shí)序
      • 寫(xiě)時(shí)序
      • 讀時(shí)序
    • 命令
      • ROM 操作命令
        • ROM 搜索舉例
      • 存貯器操作命令
  • 示例程序
    • DS18B20.c
    • DS18B20.h
    • 測(cè)試程序
      • 定時(shí)器中斷服務(wù)函數(shù)
      • 單傳感器時(shí)ID的獲取 main.c
      • 單傳感器讀取溫度和讀取特定ID傳感器的溫度
      • 多路傳感器讀取

普中51-單核-A2
STC89C52
Keil uVision V5.29.0.0
PK51 Prof.Developers Kit Version:9.60.0.0


硬知識(shí)

???????摘自《普中 51 單片機(jī)開(kāi)發(fā)攻略》、《DS18B20 單總線數(shù)字溫度計(jì)》

DS18B20介紹

???????DS18B20 是由 DALLAS 半導(dǎo)體公司推出的一種的“一線總線(單總線)”接 口的溫度傳感器。與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它是一種新型的體積小、 適用電壓寬、與微處理器接口簡(jiǎn)單的數(shù)字化溫度傳感器。
???????DS18B20 溫度傳感器具有如下特點(diǎn):

  • 適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下可由數(shù)據(jù) 線供電。
  • 獨(dú)特的單線接口方式,DS18B20 在與微處理器連接時(shí)僅需要一條口線即 可實(shí)現(xiàn)微處理器與 DS18B20 的雙向通訊。
  • DS18B20 支持多點(diǎn)組網(wǎng)功能,多個(gè) DS18B20 可以并聯(lián)在唯一的三線上, 實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫。
  • DS18B20 在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成 在形如一只三極管的集成電路內(nèi)。
  • 溫范圍-55℃~+125℃,在-10~+85℃時(shí)精度為±0.5℃
  • 可編程的分辨率為 9~12 位,對(duì)應(yīng)的可分辨溫度分別為 0.5℃、0.25℃、 0.125℃ 和 0.0625℃,可實(shí)現(xiàn)高精度測(cè)溫。
  • 在 9 位分辨率時(shí)最多在 93.75ms 內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12 位分辨率時(shí) 最多在 750ms 內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。
  • 測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以"一根總線"串行傳送給 CPU,同時(shí) 可傳送 CRC 校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力。
  • 負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。 DS18B20 外觀實(shí)物如下圖所示:


    ???????ROM 中的 64 位序列號(hào)是出廠前被光刻好的,它可以看作是該 DS18B20 的地址序列號(hào)。64 位光刻 ROM 的排列是:
    ???????開(kāi)始 8 位(28H)是產(chǎn)品類型標(biāo)號(hào),
    ???????接著的 48 位是該 DS18B20 自身的序列號(hào),
    ???????最后 8 位是前面 56 位的循環(huán)冗余校驗(yàn)碼。
    ???????光刻 ROM 的作用是使每一個(gè) DS18B20 都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè) DS18B20 的目的。

    ???????DS18B20 溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速的暫存器 RAM 和一個(gè)非易失性的可電擦除的 EEPROM,后者存放高溫度和低溫度觸發(fā)器 TH、TL 和配置寄存器。配置寄存器是配置不同的位數(shù)來(lái)確定溫度和數(shù)字的轉(zhuǎn)化,配置寄存器結(jié)構(gòu)如下:

    ???????低五位一直都是"1",TM 是測(cè)試模式位,用于設(shè)置 DS18B20 在工作模式還 是在測(cè)試模式。在 DS18B20 出廠時(shí)該位被設(shè)置為 0,用戶不需要去改動(dòng)。R1 和 R0 用來(lái)設(shè)置 DS18B20 的精度(分辨率),可設(shè)置為 9,10,11 或 12 位,對(duì) 應(yīng)的分辨率溫度是 0.5℃,0.25℃,0.125℃和 0.0625℃。R0 和 R1 配置如下圖:

    ???????在初始狀態(tài)下默認(rèn)的精度是 12 位,即 R0=1、R1=1。高速暫存存儲(chǔ)器由 9 個(gè) 字節(jié)組成,其分配如下:

    ???????當(dāng)溫度轉(zhuǎn)換命令(44H)發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存 放在高速暫存存儲(chǔ)器的第 0 和第 1 個(gè)字節(jié)。存儲(chǔ)的兩個(gè)字節(jié),高字節(jié)的前 5 位 是符號(hào)位 S,單片機(jī)可通過(guò)單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后, 數(shù)據(jù)格式如下:
  • ???????如果測(cè)得的溫度大于 0,這 5 位為‘ 0’,只要將測(cè)到的數(shù)值乘以 0.0625 (默認(rèn)精度是 12 位)即可得到實(shí)際溫度;如果溫度小于 0,這 5 位為‘ 1’, 測(cè)到的數(shù)值需要取反加 1 再乘以 0.0625 即可得到實(shí)際溫度。溫度與數(shù)據(jù)對(duì)應(yīng)關(guān)系如下:

    時(shí)序

    ???????比如我們要計(jì)算+85 度,數(shù)據(jù)輸出十六進(jìn)制是 0X0550,因?yàn)楦咦止?jié)的高 5 位為 0,表明檢測(cè)的溫度是正溫度,0X0550 對(duì)應(yīng)的十進(jìn)制為 1360,將這個(gè)值乘 以 12 位精度 0.0625,所以可以得到+85 度。 知道了怎么計(jì)算溫度,接下來(lái)我們就來(lái)看看如何讀取溫度數(shù)據(jù),由于 DS18B20 是單總線器件,所有的單總線器件都要求采用嚴(yán)格的信號(hào)時(shí)序,以保證 數(shù)據(jù)的 完整性。DS18B20 時(shí)序包括如下幾種:初始化時(shí)序、寫(xiě)(0 和 1)時(shí)序、 讀(0 和 1)時(shí)序。 DS18B20 發(fā)送所有的命令和數(shù)據(jù)都是字節(jié)的低位在前。這里我們簡(jiǎn)單介紹這幾個(gè)信號(hào)的時(shí)序:

    初始化時(shí)序

    ???????單總線上的所有通信都是以初始化序列開(kāi)始。主機(jī)輸出低電平,保持低電平時(shí)間至少 480us(該時(shí)間的時(shí)間范圍可以從 480 到 960 微妙),以產(chǎn)生復(fù)位脈沖。接著主機(jī)釋放總線,外部的上拉電阻將單總線拉高,延時(shí) 15~60 us,并進(jìn) 入接收模式。接著 DS18B20 拉低總線 60~240 us,以產(chǎn)生低電平應(yīng)答脈沖,若為低電平,還要做延時(shí),其延時(shí)的時(shí)間從外部上拉電阻將單總線拉高算起最少要 480 微妙。初始化時(shí)序圖如下:

    ???????邏輯分析儀實(shí)測(cè)如下

    寫(xiě)時(shí)序

    ???????寫(xiě)時(shí)序包括寫(xiě) 0 時(shí)序和寫(xiě) 1 時(shí)序。所有寫(xiě)時(shí)序至少需要 60us,且在 2 次 獨(dú)立的寫(xiě)時(shí)序之間至少需要 1us 的恢復(fù)時(shí)間,兩種寫(xiě)時(shí)序均起始于主機(jī)拉低總線。寫(xiě) 1 時(shí)序:主機(jī)輸出低電平,延時(shí) 2us,然后釋放總線,延時(shí) 60us。寫(xiě) 0 時(shí)序:主機(jī)輸出低電平,延時(shí) 60us,然后釋放總線,延時(shí) 2us。寫(xiě)時(shí)序圖如下:

    實(shí)操如下
    握手后寫(xiě)入0xcc

    讀時(shí)序

    ???????單總線器件僅在主機(jī)發(fā)出讀時(shí)序時(shí),才向主機(jī)傳輸數(shù)據(jù),所以,在主機(jī)發(fā)出 讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)序,以便從機(jī)能夠傳輸數(shù)據(jù)。所有讀時(shí)序至少 需要 60us,且在 2 次獨(dú)立的讀時(shí)序之間至少需要 1us 的恢復(fù)時(shí)間。每個(gè)讀時(shí)序都由主機(jī)發(fā)起,至少拉低總線 1us。主機(jī)在讀時(shí)序期間必須釋放總線,并且在 時(shí)序起始后的 15us 之內(nèi)采樣總線狀態(tài)。讀時(shí)序圖如下:

    ???????典型的讀時(shí)序過(guò)程為:主機(jī)輸出低電平延時(shí) 2us,然后主機(jī)轉(zhuǎn)入輸入模式延 時(shí) 12us,然后讀取單總線當(dāng)前的電平,然后延時(shí) 50us。
    ???????邏輯分析儀實(shí)測(cè)如下

    讀0時(shí)寬度為29us

    讀1時(shí):

    命令

    ROM 操作命令

    ???????一旦總線主機(jī)檢測(cè)到從屬器件的存在,它便可以發(fā)出器件 ROM 操作命令之一。所有 ROM 操作命令均為 8 位長(zhǎng),這些命令列表如下:
    Read ROM(讀 ROM) [33h]
    ???????此命令允許總線主機(jī)讀DS1820的8位產(chǎn)品系列編碼,唯一的48位序列號(hào),以及8位的CRC此命令只能在總線上僅有一個(gè)DS1820的情況下可以使用。如果總線上存在多于一個(gè)的從屬器件,那么當(dāng)所有從片企圖同時(shí)發(fā)送時(shí)將發(fā)生數(shù)據(jù)沖突的現(xiàn)象(漏極開(kāi)路會(huì)產(chǎn)生“線與”的結(jié)果)。
    Match ROM("符合"ROM)[55h]
    ???????“符合”ROM命令。后繼以64位的ROM數(shù)據(jù)序列,允許總線主機(jī)對(duì)多點(diǎn)總線上特定的DS1820尋址。只有與64位ROM序列嚴(yán)格相符的DS 1820才能對(duì)后繼的存貯器操作命令作出響應(yīng)。所有與64位ROM序列不符的從片將等待復(fù)位脈沖。此命令在總線上有單個(gè)或多個(gè)器件的情況下均可使用。
    Skip ROM(“跳過(guò)"ROM)[CCh]
    ???????在單點(diǎn)總線系統(tǒng)中,此命令通過(guò)允許總線主機(jī)不提供64位ROM編碼而訪問(wèn)存儲(chǔ)器操作來(lái)節(jié)省時(shí)間。如果在總線上存在多于一個(gè)的從屬器件而且在Skip ROM命令之后發(fā)出讀命令,那么由于多個(gè)從片同時(shí)發(fā)送數(shù)據(jù),會(huì)在總線上發(fā)生數(shù)據(jù)沖突(漏極開(kāi)路下拉會(huì)產(chǎn)生“線與”的效果)。
    Search ROM(搜索ROM)[F0h]
    ???????當(dāng)系統(tǒng)開(kāi)始工作時(shí),總線主機(jī)可能不知道單線總線上的器件個(gè)數(shù)或者不知道其64位ROM編碼。
    搜索ROM命令允許總線主機(jī)使用一種“消去”(elimination)處理來(lái)識(shí)別總線上所有從片的64位ROM編碼。
    Alarm Search(告警搜索)[ECh]
    ???????此命令的流程與搜索ROM命令相同。但是,僅在最近一次溫度測(cè)量出現(xiàn)告警的情況下,DS1820才對(duì)此命令作出響應(yīng)。告警的條件定義為溫度高于TH或低于TL。只要DS1820一上電,告警條件就保持在設(shè)置狀態(tài),直到另一次溫度測(cè)量顯示出非告警值,或者改變TH或TL的設(shè)置使得測(cè)量值再一次位于允許的范圍之內(nèi)。貯存在EEPROM內(nèi)的觸發(fā)器值用于告警。

    ROM 搜索舉例

    【51單片機(jī)快速入門(mén)指南】6.3.1:使用1-WIRE搜索算法搜索單總線上所有DS18B20的ID(基于二叉樹(shù))

    ???????ROM搜索過(guò)程是簡(jiǎn)單三步過(guò)程的重復(fù):讀一位,讀該位的補(bǔ)碼(complement),然后寫(xiě)所需的那一位的值。總線主機(jī)在ROM的每一位上完成這一簡(jiǎn)單的三步過(guò)程。在全部過(guò)程完成之后,總線主機(jī)便知道一個(gè)器件中ROM的內(nèi)容。器件中其余的數(shù)以及它們的ROM編碼可以由另外一個(gè)過(guò)程來(lái)識(shí)別。
    ???????以下ROM搜索過(guò)程的例子假設(shè)四個(gè)不同的器件連接到同一條單線總線上。四個(gè)器件的ROM數(shù)據(jù)如下所示:
    ROM1 00110101……
    ROM2 10101010……
    ROM3 11110101……
    ROM4 00010001……
    搜索過(guò)程如下:

  • 總線主機(jī)通過(guò)發(fā)出復(fù)位脈沖開(kāi)始初始化序列,從屬器件通過(guò)發(fā)出同時(shí)的存在脈沖作出響應(yīng)。
  • 然后總線主機(jī)在單線總線上發(fā)出搜索ROM命令。
  • 總線主機(jī)從單線過(guò)程中讀一位。每一器件通過(guò)把它們各自ROM數(shù)據(jù)的第一位的值放到單線總線上來(lái)作出響應(yīng)。ROM1和ROM4將把一個(gè)0放在單線總線上,即,把它拉至低電平。ROM2和3通過(guò)使總線停留在高電平而把1放在單線總線上。結(jié)果是線上所有器件的邏輯“與”,因此總線主機(jī)接收到一個(gè)0。總線主機(jī)讀另一位。因?yàn)樗阉鱎OM數(shù)據(jù)命令正在執(zhí)行,所以單線總線上所有器件通過(guò)把它各自ROM數(shù)據(jù)第一位的補(bǔ)碼放到單線總線上來(lái)對(duì)這第二個(gè)讀作出響應(yīng) ROMI和ROM4把1放在單總線上,使之處于高電平。ROM2和ROM3把0放在單線上,因此它將被拉至低電平。對(duì)于第一個(gè)ROM數(shù)據(jù)位的補(bǔ)碼總線主機(jī)觀察到的仍是一個(gè)0。總線主機(jī)便可決定在單線總線上有一些第一位為0的器件和一些第一位為1的器件。
  • ???????從三步過(guò)程的兩次讀中可獲得的數(shù)據(jù)具有以下的解釋:
    ???????00:有器件連接著,在此數(shù)據(jù)位上它們的值發(fā)生沖突。
    ???????01:有器件連接著,在此數(shù)據(jù)位上它們的值均為0。
    ???????10:有器件連接著,在此數(shù)據(jù)位上它們的值均為1
    ???????11:沒(méi)有器件與單線總線相連。

  • 總線主機(jī)寫(xiě)一個(gè)0,在這次搜索過(guò)程的其余部分,將不選擇ROM2和ROM3,僅留下連接到單線總線的ROM1和ROM4。
  • 總線主機(jī)再執(zhí)行兩次讀,并在一個(gè)1位之后接收到一個(gè)0位,這表示所有還連接在總線上的器件的第二個(gè)ROM數(shù)據(jù)位為0。
  • 總線主機(jī)接著寫(xiě)一個(gè)0,使ROM1和ROM4二者繼續(xù)保持連接。
  • 總線主機(jī)執(zhí)行兩次讀,并接收到兩次0數(shù)據(jù)位。這表示連接著的器件的ROM數(shù)據(jù)的第三位都是1數(shù)據(jù)位和0數(shù)據(jù)位
  • 總線主機(jī)寫(xiě)一個(gè)0數(shù)據(jù)位。這將不選擇ROMI而把ROM4作為唯一仍連接著的器件加以保留。
  • 總線主機(jī)讀ROM4的ROM數(shù)據(jù)位的剩余部分,而且訪問(wèn)需要的部件。這就完成了第一個(gè)過(guò)程并且唯一地識(shí)別出單線總線上的部件。
  • 總線主機(jī)通過(guò)重復(fù)步驟1至7開(kāi)始一個(gè)新的ROM搜索序列。
  • 總線主機(jī)寫(xiě)一個(gè)1,這將不與ROM4發(fā)生聯(lián)系,而唯一地與ROM1仍保持著聯(lián)系。
  • 總線主機(jī)對(duì)于ROM1讀出ROM位的剩余部分而且,如果需要的話,與內(nèi)部邏輯通信。這就完成了第二個(gè)ROM搜索過(guò)程,在其中ROM中的另一個(gè)被找到。
  • 總線主機(jī)通過(guò)重復(fù)步驟1至3開(kāi)始一次新的ROM搜索。
  • 總線主機(jī)寫(xiě)一個(gè)1數(shù)據(jù)位。這使得在這一搜索過(guò)程的其余部分不選擇ROM1和ROM4,僅留下ROM2和ROM3與系統(tǒng)相連接。
  • 總線主機(jī)執(zhí)行兩個(gè)讀時(shí)間片并接收到兩個(gè)零,
  • 總線主機(jī)寫(xiě)一個(gè)0數(shù)據(jù)位。這去掉ROM3,僅留下ROM2.
  • 總線主機(jī)對(duì)于ROM2讀出ROM數(shù)據(jù)位的剩余部分,而且若有需要便與內(nèi)部邏輯通信。這完成了第三個(gè)ROM搜索過(guò)程,在此過(guò)程中找到另一個(gè)ROM.
  • 總線主機(jī)通過(guò)重復(fù)步驟13至15開(kāi)始一次新的ROM搜索。
  • 總線主機(jī)寫(xiě)一個(gè)1數(shù)據(jù)位。這去掉ROM2,僅留下ROM3
  • 總線主機(jī)讀出ROM3數(shù)據(jù)位的剩余部分,而且若有需要就與內(nèi)部邏輯通信。這樣便完成了第4個(gè)ROM搜索過(guò)程,在這過(guò)程中找到了另一個(gè)ROM。
  • 存貯器操作命令


    注:

  • 溫度變換需要2秒鐘。在接收到溫度變換命令之后,如果器件未從VDD引腳取得電源,那么DS1820的I/O引線必須至少保持2秒的高電平以提供變換過(guò)程所需的電源。這樣,在溫度變換命令發(fā)出之后,至少在此期間內(nèi)單線總線上不允許發(fā)生任何其他的動(dòng)作。
  • 在接收到復(fù)制暫存存儲(chǔ)器的命令以后,如果器件沒(méi)有從VDD引腳取得電源,那么DS1820的I/O引腳必須至少維持10ms的高電平,以便提供復(fù)制過(guò)程中所需的電源。這樣,在復(fù)制暫存存儲(chǔ)器命令發(fā)出之后,至少在這一期間之內(nèi)單線總線上不允許發(fā)生任何其他的動(dòng)作。此命令寫(xiě)至DS1820的暫存存儲(chǔ)器,以地址2開(kāi)始。接著寫(xiě)的兩個(gè)字節(jié)將被保存在暫存存儲(chǔ)器地址2和3之間中。發(fā)出一個(gè)復(fù)位便可在任何處終止寫(xiě)操作。
  • 讀暫存存儲(chǔ)器(Read Scratchpad)[BEh]
    ???????此命令讀暫存存儲(chǔ)器的內(nèi)容。讀開(kāi)始于字節(jié)0,并繼續(xù)經(jīng)過(guò)暫存存儲(chǔ)器,直至第九個(gè)字節(jié)(字節(jié)8,CRC)被讀出為止。如果不是所有位置均可讀,那么主機(jī)可以在任何時(shí)候發(fā)出一復(fù)位以中止讀操作。
    復(fù)制暫存存儲(chǔ)器(Copy Scratchpad)[48h]
    ???????此命令把暫存存儲(chǔ)器復(fù)制入DS1820的E2E^2E2存儲(chǔ)器,把溫度觸發(fā)器字節(jié)存貯入非易失性存儲(chǔ)器,如果總線主機(jī)在此命令之后發(fā)出讀時(shí)間片,那么只要DS1820正忙于把暫存存儲(chǔ)器復(fù)制入E2E^2E2,它就會(huì)在總線上輸出"0",當(dāng)復(fù)制過(guò)程完成之后,它將反回"1",如果由寄生電源供電,總線主機(jī)在發(fā)出此命令之后必須能立即強(qiáng)制上拉至少10mS.
    溫度變換(Convert T)[44h]
    ???????此命令開(kāi)始溫度變換。不需要另外的數(shù)據(jù)。溫度變換將被執(zhí)行,接著DS1820便保持在空閑狀態(tài)。如果總線主機(jī)在此命令之后發(fā)出讀時(shí)間片,那么只要DS1820正忙于進(jìn)行溫度變換,它將在總線上輸出“0",當(dāng)溫度變換完成時(shí),它便返回“1",如果由寄生電源供電,那么總線主機(jī)在發(fā)出此命令之后必須立即強(qiáng)制上拉至少2秒。
    重新調(diào)出E2(Recall E2)[B8h]
    ???????此命令把貯存在E2中溫度觸發(fā)器的值重新調(diào)至?xí)捍娲鎯?chǔ)器,這種重新調(diào)出的操作在對(duì)DS1820上電時(shí)也自動(dòng)發(fā)生,因此只要器件一接電,暫存存儲(chǔ)器內(nèi)就有有效的數(shù)據(jù)可供使用。在此命令發(fā)出之后,對(duì)于所發(fā)出的第一個(gè)讀數(shù)據(jù)時(shí)間片,器件都將輸出其忙的標(biāo)志"0"=忙,“1”=準(zhǔn)備就緒。
    讀電源(Read Power Supply)[B4h]
    ???????對(duì)于在此命令送至DS1820之后所發(fā)出的第一讀出數(shù)據(jù)的時(shí)間片,器件都會(huì)給出其電源方式的信號(hào):“0”=寄生電源供電,“1”=外部電源供電。

    示例程序

    DS18B20.c

    #include "DS18B20.h"void delay_10us(uint8_t n);void DS18B20_Delay() {}void DS18B20_Pin_H() {DS18B20_Pin = 1; }void DS18B20_Pin_L() {DS18B20_Pin = 0; }uint8_t DS18B20_Pin_Read() {return DS18B20_Pin; }/******************************************************************************* * 函 數(shù) 名 : DS18B20_reset * 函數(shù)功能 : 復(fù)位DS18B20 * 輸 入 : 無(wú) * 輸 出 : 無(wú) *******************************************************************************/ void DS18B20_reset(void) {DS18B20_Pin_L(); //拉低IOdelay_10us(72); //480~960usDS18B20_Pin_H(); //釋放IO }/******************************************************************************* * 函 數(shù) 名 : DS18B20_check * 函數(shù)功能 : 檢測(cè)DS18B20是否存在 * 輸 入 : 無(wú) * 輸 出 : 1:未檢測(cè)到DS18B20的存在,0:存在 *******************************************************************************/ uint8_t DS18B20_check(void) {uint8_t time_temp = 0;while (DS18B20_Pin_Read() && time_temp < 6) //等待DQ為低電平 實(shí)測(cè)29us{time_temp++;delay_10us(1);}if (time_temp >= 6)return 1; //如果超時(shí)則強(qiáng)制返回1elsetime_temp = 0;while ((!DS18B20_Pin_Read()) && time_temp < 25) //等待DQ為高電平 實(shí)測(cè)109us{time_temp++;delay_10us(1);}if (time_temp >= 25)return 1; //如果超時(shí)則強(qiáng)制返回1return 0; }/******************************************************************************* * 函 數(shù) 名 : DS18B20_read_bit * 函數(shù)功能 : 從DS18B20讀取一個(gè)位 * 輸 入 : 無(wú) * 輸 出 : 1/0 *******************************************************************************/ uint8_t DS18B20_read_bit(void) {uint8_t dat = 0;DS18B20_Pin_L();DS18B20_Delay();DS18B20_Pin_H();delay_10us(1);if (DS18B20_Pin_Read())dat = 1; //如果總線上為1則數(shù)據(jù)dat為1,否則為0else dat = 0;delay_10us(5);return dat; }/******************************************************************************* * 函 數(shù) 名 : DS18B20_read_byte * 函數(shù)功能 : 從DS18B20讀取一個(gè)字節(jié) * 輸 入 : 無(wú) * 輸 出 : 一個(gè)字節(jié)數(shù)據(jù) *******************************************************************************/ uint8_t DS18B20_read_byte(void) {uint8_t i = 0;uint8_t dat = 0;uint8_t temp = 0;for (i = 0; i<8; i++)//循環(huán)8次,每次讀取一位,且先讀低位再讀高位{temp = DS18B20_read_bit();dat = (temp << 7) | (dat >> 1);}return dat; }/******************************************************************************* * 函 數(shù) 名 : DS18B20_write_bit * 函數(shù)功能 : 寫(xiě)一個(gè)位到DS18B20 * 輸 入 : dat:要寫(xiě)入的位 * 輸 出 : 無(wú) *******************************************************************************/ void DS18B20_write_bit(uint8_t Bit) {if (Bit){DS18B20_Pin_L();DS18B20_Delay();DS18B20_Pin_H();delay_10us(6);}else{DS18B20_Pin_L();delay_10us(6);DS18B20_Pin_H();DS18B20_Delay();} }/******************************************************************************* * 函 數(shù) 名 : DS18B20_write_byte * 函數(shù)功能 : 寫(xiě)一個(gè)字節(jié)到DS18B20 * 輸 入 : dat:要寫(xiě)入的字節(jié) * 輸 出 : 無(wú) *******************************************************************************/ void DS18B20_write_byte(uint8_t dat) {uint8_t i = 0;uint8_t temp = 0;for (i = 0; i<8; i++)//循環(huán)8次,每次寫(xiě)一位,且先寫(xiě)低位再寫(xiě)高位{temp = dat & 0x01;//選擇低位準(zhǔn)備寫(xiě)入dat >>= 1;//將次高位移到低位DS18B20_write_bit(temp);} }/******************************************************************************* * 函 數(shù) 名 : DS18B20_init * 函數(shù)功能 : 初始化DS18B20的IO口 DQ 同時(shí)檢測(cè)DS的存在 * 輸 入 : 無(wú) * 輸 出 : 1:不存在,0:存在 *******************************************************************************/ uint8_t DS18B20_init(void) {DS18B20_reset();return DS18B20_check(); }void DS18B20_Read_ROM(uint8_t * pROM) {uint8_t i = 0;if(DS18B20_init())return;DS18B20_write_byte(DS18B20_READ_ROM);for(i = 0; i < 8; ++i)*pROM++ = DS18B20_read_byte(); }void DS18B20_Connect(uint8_t * pROM) {uint8_t i = 0;if(DS18B20_init())return;DS18B20_write_byte(DS18B20_MATCH_ROM);for(i = 0; i < 8; ++i)DS18B20_write_byte(*pROM++); }float DS18B20_Read_Temperture() {uint8_t dath = 0;uint8_t datl = 0;uint16_t value = 0;DS18B20_write_byte(DS18B20_Read_Scratchpad);//讀存儲(chǔ)器datl = DS18B20_read_byte();//低字節(jié)dath = DS18B20_read_byte();//高字節(jié)value = (dath << 8) + datl;//合并為16位數(shù)據(jù)if ((value & 0xf800) == 0xf800)//判斷符號(hào)位,負(fù)溫度{value = (~value) + 1; //數(shù)據(jù)取反再加1return value*(-0.0625);//乘以精度 }else //正溫度return value*0.0625; }void DS18B20_Single(void) {if(DS18B20_init())return;DS18B20_write_byte(DS18B20_SKIP_ROM);//SKIP ROM }

    DS18B20.h

    #ifndef _DS18B20_H #define _DS18B20_H#include <STC89C5xRC.H> #include "stdint.h"//管腳定義 sbit DS18B20_Pin=P3^7; //DS18B20數(shù)據(jù)口定義//ROM 操作命令 #define DS18B20_READ_ROM 0x33 #define DS18B20_MATCH_ROM 0x55 #define DS18B20_SKIP_ROM 0xcc #define DS18B20_SEARCH_ROM 0xf0 #define DS18B20_ALARM_ROM 0xec//DS1820 命令集 #define DS18B20_Read_Scratchpad 0xbe #define DS18B20_Write_Scratchpad 0x4e #define DS18B20_Copy_Scratchpad 0x48 #define DS18B20_Convert_T 0x44 #define DS18B20_Recall_E2 0xB8 #define DS18B20_Read_Power_Supply 0xB4uint8_t DS18B20_init(void);//函數(shù)聲明 void DS18B20_write_byte(uint8_t dat); uint8_t DS18B20_read_bit(void); void DS18B20_write_bit(uint8_t Bit); void DS18B20_Read_ROM(uint8_t * pROM); void DS18B20_Single(void); void DS18B20_Connect(uint8_t * pROM); float DS18B20_Read_Temperture();#endif

    測(cè)試程序

    ???????stdint.h見(jiàn)【51單片機(jī)快速入門(mén)指南】1:基礎(chǔ)知識(shí)和工程創(chuàng)建
    ???????串口部分見(jiàn)【51單片機(jī)快速入門(mén)指南】3.3:USART 串口通信
    ???????定時(shí)器的介紹和配置源碼見(jiàn)【51單片機(jī)快速入門(mén)指南】3.2:定時(shí)器/計(jì)數(shù)器

    定時(shí)器中斷服務(wù)函數(shù)

    void TIM0_Callback() interrupt 1 //定時(shí)器0中斷函數(shù) { extern uint8_t TIM0_Counter;--TIM0_Counter; }

    單傳感器時(shí)ID的獲取 main.c

    #include <STC89C5xRC.H> #include "intrins.h" #include "stdint.h" #include "TIM.h" #include "USART.h" #include "DS18B20.h"void Delay1ms() //@22.1184MHz {unsigned char i, j;_nop_();i = 4;j = 146;do{while (--j);} while (--i); }void delay_ms(uint8_t ms) {while(ms --)Delay1ms(); }uint8_t TIM0_Counter = 0; void delay_10us(uint8_t n) {TL0 = TH0;TIM0_Counter = n;while(TIM0_Counter > 1); }uint8_t DS18B20_0[8]; code uint8_t DS18B20_1[8] = {0x28, 0x38, 0x66, 0x16, 0xa8, 0x01, 0x3c, 0xe4};void main(void) {uint8_t i;Timer_Init(TIMER_0, TIMER_MODE_2, GATE_DISABLE, CLK_Internal, 22118400, 10, STC_TIM_Priority_Highest); //定時(shí)器配置為10us中斷一次,8位重裝載USART_Init(USART_MODE_1, Rx_ENABLE, STC_USART_Priority_Lowest, 22118400, 115200, DOUBLE_BAUD_DISABLE, USART_TIMER_2);DS18B20_Read_ROM(&DS18B20_0);while(1){ for(i = 0; i < 7; ++i)printf("0x%x, ", (int16_t)DS18B20_0[i]);printf("0x%x\r\n", (int16_t)DS18B20_0[i]);delay_ms(100);} }

    單傳感器讀取溫度和讀取特定ID傳感器的溫度

    code uint8_t DS18B20_0[8] = {0x28, 0x38, 0x66, 0x16, 0xa8, 0x01, 0x3c, 0xe4};void main(void) {Timer_Init(TIMER_0, TIMER_MODE_2, GATE_DISABLE, CLK_Internal, 22118400, 10, STC_TIM_Priority_Highest); //定時(shí)器配置為10us中斷一次,8位重裝載USART_Init(USART_MODE_1, Rx_ENABLE, STC_USART_Priority_Lowest, 22118400, 115200, DOUBLE_BAUD_DISABLE, USART_TIMER_2);while(1){ DS18B20_Single(); DS18B20_write_byte(DS18B20_Convert_T); //轉(zhuǎn)換命令 DS18B20_Single();printf("%f, ", DS18B20_Read_Temperture());DS18B20_Connect(&DS18B20_0);DS18B20_write_byte(DS18B20_Convert_T); //轉(zhuǎn)換命令DS18B20_Connect(&DS18B20_0);printf("%f\r\n", DS18B20_Read_Temperture());delay_ms(100);} }

    多路傳感器讀取

    code uint8_t DS18B20_0[8] = {0x28, 0x30, 0xc5, 0xb8, 0x0, 0x0, 0x0, 0x8e}; code uint8_t DS18B20_1[8] = {0x28, 0x38, 0x66, 0x16, 0x0, 0x0, 0x0, 0xee};void main(void) {Timer_Init(TIMER_0, TIMER_MODE_2, GATE_DISABLE, CLK_Internal, 22118400, 10, STC_TIM_Priority_Highest); //定時(shí)器配置為10us中斷一次,8位重裝載USART_Init(USART_MODE_1, Rx_ENABLE, STC_USART_Priority_Lowest, 22118400, 57600, DOUBLE_BAUD_DISABLE, USART_TIMER_1);DS18B20_Read_ROM(&DS18B20_1);while(1){ DS18B20_Connect(&DS18B20_0);DS18B20_write_byte(DS18B20_Convert_T); //轉(zhuǎn)換命令DS18B20_Connect(&DS18B20_0);printf("%f, ", DS18B20_Read_Temperture());DS18B20_Connect(&DS18B20_1);DS18B20_write_byte(DS18B20_Convert_T); //轉(zhuǎn)換命令DS18B20_Connect(&DS18B20_1);printf("%f\r\n", DS18B20_Read_Temperture());delay_ms(100);} }

    總結(jié)

    以上是生活随笔為你收集整理的【51单片机快速入门指南】6.3:DS18B20 单总线数字温度计的多路读取的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    2023年中文无字幕文字 | 免费看的黄色小视频 | 91福利视频免费 | 久久蜜臀一区二区三区av | 黄色日本免费 | 超碰97人人爱 | 欧美热久久 | 国产精品国产亚洲精品看不卡15 | 成人黄色av网站 | 91精品视频导航 | 免费黄av | 久久99精品一区二区三区三区 | 2018精品视频| 久久综合视频网 | 欧美精品久久久久久久亚洲调教 | 精品一区免费 | 国产1区2区3区精品美女 | 精品视频123区在线观看 | 黄色免费在线看 | 一区二区三区日韩精品 | free,性欧美 九九交易行官网 | 欧美伦理一区二区 | 免费色婷婷 | 亚洲精品一区二区久 | 97超碰在线久草超碰在线观看 | 成片免费观看视频大全 | 国产福利在线免费 | 婷婷激情久久 | 少妇性bbb搡bbb爽爽爽欧美 | 欧美激情视频一二区 | 成人a视频在线观看 | 成人在线超碰 | 婷婷在线不卡 | 中文有码在线 | 日本婷婷色 | www黄色com| 深夜免费福利网站 | 黄色软件在线观看免费 | 色综合天天天天做夜夜夜夜做 | 国产成人av网 | 亚洲精品网页 | 精品一二三区视频 | 在线视频亚洲 | 成人免费观看视频大全 | 亚洲欧美日韩国产一区二区 | 天天草天天操 | 成片人卡1卡2卡3手机免费看 | 日韩一级片大全 | 日韩xxxbbb | 九九九九九九精品任你躁 | 欧美久久99 | 九九免费观看全部免费视频 | 天天操狠狠操网站 | 在线中文字幕观看 | 2017狠狠干| 日韩综合在线观看 | 久久免费视频一区 | 香蕉视频国产在线 | 欧美aa一级 | 国产在线欧美日韩 | 欧美九九九 | 精品视频资源站 | 国产在线一区二区三区播放 | 91麻豆免费版 | 伊人亚洲精品 | 欧美成人精品欧美一级乱黄 | 国产精品国产三级国产aⅴ无密码 | 婷婷激情网站 | 麻豆免费精品视频 | 天天想夜夜操 | 米奇影视7777 | 久久久久国产精品视频 | 最新中文字幕在线播放 | 日韩久久精品一区二区 | 久久久国产网站 | 伊人夜夜| 综合天堂av久久久久久久 | 91av久久| 韩国三级在线一区 | 最近中文字幕在线 | 四虎国产精品成人免费影视 | 中文字幕在线观看视频免费 | 毛片99 | www.夜色321.com | 奇米影视在线99精品 | 中文在线字幕免费观 | 午夜久久福利 | 久久久久福利视频 | 又色又爽的网站 | 精品一区二区精品 | 色吊丝在线永久观看最新版本 | 丁香婷婷亚洲 | 国产精品久久久久久一二三四五 | 婷婷五天天在线视频 | 黄色大片网 | 欧美日韩精品免费观看视频 | 国产在线999 | 九九有精品| 丁香花五月 | 国产在线一线 | 日韩一区二区三区在线观看 | 精品国产一区二区三区蜜臀 | 国产69久久久 | 亚洲成av人电影 | 五月天狠狠操 | 久久视频国产 | 在线观看视频三级 | 日本字幕网 | 国产人成一区二区三区影院 | 色噜噜日韩精品一区二区三区视频 | 欧美巨大荫蒂茸毛毛人妖 | 日韩av中文字幕在线免费观看 | 91免费高清观看 | 中文字幕韩在线第一页 | 久久久精品日本 | 欧美日韩免费网站 | 国产999精品久久久久久麻豆 | 国产精品专区一 | 91在线视频在线 | 中文字幕在线播放日韩 | 国产精品麻豆视频 | 国产精品久久久久影院日本 | 日本三级国产 | 欧美午夜激情网 | 五月天综合婷婷 | 欧美在线一二 | 18久久久 | www.97色.com | 日本乱视频 | 亚洲美女精品视频 | 玖操 | 99re热精品视频 | 国内偷拍精品视频 | 中文字幕精品一区二区三区电影 | 国产小视频在线看 | av色综合网| 久久亚洲成人网 | 午夜国产福利在线 | 国产日产精品久久久久快鸭 | 久久免费影院 | www.色婷婷| 亚洲精品视频在线观看网站 | 黄色大片日本 | 在线日韩精品视频 | 国产乱对白刺激视频不卡 | 日本超碰在线 | 亚洲香蕉在线观看 | 久久欧美综合 | 色网站视频 | 国产色一区 | 久草视频中文在线 | 看毛片网站 | 日韩av网址在线 | 国产在线1区 | 九九热在线精品视频 | 九九免费视频 | 天天色视频 | 91成人国产 | 99精品电影 | 免费福利小视频 | 99久久久久成人国产免费 | 一区二区三区免费在线播放 | 激情婷婷av | av免费福利 | 欧美日韩在线观看一区二区三区 | 久久久久这里只有精品 | 狠狠狠色丁香婷婷综合激情 | 日韩va在线观看 | 亚洲国产精品成人av | 麻豆91在线播放 | 三级性生活视频 | 亚洲人人网 | 精品久久久国产 | 在线免费观看麻豆视频 | 337p日本欧洲亚洲大胆裸体艺术 | 精品久久视频 | 久久久久久久久久久久电影 | 欧美性色综合网 | 香蕉视频在线看 | 91精品久久久久久久久 | 国产日韩欧美视频在线观看 | 欧美电影黄色 | 欧洲精品在线视频 | 在线中文字幕av观看 | 日日夜夜亚洲 | 国产91在线免费视频 | 欧美精品亚州精品 | 亚洲天堂网在线观看视频 | 搡bbbb搡bbb视频 | 亚洲区精品 | 午夜av片 | 久久香蕉电影 | 国产福利在线不卡 | 国产一级片观看 | 日韩免费在线一区 | 久久久精品99 | 午夜av一区二区三区 | 国产资源精品 | 色91av| 欧美精品一区二区在线播放 | 五月天com | 综合网伊人 | 日韩91av| 91精品久久香蕉国产线看观看 | 欧洲av在线| 91人人插| 黄色录像av | 成人黄大片 | 黄色在线观看网站 | 欧美久久久久久久久久久久久 | 九九电影在线 | 国产精品资源在线观看 | 九色91av | 久久好看免费视频 | 中文字幕 国产视频 | 欧美日韩国产高清视频 | 亚洲午夜久久久久久久久电影网 | 天天射成人 | 欧美乱码精品一区二区 | 婷婷免费在线视频 | 在线免费国产 | 久久精品欧美一区二区三区麻豆 | 久久人人爽人人 | 免费av观看网站 | 国产福利在线免费观看 | 亚洲精品美女久久久久 | 国产99一区二区 | 五月天电影免费在线观看一区 | 91精品电影 | 91视频a| 国产福利精品一区二区 | 久久免费看av | 亚洲免费av在线播放 | 色在线视频网 | 精品在线视频观看 | 最近中文字幕免费观看 | 国产乱码精品一区二区蜜臀 | 五月综合网 | 91精品国产福利在线观看 | 五月婷婷视频在线 | 国产免费大片 | 91精品系列| 国产亚洲精品久久久久久大师 | 国产精品破处视频 | 又黄又刺激的网站 | 毛片视频网址 | 久久中文字幕在线视频 | 精品一区电影 | 在线亚洲午夜片av大片 | 免费亚洲精品视频 | 最新中文字幕在线观看视频 | 国产精品6 | 欧美视频不卡 | 日韩高清毛片 | 美女久久久久久久久久 | 国产视频精品免费 | 国产精品免费成人 | 亚洲综合涩 | 五月婷丁香网 | 97碰视频| 在线国产黄色 | 99精品视频在线播放观看 | 91九色视频在线 | 中文字幕观看在线 | 日本午夜免费福利视频 | 婷婷色伊人 | 996久久国产精品线观看 | 欧美一级高清片 | 久久夜夜操 | 免费一级片在线 | 奇米影视8888| 国产一级精品在线观看 | 国产精久久 | 国产精品成人自产拍在线观看 | 久久久国产精品一区二区三区 | 狠狠操操 | 日韩乱码中文字幕 | 色99在线 | 成人av在线资源 | 一区二区中文字幕在线观看 | 色多多在线观看 | 婷婷丁香花 | 亚洲视频免费在线观看 | av在线免费不卡 | 成人免费在线看片 | 夜夜夜夜夜夜操 | 日韩三级av | 亚洲精品乱码久久久久久9色 | 在线观看黄色大片 | 日韩av免费一区 | 精品人妖videos欧美人妖 | 色av男人的天堂免费在线 | 在线观看精品一区 | 亚洲色图 校园春色 | 国产精品12345 | 国产一级片免费视频 | 手机看片99| 激情综合网婷婷 | 亚洲欧美一区二区三区孕妇写真 | 激情小说久久 | 亚洲 中文 欧美 日韩vr 在线 | 99久久婷婷国产综合亚洲 | 永久免费毛片 | 国产中文欧美日韩在线 | 开心激情五月网 | 成人午夜黄色 | 欧美精品久久天天躁 | 欧美大片大全 | 97天堂网| 亚洲国产精品va在线看黑人 | 中文字幕在线观看完整 | 黄色日批网站 | 国产第一页在线观看 | 色多多视频在线观看 | 日韩在线无 | 综合激情 | 91麻豆网| 99re中文字幕 | 精品欧美小视频在线观看 | 日韩专区在线观看 | 久久免费视频这里只有精品 | h动漫中文字幕 | 日韩午夜剧场 | 人人揉人人揉人人揉人人揉97 | 国产 在线 高清 精品 | a爱爱视频| 欧美性色黄大片在线观看 | 国产在线a | 国产一级视屏 | 美女网站在线播放 | 国产精品永久免费 | www.综合网.com | 久操97| 精品 一区 在线 | 久草网视频 | 婷婷国产一区二区三区 | 91天堂素人约啪 | 国产精品久久中文字幕 | 97视频免费| 91免费视频网站在线观看 | 国产69精品久久久久99尤 | 亚洲国产网站 | 午夜久操 | 久久91久久久久麻豆精品 | 久久精品a| 亚洲视频免费视频 | 91aaa在线观看 | 国产不卡视频在线播放 | 久草青青在线观看 | 人人干97 | 欧美a性| 成人播放器 | 欧美精品在线视频 | 99久久婷婷国产综合精品 | 日本一区二区三区免费看 | 亚洲一级片免费观看 | 欧美日韩一区二区三区免费视频 | 欧美另类一二三四区 | 色婷婷骚婷婷 | 国产无区一区二区三麻豆 | 不卡国产视频 | 深爱激情亚洲 | 国产成人av在线 | 国产精品成人av在线 | 国产精品乱码在线 | 超碰人人射 | 国产精品一区二区三区在线看 | 麻豆国产在线视频 | 麻花豆传媒一二三产区 | 在线观看成人福利 | 一区在线观看视频 | 97香蕉视频 | 亚洲欧洲国产视频 | 97香蕉久久超级碰碰高清版 | 成人在线播放av | a级一a一级在线观看 | 韩日三级av | 在线免费观看视频一区 | 久久国产精品免费一区二区三区 | av短片在线观看 | 久久www免费人成看片高清 | 中文字幕免费观看全部电影 | 日本少妇高清做爰视频 | 亚洲精品乱码久久久久v最新版 | 久久久亚洲精品 | 9久久精品 | www黄色软件 | 色av色av色av | 夜夜澡人模人人添人人看 | 国产精品久久久久久久久久白浆 | 亚洲欧洲精品在线 | 狠狠黄| 伊人一级| 国产91免费观看 | 国产视频精品免费 | 精品天堂av| 青草视频网 | 97成人超碰 | 在线国产视频 | 日本在线观看中文字幕 | 国产成人精品在线播放 | 国产精品久久久久aaaa九色 | 婷婷在线五月 | 国产一级视屏 | 在线观看色网 | 免费欧美高清视频 | 国产福利不卡视频 | 这里只有精品视频在线 | av大全在线播放 | 久久九九免费视频 | 日韩综合视频在线观看 | 成人在线播放网站 | 国产高清久久久 | 国内久久 | 午夜婷婷在线播放 | 黄色软件网站在线观看 | 亚洲成人黄色av | 中文字幕精品三区 | 欧美一级性 | 欧美一级片在线播放 | 欧美精品二 | 久久久久国产一区二区 | 三级在线国产 | 中文字幕色婷婷在线视频 | 99热手机在线观看 | 尤物九九久久国产精品的分类 | 亚洲经典视频 | 国产91精品看黄网站在线观看动漫 | 婷婷精品国产欧美精品亚洲人人爽 | 欧美日韩高清免费 | 最新日本中文字幕 | 国产精品va在线播放 | 欧美二区三区91 | 亚洲精品xxx | 狠狠久久婷婷 | 在线看岛国av | 人人插人人| 在线观看涩涩 | 国产vs久久 | 色网站视频 | 91日韩在线专区 | 色婷婷伊人 | 夜夜夜夜操 | 国产在线小视频 | 天天干人人 | 91九色性视频 | 一区二区三区视频网站 | 国产精品一区二区久久久 | 日本韩国精品一区二区在线观看 | 亚洲色图 校园春色 | 激情片av| 99热最新网址 | 亚洲精品国产欧美在线观看 | 国产99久久99热这里精品5 | 免费观看高清 | 高清一区二区三区 | 日韩av免费观看网站 | www.99久久.com | 欧美精品资源 | 中文字幕av在线播放 | 久久免费视频这里只有精品 | 日日夜夜狠狠干 | 久久久久婷 | 一级成人网 | 中文资源在线播放 | 黄色的网站免费看 | 久久艹欧美 | 久久99精品久久久久婷婷 | 五月天国产 | 亚洲区精品视频 | 日韩色在线 | 91天堂影院 | www黄色| 国产一区二区久久久 | 国产精品av电影 | 18+视频网站链接 | 99久久婷婷国产综合精品 | 999国产精品视频 | 午夜精品一区二区三区在线观看 | 在线观看国产www | 国产精品久久久久久久久久久不卡 | 人人舔人人爽 | 黄色av网站在线观看免费 | 国产中年夫妇高潮精品视频 | 国产精品成人一区二区 | 久久伦理电影网 | 国产免费一区二区三区网站免费 | 日韩欧美高清视频在线观看 | 亚洲欧洲精品一区二区精品久久久 | 国产精品成人a免费观看 | 99精品在线观看视频 | 久久综合久久综合这里只有精品 | 国产成人91 | 亚洲一区黄色 | 午夜久久久久久久久 | 黄色av高清 | 欧美91精品 | 欧美日韩在线精品一区二区 | 欧美日韩高清在线 | 国产一级高清视频 | 人人爱人人添 | 亚洲一区欧美激情 | 国语对白少妇爽91 | 91精品啪 | 99热免费在线 | 九九热视频在线播放 | 国产精品一区免费观看 | 精品久久一区二区三区 | 狠狠的操你 | 手机av在线网站 | 国产精品久久久久久久免费大片 | 97电影在线看视频 | 久久99爱视频 | 色五月成人 | 免费视频 三区 | 欧美三级高清 | 久久精品成人热国产成 | 成人av免费| 国产精品久久久久久久免费大片 | 国产精品免费观看视频 | 欧美国产视频在线 | 国产乱码精品一区二区三区介绍 | 免费在线观看a v | 香蕉91视频 | 成人一区二区三区在线观看 | 婷婷在线免费观看 | 天堂中文在线视频 | av理论电影| 国产a级片免费观看 | 国产精品免费一区二区三区在线观看 | 不卡av免费在线观看 | 久久99久久99精品免观看粉嫩 | 国产一级一片免费播放放 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 在线色资源 | 成人avav| av免费看电影 | 精品在线不卡 | 伊人影院在线观看 | 超碰在线人 | 亚洲免费公开视频 | 免费成人av | 久久污视频 | 午夜精品一区二区三区在线播放 | 超碰公开97 | 99久久精品费精品 | 97夜夜澡人人爽人人免费 | 国产精品xxxx18a99 | 国产成人精品av久久 | 最新中文在线视频 | 久久免费一 | 免费看av片网站 | 五月亚洲婷婷 | 就色干综合 | 亚洲视频网站在线观看 | 日韩欧美一区二区三区在线观看 | 夜夜澡人模人人添人人看 | 国产精品视频免费 | 久久一久久 | 婷婷丁香色 | 久久1电影院 | 香蕉影院在线 | 国产亚洲欧洲 | 国内精品久久久久久久影视麻豆 | 日韩在线看片 | 亚洲资源网| 亚洲理论视频 | 久久综合之合合综合久久 | 精品久久九九 | 色综合网| 色婷婷综合久久久 | 操操操综合 | 婷婷网站天天婷婷网站 | 亚洲在线色 | 久久国产成人午夜av影院宅 | 激情文学综合丁香 | www.精选视频.com | 中文字幕乱视频 | 开心综合网 | 国产精品午夜av | 亚洲精品午夜国产va久久成人 | 精品欧美乱码久久久久久 | 亚洲激情婷婷 | 亚洲久草网 | 久草视频首页 | 最近中文字幕国语免费av | av天天草| 国产精品久久久久久久久久久不卡 | 久久草精品 | 黄色av网站在线免费观看 | www.超碰 | 亚洲精品综合在线 | 91亚洲在线观看 | 日韩电影中文字幕 | 久久视频这里有精品 | 国产一区二区在线免费播放 | 涩涩网站在线播放 | 手机色在线 | 中文永久字幕 | 免费的黄色av | 国产免费国产 | 91在线观看视频 | 99热精品免费观看 | 亚洲日本国产精品 | 国产精品大片 | 国产精品18久久久久久久 | 久久免费精品一区二区三区 | 日韩在线观看小视频 | 午夜成人影视 | 狠狠干电影 | 久人人| 亚洲欧美在线视频免费 | 男女日麻批 | 人人草人| 91漂亮少妇露脸在线播放 | 久久久久久激情 | 色的网站在线观看 | 中文字幕在线高清 | www.在线观看av | 国产午夜精品一区二区三区嫩草 | 亚洲天天综合网 | 一本色道久久综合亚洲二区三区 | 免费高清在线一区 | 日本韩国精品一区二区在线观看 | 蜜臀久久99精品久久久酒店新书 | 正在播放国产精品 | 最新中文字幕视频 | 91精品国自产在线观看 | 国产黄色高清 | 中文字幕精品一区 | 免费在线日韩 | 久久免费成人精品视频 | 最新国产一区二区三区 | 精品国产黄色片 | 亚洲欧洲久久久 | 国产精品久久久久999 | 国产精品久久久久久久av大片 | 波多野结衣精品 | 韩国精品福利一区二区三区 | 成人wwwxxx视频| 国产精品日韩精品 | 国产精品久久久久永久免费 | 国产r级在线观看 | 日韩av高潮 | 精品久久久久久久久中文字幕 | 天天爱天天舔 | 91看片麻豆 | 色天天综合网 | 在线日韩精品视频 | 色综合天天色综合 | 欧美一级性视频 | 国内精品久久久久久久影视麻豆 | 欧美激情第28页 | www黄com| 久久这里只有精品久久 | 三级大片网站 | 精品无人国产偷自产在线 | 综合国产视频 | 色国产精品一区在线观看 | 日日日日干 | 日韩有码第一页 | 久久精品国产精品亚洲 | 日韩国产精品久久 | 97在线视频免费 | 在线视频你懂得 | 区一区二区三在线观看 | 国产精品不卡在线 | 久久线视频 | 久久久99国产精品免费 | 国产美女精品在线 | 二区三区中文字幕 | 97在线免费观看视频 | 亚洲经典在线 | 亚洲免费在线播放视频 | 亚洲精品国产欧美在线观看 | 在线观看中文字幕亚洲 | 亚洲精品在线观看的 | 波多野结衣理论片 | 天天色天天射天天综合网 | 国产拍揄自揄精品视频麻豆 | 97超级碰碰碰碰久久久久 | 亚洲精品免费观看 | 午夜18视频在线观看 | 亚洲婷婷伊人 | 婷婷综合五月 | 日本高清dvd| 一区二区三区免费网站 | 成人在线免费视频 | 在线免费观看涩涩 | 国产精品入口久久 | av电影不卡在线 | 欧美日韩在线免费观看 | 97超碰免费在线观看 | 国产精品久久久999 国产91九色视频 | 91麻豆精品91久久久久同性 | 国产精品欧美日韩 | 99久久www | 人人草在线观看 | 国产免费xvideos视频入口 | 日韩高清 一区 | 99这里有精品 | 国产精品久久久久久久久久久久 | 免费网站观看www在线观看 | 日韩欧美一区视频 | 91精品国产自产在线观看 | 久久久人人人 | 黄色影院在线免费观看 | 久久99久国产精品黄毛片入口 | 亚洲精品在线观看网站 | 日本老少交| 日韩夜夜爽| 999国内精品永久免费视频 | 欧美日韩高清在线一区 | 日本性久久 | 99精品电影 | 国语精品免费视频 | 久久国产精品视频免费看 | 亚洲婷婷丁香 | 免费久久99精品国产婷婷六月 | 亚洲在线网址 | 欧美精品xxx | 91麻豆传媒 | 狠狠操狠狠操 | 亚洲国产高清视频 | 国产综合婷婷 | 高清有码中文字幕 | 在线99热 | 国产精品免费大片视频 | 国产精品久久久久久爽爽爽 | 久久只有精品 | 色婷婷电影网 | 久久久一本精品99久久精品 | a在线视频v视频 | 一区二区三区在线观看中文字幕 | 国产日韩精品视频 | 欧美日韩不卡一区二区三区 | 欧美日韩在线观看视频 | 久久成人18免费网站 | 欧美成人在线网站 | 正在播放国产精品 | 日韩在线观看一区二区 | 免费av福利| 婷婷综合av | 在线观看www. | 亚洲一区二区观看 | 欧美小视频在线观看 | 午夜视频在线观看一区二区三区 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 日韩极品在线 | 久久999精品| 99视频黄| 国产91免费在线 | 日韩精品中字 | 一区二区三区四区五区在线视频 | 中文字幕一区在线观看视频 | 男女靠逼app | 九九精品在线观看 | 久久久69 | 黄色一及电影 | 中文字幕精品久久 | 国产成人一区二区三区在线观看 | 久久久久久久久久久高潮一区二区 | 久久久精品久久日韩一区综合 | 久久99这里只有精品 | 97国产大学生情侣白嫩酒店 | 久草在线播放视频 | 97夜夜澡人人双人人人喊 | 免费观看午夜视频 | 国产精品久久久久一区二区国产 | 日韩精品免费专区 | 9在线观看免费高清完整 | 日本中文一级片 | 涩涩爱夜夜爱 | 久久综合成人 | 欧美精品一区二区性色 | 欧美国产日韩激情 | 欧美日在线 | 国产精品va在线播放 | 国产资源精品在线观看 | 日日碰狠狠躁久久躁综合网 | 久久久免费 | 亚洲欧美视频在线播放 | 成人欧美亚洲 | av在线永久免费观看 | 亚洲精品乱码久久久久久久久久 | 精品av在线播放 | 在线免费av观看 | 91精选在线观看 | 大荫蒂欧美视频另类xxxx | 天天射综合网视频 | 爱爱av在线 | 成人av免费在线观看 | 亚洲激情免费 | 中文字幕免费不卡视频 | 久久亚洲私人国产精品 | 国产最新视频在线 | 深夜男人影院 | 色先锋av资源中文字幕 | 激情欧美xxxx | 韩国三级av在线 | 国产精品久久精品 | 99看视频在线观看 | 成人一区二区三区中文字幕 | 99久久精品一区二区成人 | 亚洲精品在线电影 | 99国产一区二区三精品乱码 | 久99热| 精品a级片 | 最新婷婷色 | 日日摸日日添夜夜爽97 | 精品一区二区电影 | 99免费看片 | 亚洲日本一区二区在线 | 69国产盗摄一区二区三区五区 | 麻花豆传媒一二三产区 | 综合网天天射 | 久久久久欠精品国产毛片国产毛生 | 91理论片午午伦夜理片久久 | 狠狠色丁香婷婷综合橹88 | av高清网站在线观看 | 人人澡人摸人人添学生av | 精品欧美一区二区三区久久久 | 国产精品国产毛片 | 99av国产精品欲麻豆 | 最新av在线网站 | 久热av在线| 2021国产精品 | 99视频精品免费观看, | 日韩欧美综合 | 91成人网页版 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产一区二区播放 | 久久久久久久久久久福利 | 亚洲综合在线播放 | 超碰在线人 | 精品福利网站 | 亚州视频在线 | 亚洲美女免费精品视频在线观看 | 免费一级日韩欧美性大片 | 久久精品国产99国产 | 在线精品观看 | 欧美性色19p| 日韩伦理一区二区三区av在线 | 欧美性脚交 | 国产97色在线 | 久久天堂精品视频 | 欧美日韩在线视频一区 | 欧美中文字幕第一页 | 日韩系列 | 婷婷激情综合五月天 | 国模视频一区二区三区 | 亚洲免费国产 | 久久久久久久久网站 | 国产一区二区在线观看视频 | 黄a网站| 96精品视频 | 免费av在线| 国产精品自拍在线 | 午夜精品久久久久久久99热影院 | 日韩免费看的电影 | 欧美久久久久 | 日韩大片在线免费观看 | 中文字幕在线观看你懂的 | 精品久久久免费视频 | 手机av电影在线观看 | 免费av看片| 国产精品精品国产婷婷这里av | 黄色日批网站 | www.狠狠插.com | 91成人午夜| 久久综合欧美精品亚洲一区 | 久久成人国产精品免费软件 | 精品一区二区免费视频 | 99国内精品久久久久久久 | 久久影院午夜论 | 欧美伦理一区二区 | 一区精品久久 | 韩国在线一区二区 | 天天射天天色天天干 | 91九色精品女同系列 | av免费在线网 | av观看免费在线 | 色婷婷中文 | 91av视频在线播放 | 在线观看亚洲免费视频 | 日本激情中文字幕 | 2024av| 日本在线观看一区二区三区 | 97视频精品| 国产亚洲视频系列 | 美女视频黄在线观看 | 一区二区三区在线免费播放 | 一二三区av | 欧美另类巨大 | 免费在线精品视频 | 日本69hd | 欧美91精品久久久久国产性生爱 | 亚洲激情视频在线观看 | 天天草天天干天天射 | 欧美日韩国产网站 | 91av在线免费看 | 日韩毛片在线一区二区毛片 | 黄色毛片电影 | 久草资源在线 | 手机看片99| 国产又粗又硬又爽视频 | 亚洲三级视频 | 伊甸园永久入口www 99热 精品在线 | av中文字幕第一页 | 国产黄色精品视频 | 久久不射网站 | 91成人精品观看 | 国产视频欧美视频 | 日本最新一区二区三区 | 国产在线观看二区 | 国产精品久久av | av综合 日韩 | www天天干 | www蜜桃视频 | 日韩在线欧美在线 | 丁香花中文在线免费观看 | 91免费网站在线观看 | 麻豆精品在线 | 人人爽人人插 | 日韩欧美xxxx| 日韩精品中文字幕在线 | 亚洲国产精品电影 | 综合久久2023| 综合激情网... | 看av免费| 麻豆首页 | 日韩av电影国产 | 狠狠撸电影 | 黄色片网站 | 午夜精品久久久久久 | 免费色视频网站 | 亚洲国产中文字幕在线 | 99精品在线免费在线观看 | 国产日韩在线看 | 在线观看一 | 成人av资源在线 | 国产精品二区在线 | 亚洲电影成人 | 国产性xxxx| 91自拍成人 | 国产精品a久久久久 | 欧美久久影院 | 果冻av在线 | 97品白浆高清久久久久久 | 久久成电影 | 成人h视频| www在线观看视频 | 亚洲在线成人精品 | 欧美在线视频精品 | 九九久久影院 | 久久露脸国产精品 | 日韩免费b | 国产精品中文久久久久久久 | 天天操天天干天天操天天干 | 天堂资源在线观看视频 | 中文字幕精品一区久久久久 | 亚洲亚洲精品在线观看 | 69成人在线 | 在线观看爱爱视频 | 91免费的视频在线播放 | 天天干天天干天天干天天干天天干天天干 | 色综合天天做天天爱 | 久久成电影 | 久久久久久美女 | 国产麻豆剧果冻传媒视频播放量 | 国产午夜亚洲精品 | 国产不卡精品视频 | 久久只精品99品免费久23小说 | 玖玖视频在线 | 91在线中字| 久久艹中文字幕 | 精品久久久久久久久久久久 | 亚洲欧美日韩国产一区二区三区 | 天堂av最新网址 | 99久久99热这里只有精品 | 午夜精品三区 | 中文字幕一区二区三区乱码在线 | 麻豆播放 | 天天操天天射天天添 | 懂色av一区二区在线播放 | 一区二区三区四区精品视频 | 午夜婷婷在线观看 | 国产 精品 资源 | 亚洲国产wwwccc36天堂 | 国产1区在线观看 | 亚洲黄色成人av | 米奇影视7777 | 国产xx在线 | 一二三精品视频 | 日日操夜 | 三级av免费观看 | 97色婷婷| av888av.com|