新闻中心

EEPW首页>嵌入式系统>设计应用> 基于单片机的无线光电靶

基于单片机的无线光电靶

作者: 时间:2010-07-09 来源:网络 收藏

2.4 夜间指示灯
为了夜间训练方便,设计了由发光二极管组成的靶标指示灯,在夜间可以打开此指示灯,以便观瞄。此指示灯是由靶心灯(内灯)和靶周灯(外灯)组成,可以由靶控制器控制其开关。

3靶控制器电路设计
从图1可以看出,靶控制器由、发光二极管阵列、通信模块、激光模块和语音播放模块组成。另外还有用于操作的按键。
3.1电路
使用的仍然是AT89S52,扩展5个8位并行口,其中4个并行口用来控制LED发光,1个用来连接通信模块。
3.2 发光二极管显示阵列
由AT89S52单片机扩展的并行口来驱动发光二极管(LED)的亮和灭,用来显示击中的位置。LED的排列方式与光敏元件的排列方式一致,便于指示射击结果,如图3所示。

本文引用地址://m.amcfsurvey.com/article/173281.htm


图3中,一个最小的圆圈代表一个LED。可以看出,10环只用1个LED,亮的时候表示击中10环;9环只用4个LED,可以指示上下左右4种偏差,上边的LED亮表示9环偏上等;8,7,6环都是8个LED,可以表示8种偏差。
3.3 激光器
购买市场常见的笔形半导体激光器。
3.4 无线通信装置
购买市场常见的无线,加以改造以适合与单片机匹配。光电靶和控制器均为双向收发(半双工)。
3.5 语音电路
在单片机的控制下播放事先录制好语音内容。

4 光电靶程序设计
4.1 光电靶的主程序

整个光电靶的程序由开机自检,光信号检测,数据处理,向控制器发送检测结果,无线命令接收和执行等子程序组成,由主程序根据条件调用子程序。主程序框图如图4所示。


无线接收利用中断完成。每次接收到一个有效的命令,就会将命令保存在一个指定地址,然后建立一个标志位,通知主程序。主程序根据命令内容,调用相应的子程序,完成命令要求的任务。中断服务程序框图略。
4.2 数据处理程序
数据处理程序的功能是根据读取的光敏检测数据,计算出激光击中的位置。
由于民用激光器的光斑直径有的比较大,有的比较小。在几十米的距离上,一般光斑直径在10~30 mm。激光照射靶标,往往是同时照射几个光敏元件,该程序就是要确定光斑的中心位置。
对照图3,假设光斑中心在10环,可能被照射光敏元件只有10环的,也可能还有9环的4个,还有可能8环的8个也被照射等。要确定10环,除了10环的光敏元件被照射,还有9环、8环、7环可能被照射,并且全环都被照射,否则不能确定10环。
10环以外的其他环数的确定,需要根据光斑照射到的环数和区数来确定。环号,就是10,9,8,7,6环;环数就是光斑照射到的环有几个,比如光斑照射到9,8,7环,环数就是3。区号和区数:正上方为1区,右上方为2区,按照顺时针方向分为8个区,编号为1~8号区;光斑照射到3,4,5,6区,则区数为4。
中心环号计算:首先要根据所有照射到的环号计算出环数,然后计算出中心环号。最大环号减去环数除以2取整,这就是光斑中心的环号。取整的目的是小数的环数不好显示。如果用数码显示则可以保留小数。
中心区号计算:根据所照射的所有区号计算出区数,再计算出中间区号,就是光斑的中心区号。这里有一个问题:当被照射的区号是7,8,1,2,3的时候,要把最大区号确定为11,最小区号确定为7,再计算出区数和中心区号。如果计算的中心区号大于8则减去8才是真正结果。以区号是7,8,1,2,3为例:区数=11-7+1=5,5/2=2.5,2.5取整=2,最大区号减去区数的一半取整,即11-2=9,由于9大于8,要减去8,即9-8=1,这就是中心区号,即偏上方。
中心环号和区号确定,数据处理完毕。
图5是8个区的区号计算子程序框图,其他子程序略。




评论


相关推荐

技术专区

关闭