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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AT89S52單片機(jī)的無(wú)線光電靶

          基于AT89S52單片機(jī)的無(wú)線光電靶

          作者: 時(shí)間:2011-11-24 來(lái)源:網(wǎng)絡(luò) 收藏
          2.4 夜間指示燈
          為了夜間訓(xùn)練方便,設(shè)計(jì)了由發(fā)光二極管組成的靶標(biāo)指示燈,在夜間可以打開此指示燈,以便觀瞄。此指示燈是由靶心燈(內(nèi)燈)和靶周燈(外燈)組成,可以由光電靶控制器無(wú)線控制其開關(guān)。

          3 光電靶控制器電路設(shè)計(jì)
          從圖1可以看出,光電靶控制器由單片機(jī)、發(fā)光二極管陣列、無(wú)線通信模塊、激光模塊和語(yǔ)音播放模塊組成。另外還有用于操作的按鍵。
          3.1 單片機(jī)電路
          使用的單片機(jī)仍然是A,擴(kuò)展5個(gè)8位并行口,其中4個(gè)并行口用來(lái)控制LED發(fā)光,1個(gè)用來(lái)連接無(wú)線通信模塊。
          3.2 發(fā)光二極管顯示陣列
          由A單片機(jī)擴(kuò)展的并行口來(lái)驅(qū)動(dòng)發(fā)光二極管(LED)的亮和滅,用來(lái)顯示擊中的位置。LED的排列方式與光敏元件的排列方式一致,便于指示射擊結(jié)果,如圖3所示。


          圖3中,一個(gè)最小的圓圈代表一個(gè)LED??梢钥闯觯?0環(huán)只用1個(gè)LED,亮的時(shí)候表示擊中10環(huán);9環(huán)只用4個(gè)LED,可以指示上下左右4種偏差,上邊的LED亮表示9環(huán)偏上等;8,7,6環(huán)都是8個(gè)LED,可以表示8種偏差。
          3.3 激光器
          購(gòu)買市場(chǎng)常見的筆形半導(dǎo)體激光器。
          3.4 無(wú)線通信裝置
          購(gòu)買市場(chǎng)常見的無(wú)線收發(fā)器,加以改造以適合與單片機(jī)匹配。光電靶和控制器均為雙向收發(fā)(半雙工)。
          3.5 語(yǔ)音電路
          在單片機(jī)的控制下播放事先錄制好語(yǔ)音內(nèi)容。

          4 光電靶程序設(shè)計(jì)
          4.1 光電靶的主程序

          整個(gè)光電靶的程序由開機(jī)自檢,光信號(hào)檢測(cè),數(shù)據(jù)處理,向控制器發(fā)送檢測(cè)結(jié)果,無(wú)線命令接收和執(zhí)行等子程序組成,由主程序根據(jù)條件調(diào)用子程序。主程序框圖如圖4所示。


          無(wú)線接收利用中斷完成。每次接收到一個(gè)有效的命令,就會(huì)將命令保存在一個(gè)指定地址,然后建立一個(gè)標(biāo)志位,通知主程序。主程序根據(jù)命令內(nèi)容,調(diào)用相應(yīng)的子程序,完成命令要求的任務(wù)。中斷服務(wù)程序框圖略。
          4.2 數(shù)據(jù)處理程序
          數(shù)據(jù)處理程序的功能是根據(jù)讀取的光敏檢測(cè)數(shù)據(jù),計(jì)算出激光擊中的位置。
          由于民用激光器的光斑直徑有的比較大,有的比較小。在幾十米的距離上,一般光斑直徑在10~30 mm。激光照射靶標(biāo),往往是同時(shí)照射幾個(gè)光敏元件,該程序就是要確定光斑的中心位置。
          對(duì)照?qǐng)D3,假設(shè)光斑中心在10環(huán),可能被照射光敏元件只有10環(huán)的,也可能還有9環(huán)的4個(gè),還有可能8環(huán)的8個(gè)也被照射等。要確定10環(huán),除了10環(huán)的光敏元件被照射,還有9環(huán)、8環(huán)、7環(huán)可能被照射,并且全環(huán)都被照射,否則不能確定10環(huán)。
          10環(huán)以外的其他環(huán)數(shù)的確定,需要根據(jù)光斑照射到的環(huán)數(shù)和區(qū)數(shù)來(lái)確定。環(huán)號(hào),就是10,9,8,7,6環(huán);環(huán)數(shù)就是光斑照射到的環(huán)有幾個(gè),比如光斑照射到9,8,7環(huán),環(huán)數(shù)就是3。區(qū)號(hào)和區(qū)數(shù):正上方為1區(qū),右上方為2區(qū),按照順時(shí)針方向分為8個(gè)區(qū),編號(hào)為1~8號(hào)區(qū);光斑照射到3,4,5,6區(qū),則區(qū)數(shù)為4。
          中心環(huán)號(hào)計(jì)算:首先要根據(jù)所有照射到的環(huán)號(hào)計(jì)算出環(huán)數(shù),然后計(jì)算出中心環(huán)號(hào)。最大環(huán)號(hào)減去環(huán)數(shù)除以2取整,這就是光斑中心的環(huán)號(hào)。取整的目的是小數(shù)的環(huán)數(shù)不好顯示。如果用數(shù)碼顯示則可以保留小數(shù)。
          中心區(qū)號(hào)計(jì)算:根據(jù)所照射的所有區(qū)號(hào)計(jì)算出區(qū)數(shù),再計(jì)算出中間區(qū)號(hào),就是光斑的中心區(qū)號(hào)。這里有一個(gè)問(wèn)題:當(dāng)被照射的區(qū)號(hào)是7,8,1,2,3的時(shí)候,要把最大區(qū)號(hào)確定為11,最小區(qū)號(hào)確定為7,再計(jì)算出區(qū)數(shù)和中心區(qū)號(hào)。如果計(jì)算的中心區(qū)號(hào)大于8則減去8才是真正結(jié)果。以區(qū)號(hào)是7,8,1,2,3為例:區(qū)數(shù)=11-7+1=5,5/2=2.5,2.5取整=2,最大區(qū)號(hào)減去區(qū)數(shù)的一半取整,即11-2=9,由于9大于8,要減去8,即9-8=1,這就是中心區(qū)號(hào),即偏上方。
          中心環(huán)號(hào)和區(qū)號(hào)確定,數(shù)據(jù)處理完畢。
          圖5是8個(gè)區(qū)的區(qū)號(hào)計(jì)算子程序框圖,其他子程序略。




          關(guān)鍵詞: T89S52 無(wú)線光電靶

          評(píng)論


          技術(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); })();