新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于P87C591的CAN總線超聲測距系統設計方案

        基于P87C591的CAN總線超聲測距系統設計方案

        作者: 時間:2011-05-17 來源:網絡 收藏

        2 超聲波智能節點控制系統的軟件編寫

          軟件的編寫工作主要有兩個部分:超聲波測距部分和的通信部分。

        2.1 超聲波測距部分的軟件設計

          超聲波發射部分的軟件設計相對簡單。在軟件編寫工作中,需要將超聲波持續發射一段時間以便被接收器準確接收。以下程序可作參考:

        START:MOV TH0, #00H;將定時器初值設為0,產生一個方波即產生一次中斷
            MOV TL0, #00H
            MOV 10H, #4D;將10H單元做一個計數器實現200 ms定時
            SETB TR0;啟動定時器T0
          FS:CPL P2.0;P2.0口產生方波,對于6 MHz晶振頻率近似為40 kHz
        REPEAT:MOV R0,#12
            DJNZ R0,REPEAT
            DJNZ 10H,FS
            RET
            ……
            END

        按此在新窗口瀏覽圖片
        圖6 超聲波測距部分程序流程

          當超聲波接收器接收到回波時,硬件電路產生低電平觸發的外部中斷0口。軟件編寫的主要思想是,在中斷服務程序中由寄存器預先設定一個數值,這個數值是機器人避障的最短距離。從超聲波發射頭發射方波開始,到超聲波接收頭接收到回波為止,把這段時間換算成為距離,與上述最短距離相比較。如大于最短距離,則不作處理,跳出中斷服務程序;如等于或小于最短距離,則執行相應動作。圖6是這部分程序的流程。

        2.2 通信部分的軟件編寫

          這部分軟件編寫主要由以下幾部分組成:初始化、接收處理、發送處理、中斷處理及錯誤處理函數。由于系統中任意節點在任意時刻均可主動與其他節點通信,故各個
        節點通信程序大致相同。具體程序的編寫可參考的用戶手冊。

        結語

          本文論述了以擴展多路超聲波傳感器的基本思想,介紹了一種以Philips公司作為超聲波傳感器控制核心及CAN總線控制器和以TJA1040作為CAN總線收發器的CAN總線智能超聲波測距系統。與以往移動機器人超聲波傳感器測距系統相比,這個設計增加了CAN總線部分的設計,將多路超聲波傳感器的擴展轉移到智能節點部分上完成,簡化了移動機器人系統控制核心的工作;采取了比較簡單的硬件設計,主要是將超聲波傳感器的控制核心和CAN總線控制器集中到一起,采用P87C591一個器件完成兩種芯片的工作,大大節省硬件。另外,CAN總線的擴展也會令后續的移動機器人系統的進一步開發變得更為靈活。實踐證明這個設計可行,只是對于實際工作中不同應用場合的有些電路(比如復位電路、電源電路等外圍電路)在設計細節上還有待進一步細化。另外,軟件編寫方面還應特別注意多超聲波傳感器的抗干擾問題。

        分頻器相關文章:分頻器原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 淳安县| 海原县| 抚松县| 天镇县| 华宁县| 新源县| 延庆县| 杭锦后旗| 上思县| 周口市| 永春县| 龙泉市| 乌兰察布市| 广元市| 罗源县| 苏尼特右旗| 法库县| 永平县| 崇明县| 凌云县| 高阳县| 新蔡县| 安岳县| 黑河市| 团风县| 和硕县| 盘锦市| 溧阳市| 郸城县| 始兴县| 昌宁县| 隆昌县| 台江县| 攀枝花市| 沙雅县| 九寨沟县| 昂仁县| 上林县| 丹江口市| 苏州市| 宁武县|