基于AT89S52單片機的無線光電靶
從圖5中可以看出,如果原始數據的最大區(qū)號不是8,那就直接計算中心區(qū)號。如果原始數據的最大區(qū)號是8,就要判斷1區(qū)是否有被激光照射,如果沒有,那就直接計算中心區(qū)號。如果1區(qū)有激光照射,最大區(qū)號要加1,然后還要判斷2區(qū),依此類推,直到沒有照射,最大區(qū)號確定。這里判斷到6區(qū),已經留有余地,實際上不大可能出現(xiàn)這種情況(參照圖3分析)。第一次計算的中心區(qū)號,還要判斷其值是否大于8,如果大于8還要減1,得到最終的結果。
5 光電靶控制器的程序設計
光電靶控制器的程序主要由開機自檢,操作命令的接收和執(zhí)行,無線數據信號的接收和顯示,聲音的播放控制等幾個部分組成,其主程序的框圖如圖6所示。
從圖6可以看出,主程序開機自檢之后,進入主循環(huán)。在主循環(huán)中,除了按照各種標志位來控制LED的顯示和語音播放之外,就是檢查按鍵,一旦有鍵盤命令,立即啟動無線發(fā)送模塊進行發(fā)送。這幾個鍵盤命令都是針對光電靶的命令,內燈命令和外燈命令是對光電靶的夜間指示燈的控制命令,擊發(fā)命令和重發(fā)命令解釋如下:
擊發(fā)命令 在操炮手瞄準靶標踩下開炮開關時,接通激光器電源發(fā)出激光,并同時產生一個信號給光電靶控制器的單片機,由單片機通過無線信號傳送給光電靶。光電靶接收到擊發(fā)命令,開始對光敏元件進行掃描,得到原始數據。在對掃描的數據處理之后得到激光光斑中心位置的信息,就是環(huán)號和區(qū)號。光電靶將此環(huán)號和區(qū)號通過無線模塊發(fā)送回光電靶控制器。光電靶控制器據此控制LED的顯示和語音播放。
重發(fā)命令 這個命令是要光電靶將上次擊發(fā)產生的信息重新發(fā)送一次,以便核對。
數據的接收每當無線模塊接收到一次有效的信號,就會申請一次中斷。在中斷服務程序中讀取接收的數據,并保存在一個指定的地址里,以便主程序處理。數據的內容是激光光斑中心的環(huán)號和區(qū)號。中斷服務程序的框圖如圖7所示。
6 結語
利用參考光和比較器進行模數轉換,電路簡單可靠,速度快。光敏元件圓環(huán)狀排列,可以充分利用元件。利用單片機的程序處理可以很容易得到光斑的中心位置。經中國人民解放軍高炮某部使用效果很好,達到了設計要求,解決了動態(tài)靶瞄準的訓練問題。而且光電靶重量輕、移動方便,很適合各種野外訓練需要。如果將激光器安裝在其他槍械上,還可以用在步兵的射擊訓練上?,F(xiàn)在正在改進,準備添加射擊成績統(tǒng)計功能,在光電靶控制器上加一個數碼顯示器,實時顯示射擊次數、總環(huán)數等,同時還可以與上位機聯(lián)網,便于數據的儲存和管理。
評論