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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于單片機的無線光電靶

          基于單片機的無線光電靶

          作者: 時間:2010-07-09 來源:網(wǎng)絡 收藏
          從圖5中可以看出,如果原始數(shù)據(jù)的最大區(qū)號不是8,那就直接計算中心區(qū)號。如果原始數(shù)據(jù)的最大區(qū)號是8,就要判斷1區(qū)是否有被激光照射,如果沒有,那就直接計算中心區(qū)號。如果1區(qū)有激光照射,最大區(qū)號要加1,然后還要判斷2區(qū),依此類推,直到?jīng)]有照射,最大區(qū)號確定。這里判斷到6區(qū),已經(jīng)留有余地,實際上不大可能出現(xiàn)這種情況(參照圖3分析)。第一次計算的中心區(qū)號,還要判斷其值是否大于8,如果大于8還要減1,得到最終的結果。

          5 靶控制器的程序設計
          靶控制器的程序主要由開機自檢,操作命令的接收和執(zhí)行,數(shù)據(jù)信號的接收和顯示,聲音的播放控制等幾個部分組成,其主程序的框圖如圖6所示。

          本文引用地址:http://www.ex-cimer.com/article/173281.htm


          從圖6可以看出,主程序開機自檢之后,進入主循環(huán)。在主循環(huán)中,除了按照各種標志位來控制LED的顯示和語音播放之外,就是檢查按鍵,一旦有鍵盤命令,立即啟動發(fā)送模塊進行發(fā)送。這幾個鍵盤命令都是針對靶的命令,內(nèi)燈命令和外燈命令是對光電靶的夜間指示燈的控制命令,擊發(fā)命令和重發(fā)命令解釋如下:
          擊發(fā)命令 在操炮手瞄準靶標踩下開炮開關時,接通激光器電源發(fā)出激光,并同時產(chǎn)生一個信號給光電靶控制器的,由通過信號傳送給光電靶。光電靶接收到擊發(fā)命令,開始對光敏元件進行掃描,得到原始數(shù)據(jù)。在對掃描的數(shù)據(jù)處理之后得到激光光斑中心位置的信息,就是環(huán)號和區(qū)號。光電靶將此環(huán)號和區(qū)號通過無線模塊發(fā)送回光電靶控制器。光電靶控制器據(jù)此控制LED的顯示和語音播放。
          重發(fā)命令 這個命令是要光電靶將上次擊發(fā)產(chǎn)生的信息重新發(fā)送一次,以便核對。
          數(shù)據(jù)的接收每當無線模塊接收到一次有效的信號,就會申請一次中斷。在中斷服務程序中讀取接收的數(shù)據(jù),并保存在一個指定的地址里,以便主程序處理。數(shù)據(jù)的內(nèi)容是激光光斑中心的環(huán)號和區(qū)號。中斷服務程序的框圖如圖7所示。



          6 結語
          利用參考光和比較器進行模數(shù)轉換,電路簡單可靠,速度快。光敏元件圓環(huán)狀排列,可以充分利用元件。利用的程序處理可以很容易得到光斑的中心位置。經(jīng)中國人民解放軍高炮某部使用效果很好,達到了設計要求,解決了動態(tài)靶瞄準的訓練問題。而且光電靶重量輕、移動方便,很適合各種野外訓練需要。如果將激光器安裝在其他槍械上,還可以用在步兵的射擊訓練上?,F(xiàn)在正在改進,準備添加射擊成績統(tǒng)計功能,在光電靶控制器上加一個數(shù)碼顯示器,實時顯示射擊次數(shù)、總環(huán)數(shù)等,同時還可以與上位機聯(lián)網(wǎng),便于數(shù)據(jù)的儲存和管理。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();