新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于P87C591的CAN總線超聲測距系統(tǒng)設(shè)計方案

基于P87C591的CAN總線超聲測距系統(tǒng)設(shè)計方案

作者: 時間:2011-05-17 來源:網(wǎng)絡(luò) 收藏

2 超聲波智能節(jié)點控制系統(tǒng)的軟件編寫

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

2.1 超聲波測距部分的軟件設(shè)計

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

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

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

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

2.2 通信部分的軟件編寫

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

結(jié)語

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

分頻器相關(guān)文章:分頻器原理

上一頁 1 2 3 下一頁

關(guān)鍵詞: P87C591 CAN 總線 超聲測距

評論


相關(guān)推薦

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

關(guān)閉