新闻中心

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

基于AT89S52单片机的无线光电靶

作者: 时间:2011-11-24 来源:网络 收藏

从图5中可以看出,如果原始数据的最大区号不是8,那就直接计算中心区号。如果原始数据的最大区号是8,就要判断1区是否有被激光照射,如果没有,那就直接计算中心区号。如果1区有激光照射,最大区号要加1,然后还要判断2区,依此类推,直到没有照射,最大区号确定。这里判断到6区,已经留有余地,实际上不大可能出现这种情况(参照图3分析)。第一次计算的中心区号,还要判断其值是否大于8,如果大于8还要减1,得到最终的结果。

5 光电靶控制器的程序设计
光电靶控制器的程序主要由开机自检,操作命令的接收和执行,无线数据信号的接收和显示,声音的播放控制等几个部分组成,其主程序的框图如图6所示。


从图6可以看出,主程序开机自检之后,进入主循环。在主循环中,除了按照各种标志位来控制LED的显示和语音播放之外,就是检查按键,一旦有键盘命令,立即启动无线发送模块进行发送。这几个键盘命令都是针对光电靶的命令,内灯命令和外灯命令是对光电靶的夜间指示灯的控制命令,击发命令和重发命令解释如下:
击发命令 在操炮手瞄准靶标踩下开炮开关时,接通激光器电源发出激光,并同时产生一个信号给光电靶控制器的单片机,由单片机通过无线信号传送给光电靶。光电靶接收到击发命令,开始对光敏元件进行扫描,得到原始数据。在对扫描的数据处理之后得到激光光斑中心位置的信息,就是环号和区号。光电靶将此环号和区号通过无线模块发送回光电靶控制器。光电靶控制器据此控制LED的显示和语音播放。
重发命令 这个命令是要光电靶将上次击发产生的信息重新发送一次,以便核对。
数据的接收每当无线模块接收到一次有效的信号,就会申请一次中断。在中断服务程序中读取接收的数据,并保存在一个指定的地址里,以便主程序处理。数据的内容是激光光斑中心的环号和区号。中断服务程序的框图如图7所示。



6 结语
利用参考光和比较器进行模数转换,电路简单可靠,速度快。光敏元件圆环状排列,可以充分利用元件。利用单片机的程序处理可以很容易得到光斑的中心位置。经中国人民解放军高炮某部使用效果很好,达到了设计要求,解决了动态靶瞄准的训练问题。而且光电靶重量轻、移动方便,很适合各种野外训练需要。如果将激光器安装在其他枪械上,还可以用在步兵的射击训练上。现在正在改进,准备添加射击成绩统计功能,在光电靶控制器上加一个数码显示器,实时显示射击次数、总环数等,同时还可以与上位机联网,便于数据的储存和管理。