新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于单片机控制的迫击炮防重装弹系统

基于单片机控制的迫击炮防重装弹系统

作者: 时间:2012-06-01 来源:网络 收藏

2 硬件结构
图2为本电路部分的硬件结构,根据功能要求,选用Atmel公司推出的AT89C2051为核心,其是目前比较主流的芯片,共有20个引脚,其中包括15个I/O口,选用此可缩小装置的体积,简化电路。

本文引用地址:https://www.eepw.com.cn/article/171374.htm

b.JPG


为提高可靠性,红外发射管发出的信号是38 kHz的调制信号,调制电路也采用AT89C2051通过软件编程来产生38 kHz红外调制信号,该信号通过多个并联的门电路提高驱动力,再加载在红外发射管上(图2未画出发射信号的调制电路),这样不仅电路简单,得到的信号频率也比较稳定。
红外接收采用的是一体化的接收头HS0038,其内部集成有红外接收、放大、解调、整形等电路,当接收到38 kHz的红外脉冲串时,输出低电平,否则输出高电平,其输出信号的极性与发送信号的相反,图2中使用三极管对其反向及放大后,两路红外接收管输出的信号分别连入AT89C2051的P3.2(f.JPG)与P3.2(e.JPG)引脚。
红外传感器为检测炮弹装入与发射的手段,故其发射与接收器的正常工作是可靠的前提,为此设置了开机对其进行检测的功能。
作为核心,可以根据P3.2与P3.3输入信号的高、低及跳变判断出发射过程所处的状态:待填装状态、半填装状态、填装完成状态、正常发射完成状态及不发火状态。当判断出发射过程处于不发火状态时,由P3.0控制启动机械装置卡住炮口,防止再次填装炮弹动作完成,同时由P3.1启动光闪烁报警及P3.4启动音乐片KD9561报警,为提高报警声响,采用LM386作为音频放大;当检测到完成一次正常发射状态时,计算一次炮弹发射的枚数,并通过数码管显示,设置了两位数码管,由单片机的P1口控制其段选码,P3.5与P3.7控制其位选码,最大计数值为99枚。

3 软件设计
本系统将红外接收管的输出信号引入单片机的P3.2(f.JPG)与P3.3(e.JPG)引脚,可以比较巧妙且比较简洁地通过软件编程判断发射过程所处的状态,因为此两脚即是通用的I/O引脚又是外部中断的输入引脚,这样可以通过两引脚电平的高、低及是否有中断和中断产生的次序来判断发射过程所处的状态,当接收到红外光照时,P3.2=0且P3.3=0,故通过查询检测到P3.2=0且P3.3=0时,则发射过程处于
待填装状态;当检测到P3.2=1且P3.3=1时,则发射过程处于半填装状态;以半填装状态为判断前提,若炮弹被重新取出,则P3.3先由高变低,后P3.2由高变低,也即当产生了先e.JPGf.JPG的中断,说明炮弹被取出重新回到待填装状态;反之当产生了先f.JPGe.JPG的中断,说明炮弹已完全滑入身管进入填装完成状态,这时启动定时器,2.5 s后未检测到e.JPGf.JPG中断,说明炮弹未出膛,进入不发火状态;反之在2.5 s内检测到e.JPGf.JPG中断,说明完成一次正常发射。



评论


相关推荐

技术专区

关闭