<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于ARM單片機的裝載機障礙物監(jiān)測預(yù)警系統(tǒng)設(shè)計

          基于ARM單片機的裝載機障礙物監(jiān)測預(yù)警系統(tǒng)設(shè)計

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

            距離值通過PIC16C57的10腳進(jìn)行串行輸出,經(jīng)MAX232芯片后與的串口相連。芯片MAX232是為RS232標(biāo)準(zhǔn)串口設(shè)計的接口電路,它完成TTL電平和RS232電平的轉(zhuǎn)換[8]。

          2.2 聲光報警電路設(shè)計

            本系統(tǒng)要求根據(jù)影響裝載機穩(wěn)定性的障礙物距離的臨界值對危險狀況進(jìn)行三級報警。當(dāng)處于低危險狀況時,只有指示燈綠燈被點亮,提醒駕駛者注意;當(dāng)危險級別增高時,指示燈黃燈點亮,同時伴隨有舒緩的蜂鳴聲,提醒駕駛者采取措施;當(dāng)達(dá)到最高危險級別時,指示燈紅燈被點亮,同時蜂鳴聲由舒緩轉(zhuǎn)為急促,提醒駕駛者趕緊制動。
          設(shè)計中,分別采用了LPC2290的P2.20(GPIOA4)驅(qū)動綠色LED,P2.21(GPIOA5)驅(qū)動黃色LED, P2.22(GPIOA6)驅(qū)動紅色LED,P2.23(GPIOA7)驅(qū)動蜂鳴器。所設(shè)計的報警電路如圖3所示。

          圖3 報警電路圖

          3 系統(tǒng)軟件設(shè)計

            常用的嵌入式操作系統(tǒng)有VxWorks、Windows CE、嵌入式Linux和μC/OS-Ⅱ等,由于μC/OS-Ⅱ嵌入式系統(tǒng)具有公開源代碼,具有實時多任務(wù)內(nèi)核來進(jìn)行多任務(wù)調(diào)度等優(yōu)點[9],所以本系統(tǒng)選用μC/OS-Ⅱ嵌入式操作系統(tǒng)。

            由于采用模塊化編程,所以μC/OS-II下系統(tǒng)任務(wù)的劃分也是基于不同的功能模塊,每一個模塊被分解成一個或者多個任務(wù),每個任務(wù)被安排一個優(yōu)先級。這樣,一旦這些任務(wù)被建立起來,它們之間的調(diào)度情況就完全由μC/OS-II來完成。結(jié)合本系統(tǒng)的設(shè)計需求,程序中創(chuàng)建串口通信任務(wù)、報警任務(wù)、LCD顯示任務(wù)。其軟件流程框圖如圖4所示。

          圖4 軟件流程框圖

            上電后,首先進(jìn)行硬件的初始化,然后對μC/OS-II操作系統(tǒng)進(jìn)行初始化,建立任務(wù),進(jìn)行多任務(wù)調(diào)度。μC /OS - II的任務(wù)調(diào)度是搶占式的,所以在設(shè)置任務(wù)優(yōu)先級的時候應(yīng)該盡量考慮任務(wù)對實時性的要求。即使兩個任務(wù)的重要性是相同的,它們也必須有優(yōu)先級上的差異,這也就意味著高優(yōu)先級的任務(wù)在處理完成后必須進(jìn)入等待或掛起狀態(tài),否則低優(yōu)先級的任務(wù)永遠(yuǎn)也不可能執(zhí)行。本系統(tǒng)中設(shè)置串口通信任務(wù)的優(yōu)先級高于液晶顯示任務(wù),液晶顯示任務(wù)的優(yōu)先級又高于報警任務(wù)。

            1.串口通信任務(wù)完成超聲波測距部分與處理器之間的數(shù)據(jù)傳輸。串口通信部分主要包括兩部分內(nèi)容:用戶接口函數(shù)和任務(wù)函數(shù)。串口共有5個用戶接口函數(shù),分別為deopen()、dclose()、dread()、dwrite()和diocontrol()。

            超聲波測距裝置和LPC2290進(jìn)行通信的部分程序代碼如下:
          diocontrol(Uart0_Handles,UART0_SET_MODE, (void *)Mode0); // 設(shè)置UART 模式
          diocontrol(Uart0_Handles,UART0_SET_TIMEROUT,(void *)5); // 設(shè)置接收超時因子, 參數(shù) =0 則關(guān)閉超時
          diocontrol(Uart0_Handles, UART0_CLR_FIFO, (void *)0); // 清空接收軟FIFO
          while (1)
          {Rece_Count=dread(Uart0_Handles, UART_Rece
          _Buff,1); //讀取超聲波發(fā)送過來的第一個起始字節(jié),放入緩沖區(qū)
          if((Rece_Count>0)(UART_Rece_Buff[0]== ’@’)) //如果讀取成功且第一個字節(jié)為‘@’
          {dread(Uart0_Handles,UART_Rece_Buff[1],3); //接收后三位字節(jié),分別為百位數(shù)、十位數(shù)、個位數(shù)
          for(i=1;i4;i++)
          UART_Rece_Buff[i]=UART_Rece_Buff[i]+48; //將十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼值
          for(i=0;i3;i++)
          sbuff[i]=UART_Rece_Buff[i+1]; //接收的數(shù)據(jù)緩存到數(shù)組中,供LCD顯示部分調(diào)用
          }
          }



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();