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