• <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    技術(shù)熱線: 4007-888-234
    設(shè)計開發(fā)

    專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

    開發(fā)工具

    提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

    技術(shù)支持

    從全面的產(chǎn)品導(dǎo)入到強大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

    新品推廣

    提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

    新聞中心

    提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

    使用8051單片機開發(fā)超聲波水位控制器

    更新時間: 2021-10-27
    閱讀量:4090

    在本文中,我們使用超聲波測距儀模塊和8051單片機制作一個簡單的水位控制器。該水位控制器可監(jiān)測和控制深達2m的水箱,測量精度低至1cm。由于這里沒有使用機械浮球開關(guān)或電極,不會有任何機械磨損或腐蝕,這使得系統(tǒng)高度可靠。由于超聲波測距模塊包含大量電子元件,因此必須以任何方式適當(dāng)注意將其與阻尼隔離。

    一、HC-SR04超聲波測距模塊

    HC-SR04是這里使用的超聲波測距模塊。HC-SR04由超聲波發(fā)射器、接收器和必要的電子設(shè)備組成,使其成為一個獨立的系統(tǒng)。工作原理非常簡單。它發(fā)送8個40KHz聲波脈沖,并拾取反射波。測量發(fā)送和接收之間的時間延遲,并根據(jù)等式D=TS/2計算距離。其中D是距離,T是時間延遲,S是聲速。HC-SR04的輸出將是一個寬度與距離成正比的脈沖。從數(shù)據(jù)表中,輸出信號的寬度將為58uS,距離為1cm。我們需要做的只是向模塊的觸發(fā)引腳發(fā)送一個10uS寬的觸發(fā)信號,并等待模塊的回波引腳處的輸出脈沖。

    HC-SR04-timing-diagram-and-pinout.jpg

    超聲波模塊的觸發(fā)引腳連接到單片機的P3.0。模塊的回聲引腳連接到單片機的P3.1。LCD模塊的數(shù)據(jù)線通過單片機的Port0接口。LCD模塊的控制線RS、RW和E分別連接到單片機的P2.7、P2.6和P2.5引腳。泵使用單片機的端口2.0進行控制。這里使用的泵是12V汽車擋風(fēng)玻璃清洗泵。電源驅(qū)動的泵也將與此電路配合使用,但它們的額定電流必須與您使用的繼電器匹配。無論如何,在使用電源驅(qū)動的情況下工作時要小心避免觸電風(fēng)險設(shè)備。

    ultrasonic-water-level-controller.jpg

    在這里,超聲波測距模塊放置在面向水面的水箱頂部。水反射模塊發(fā)出的超聲波脈沖。模塊拍攝反射波并測量時滯。水面和傳感器之間的距離是根據(jù)收集到的數(shù)據(jù)計算出來的,模塊輸出一個寬度與距離成正比的脈沖。單片機讀取此輸出脈沖的寬度,并對其進行必要的數(shù)學(xué)運算以獲得距離。在這里我們可以看到水位是從上到下測量的,不像大多數(shù)傳感器從下到上測量水位。這樣做是為了使該設(shè)備適用于各種深度。由于傳感器放置在水箱的頂部,我們需要從水箱的總深度中減去傳感器到水面的距離,以獲得從底部到頂部的水位。由于不同的水箱具有不同的深度,個人用戶必須手動測量水箱的深度并使用此數(shù)據(jù)更改程序。

    這個問題是通過測量從上到下的水平來解決的。在這里,當(dāng)液位低于頂部20cm時,設(shè)備打開泵,當(dāng)液位升至距頂部5cm時關(guān)閉泵。LCD屏幕上顯示的水位實際上是從頂部開始的水面深度。

    二、原理介紹

    單片機的P3.0用于觸發(fā)HC-SR04超聲波模塊,單片機的P3.1用于接收回波信號。本項目使用了8051單片機的兩個定時器。Timer1在MODE2(8位自動重載)下運行,Timer0(16位)在MODE1下運行。給超聲波模塊的觸發(fā)引腳一個1uS寬的觸發(fā)信號,單片機在模塊的回波引腳等待回波信號。模塊的echopin與單片機的P3.1相連。使用JNB指令輪詢該引腳的狀態(tài)。當(dāng)此引腳接收到有效回波信號時,Timer1啟動。計時器從200D計數(shù)到255D(55個計數(shù)),然后翻轉(zhuǎn)。每次翻轉(zhuǎn)后,再次檢查回聲引腳,如果存在任何回聲信號,則重新啟動定時器。

    從HC-SR04的數(shù)據(jù)表中可以清楚地看出,58uS寬的回波脈沖表示1cm。這里我們實際上是在統(tǒng)計eco信號中58uS寬的block的數(shù)量,這個count直接表示距離的cm。由于單片機使用12MHz晶振計時,因此55計數(shù)意味著55uS。在每個定時器周期內(nèi)執(zhí)行的其他指令花費大約3uS,因此在每個定時器周期內(nèi)總共花費58uS。定時器周期數(shù),即;累加器中的計數(shù)表示以厘米為單位的距離。

    然后對累加器值進行必要的操作,并顯示在LCD屏幕上。這里的程序設(shè)置為當(dāng)液位低于頂部20cm(低液位)時打開泵,當(dāng)液位上升時關(guān)閉泵從頂部到5厘米(高水平)。通過從累加器值中減去20D來識別開關(guān)ON條件。如果未設(shè)置進位標(biāo)志,則表示水位距離頂部低于20cm,并且電機已接通。

    如果未設(shè)置進位標(biāo)志,則調(diào)用OFF子程序。在該子程序中,從累加器中存儲的值中減去5D,并使用JNC指令檢查進位標(biāo)志的狀態(tài)。如果未設(shè)置進位標(biāo)志,則表示液位距離頂部低于5cm,泵保持開啟。如果設(shè)置了進位標(biāo)志,則表示液位距頂部5厘米以上,并且泵已關(guān)閉。

    泵通過單片機的P2.0控制。使用JB指令檢查該引腳的狀態(tài)。如果此引腳為高電平,則表示泵已開啟,并且LCD上會顯示“電機開啟”狀態(tài)信息。如果P2.0引腳為低電平,則表示泵處于關(guān)閉狀態(tài),并且LCD屏幕上顯示狀態(tài)消息“電機關(guān)閉”。

    三、代碼

    RS EQU P2.7
    RW EQU P2.6
    E  EQU P2.5
    ORG 00H
          MOV DPTR,#LUT
          CLR P3.0
          SETB P3.1
          MOV TMOD,#00100001B
     MAIN:ACALL DINT
          ACALL TEXT1
          MOV TL1,#200D
          MOV TH1,#200D
          MOV A,#00000000B
          SETB P3.0
          ACALL DELAY1
          CLR P3.0
          HERE: JNB P3.1,HERE
     BACK:SETB TR1
    HERE1:JNB TF1,HERE1
          CLR TR1
          CLR TF1
          INC A
          JB P3.1,BACK
          MOV R7,A
          ACALL SPLIT
          ACALL LINE2
          ACALL LEVEL
          ACALL TEXT2
    ACALL TEXT3
          ACALL CHECK
          JB P2.0,JUMP
          ACALL TEXT4
          SJMP EXIT2
     JUMP:ACALL TEXT5
    EXIT2:ACALL DELAY2
          SJMP MAIN
    CHECK:MOV A,R7
          SUBB A,#20D
          JNC ON
          ACALL OFF
          SJMP EXIT
       ON:SETB P2.0
     EXIT:CLR CY
          RET
       
    OFF: MOV A,R7
         SUBB A,#5D
         JNC EXIT1
         CLR P2.0
    EXIT1:CLR CY
          RET
    DELAY1: MOV R6,#2D
    LABEL1: DJNZ R6,LABEL1
            RET
    DELAY2:MOV R0,#15D
    BACK1: MOV TH0,#00000000B
           MOV TL0,#00000000B
           SETB TR0
    HERE2: JNB TF0,HERE2
           CLR TR0
           CLR TF0
           DJNZ R0,BACK1
           RET
            
    TEXT1: MOV A,#48H
        ACALL DISPLAY
        MOV A,#32H
        ACALL DISPLAY
        MOV A,#4FH
        ACALL DISPLAY
        MOV A,#20H
        ACALL DISPLAY
        MOV A,#4CH
        ACALL DISPLAY
        MOV A,#45H
        ACALL DISPLAY
        MOV A,#56H
        ACALL DISPLAY
        MOV A,#45H
        ACALL DISPLAY
        MOV A,#4CH
        ACALL DISPLAY
        MOV A,#20H
        ACALL DISPLAY
        MOV A,#43H
        ACALL DISPLAY
        MOV A,#54H
        ACALL DISPLAY
        MOV A,#52H
        ACALL DISPLAY
        MOV A,#4CH
        ACALL DISPLAY
        RET
            
     TEXT2:  MOV A,#63H
        ACALL DISPLAY
        MOV A,#6DH
        ACALL DISPLAY
        RET
     
     TEXT3:MOV A,#20H
           ACALL DISPLAY
           MOV A,#4DH
           ACALL DISPLAY
           MOV A,#6FH
           ACALL DISPLAY
           MOV A,#74H
           ACALL DISPLAY
           MOV A,#6FH
           ACALL DISPLAY
           MOV A,#72H
           ACALL DISPLAY
           MOV A,#20H
           ACALL DISPLAY
           RET
     TEXT5: MOV A,#4FH
            ACALL DISPLAY
            MOV A,#4EH
            ACALL DISPLAY
            RET
     
     TEXT4:MOV A,#4FH
           ACALL DISPLAY
           MOV A,#46H
           ACALL DISPLAY
           MOV A,#46H
           ACALL DISPLAY
           RET
            
    SPLIT:MOV B,#10D
          DIV AB
          MOV R3,B
          MOV B,#10D
          DIV AB
          MOV R2,B
          MOV R1,A
          RET
    LEVEL:MOV A,R1
          ACALL ASCII
          ACALL DISPLAY
          MOV A,R2
          ACALL ASCII
          ACALL DISPLAY
          MOV A,R3
          ACALL ASCII
          ACALL DISPLAY
          RET
     DINT:MOV A,#0CH
        ACALL CMD
        MOV A,#01H
        ACALL CMD
        MOV A,#06H
        ACALL CMD
        MOV A,#80H
        ACALL CMD
        MOV A,#3CH
        ACALL CMD
        RET
    LINE2:MOV A,#0C0H
        ACALL CMD
    RET
    CMD: MOV P0,A
        CLR RS
        CLR RW
        SETB E
        CLR E
        ACALL DELAY
        RET
    DISPLAY:MOV P0,A
        SETB RS
        CLR RW
        SETB E
        CLR E
        ACALL DELAY
        RET
    DELAY: CLR E
        CLR RS
        SETB RW
        MOV P0,#0FFH
        SETB E
        MOV A,P0
        JB ACC.7,DELAY
        CLR E
        CLR RW
        RET
    ASCII: MOVC A,@A+DPTR
           RET
        
    LUT: DB  48D
         DB  49D
         DB  50D
         DB  51D
         DB  52D
         DB  53D
         DB  54D
         DB  55D
         DB  56D
         DB  57D
        END

    以上就是英銳恩單片機開發(fā)工程師分享的“使用8051單片機開發(fā)超聲波水位控制器”。英銳恩專注單片機應(yīng)用方案設(shè)計與開發(fā),提供8位單片機、16位單片機、32位單片機。

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频
  • <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>