基于单片机控制的自动报靶系统设计.docx

上传人:b****6 文档编号:6904753 上传时间:2023-01-12 格式:DOCX 页数:48 大小:2.84MB
下载 相关 举报
基于单片机控制的自动报靶系统设计.docx_第1页
第1页 / 共48页
基于单片机控制的自动报靶系统设计.docx_第2页
第2页 / 共48页
基于单片机控制的自动报靶系统设计.docx_第3页
第3页 / 共48页
基于单片机控制的自动报靶系统设计.docx_第4页
第4页 / 共48页
基于单片机控制的自动报靶系统设计.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

基于单片机控制的自动报靶系统设计.docx

《基于单片机控制的自动报靶系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的自动报靶系统设计.docx(48页珍藏版)》请在冰豆网上搜索。

基于单片机控制的自动报靶系统设计.docx

基于单片机控制的自动报靶系统设计

1引言

1.1课题研究背景及发展方向

在军队射击训练和各种体育射击比赛中,示靶、检靶、报靶和成绩的记录统计,是训练和比赛过程中的主要保障工作。

目前,这些保障工作大部分还是依靠人工来完成的。

人工报靶有着工作量大、效率低、安全性差的特点。

想要提高射击比赛或训练中报靶的效率,最主要是要解决自动报靶的问题[1]。

因此,设计制作并采用安全有效的自动报靶系统具有重要的现实意义也是迫切的现实需求。

当今较为先进的报靶系统包括光电坐标靶、图像处理坐标靶、CCD线阵靶、声电坐标靶、光纤编码坐标靶刚、双电极短路坐标靶等[2][3]。

但以上这些方法也存在着各自的不足:

有的技术过于复杂、有的不能用于野外实弹射击报靶、有的成本过高、有的着弹实报率较低、不适用于连发射击训练等缺点。

目前应用较多的还有红外光电定位测试、基于图像处理模板匹配法、基于声电坐标定位法、基于光纤编码定位法、广义Hough变换法(基于图像处理)、面阵CCD精度靶等报靶系统,都是较有效的测试方法[3]。

近年来发展起来一种新型智能自动报靶系统,与传统的实弹射击准备工序繁琐且隐藏着极大的安全隐患比较,利用这种报靶系统开展的训练将会更安全高效。

这一智能自动报靶系统由主机、从机、靶面传感器三部分构成。

具有可对射击过程全程监控,并作数据处理、自动统计以及查询成绩等功能,还可对射手存在的问题作出分析,极大地提高了训练效率[4]。

可以预见,这种新型智能自动报靶系统将会在不远的将来取代传统自动报靶系统并向更加智能化、自动化、数字化方向发展,它将可能成为未来研制报靶系统的新趋势。

1.2基于激光坐标定位法实现的自动报靶系统简介

激光坐标定位法在一些资料中也称为光电坐标定位法,光电靶是由X、Y两个方向上的激光网络构成,如图l所示。

图1.1光电靶

将普通靶纸置于激光网络之前并与之同轴,当子弹打破靶纸,并穿越激光网络时,会阻断相应位置处X和Y两个方向上的各一路激光,从而使接收装置(光敏管)开关状态发生变化[5][6]。

通过对光敏管开关状态进行编码,便可将子弹穿过时对应的光敏管状态进行记录,利用单片机对该信号进行处理,便可得到弹着点的坐标和环数。

激光坐标定位法的主要优点是在实际应用过程中不依赖于靶纸更不依赖于环境,可以做到快速、安全、高效、准确地自动报靶[7][8]。

 

2电子电路的虚拟设计及仿真

2.1电路虚拟设计及仿真的意义

当今电子信息技术的发展日新月异,电脑CPU主频越来越高,物理内存和硬盘容量也越来越大,相应的个人电脑的功能也越来越强大了,处理信息的能力也越来越强,但价格却随之越来越便宜,功能强大的个人PC机已经渐渐普及,同时得益于国际上一些知名的电子设计公司推出的各种功能不断完善的电子设计软件,现今的大部分电子电路设计都可以先在个人电脑上进行系统的总体设计、验证,得到相对正确的仿真设计结果后,再进行具体的硬件开发和制作。

通过电脑虚拟设计仿真后再进行具体实物的制作,能大大降低电子设计的开发成本,缩短研发周期,使研发人员工作量大大减少,把更多的精力投入到电子电路的合理性设计中去,而不用花费大量时间搭建实验所需的物理工作环境,进而提高研发效率和成功率。

2.2系统虚拟设计所用软件简介

此系统是基于单片机的自动报靶系统设计,首先运用了当今十分流行的单片机仿真软件Proteus,在电脑上搭建电子电路,然后运用到了Keil软件,进行程序设计。

Proteus和Keil软件可以进行联合调试,功能比较强大,对付一般的电子电路设计仿真已经绰绰有余。

最后还运用了AltiumDesigner软件对整个电路的原理图进行了绘制,并同时制作了PCB原理图,使整个设计更加完整。

在下文介绍中将要用到的电路图中,大部分为AltiumDesigner软件所绘制。

2.2.1Proteus软件简介

Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

一、其功能特点

Proteus软件具有其它EDA工具软件(例:

multisim)的功能。

这些功能是:

(1)原理布图设计。

(2)PCB自动或人工布线。

(3)SPICE电路仿真。

二、革命性的特点

(1)互动的电路仿真

用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。

(2)仿真处理器及其外围电路

可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。

还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。

配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。

三、具有4大功能模块

(1)智能原理图设计(ISIS)

丰富的器件库:

超过27000种元器件,可方便地创建新元件;智能的器件搜索:

通过模糊搜索可以快速定位所需要的器件;智能化的连线功能:

自动连线功能使连接导线简单快捷,大大缩短绘图时间;支持总线结构:

使用总线器件和总线布线使电路设计简明清晰;可输出高质量图纸:

通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。

(2)完善的电路仿真功能(Prospice)

①ProSPICE混合仿真:

基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;

②超过27000个仿真器件:

可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件;

③多样的激励源:

包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入;

④丰富的虚拟仪器:

13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;

⑤生动的仿真显示:

用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;

⑥高级图形仿真功能(ASF):

基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析;

(3)独特的单片机协同仿真功能(VSM)

①支持主流的CPU类型:

如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器;

②支持通用外设模型:

如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信;

③实时仿真:

支持UART/USART/EUSARTS仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真;

④编译及调试:

支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试;

(4)实用的PCB设计平台

①原理图到PCB的快速通道:

原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计;

②先进的自动布局/布线功能:

支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交换/门交换功能使PCB设计更为合理;

③完整的PCB设计功能:

最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3D可视化预览;

④多种输出格式的支持:

可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转(如protel)和PCB板的设计和加工。

四、Proteus提供了丰富的资源

(1)Proteus可提供的仿真元器件资源:

仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。

(2)Proteus可提供的仿真仪表资源:

示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。

理论上同一种仪器可以在一个电路中随意的调用。

(3)除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。

这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。

这些都尽可能减少了仪器对测量结果的影响。

(4)Proteus可提供的调试手段Proteus提供了比较丰富的测试信号用于电路的测试。

这些测试信号包括模拟信号和数字信号。

五、电路功能仿真

在Proteus绘制好原理图后,调入已编译好的目标代码文件:

*.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程。

PROTEUS是单片机课堂教学的先进助手。

Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。

前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。

它的元器件、连接线路等却和传统的单片机实验硬件高度对应。

这在相当程度上替代了传统的单片机实验教学的功能,例:

元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。

课程设计、毕业设计是学生走向就业的重要实践环节。

由于Proteus提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。

随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。

它具有设计灵活,结果、过程的统一的特点。

可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。

相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。

使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;实践证明,在使用Proteus进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。

因此Proteus有较高的推广利用价值。

目前Proteus的最新版为7.7sp2,今年将推出8.0版本,增加DSP系列及ARMcortex处理器,在此设计中我运用的是Proteus7.5sp版本。

2.2.2Keil软件简介

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。

机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。

运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。

掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

基本知识

一、KeilC51开发系统基本知识KeilC51开发系统基本知识

(1)系统概述

KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

用过汇编语言后再使用C来开发,体会更加深刻。

KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

下面详细介绍KeilC51开发系统各部分功能和使用。

(2)KeilC51单片机软件开发系统的整体结构

C51工具包的整体结构,如图

(1)所示,其中uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。

开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。

然后分别由C51及A51编译器编译生成目标文件(.OBJ)。

目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

二、优点

KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

2.2.3AltiumDesigner软件简介

AltiumDesigner是澳大利亚的Altium公司开发的一款进行电子线路板设计的系列软件之一,是Protel99SE、Protel2004的后续版本。

当前我使用的是AltiumDesigner6.9,现在已有7.0及9.0等版本。

我也对其进行了简要的了解,发现在界面与操作上几乎没有改变。

通过AltiumDesigner可以完成一般电子工程项目的从开发到制板的开发过程。

在低速电子线路板设计中,该软件使用非常广泛。

在我们实验室里,由于涉及的电路板速度通常低于100MHz,所以一般会使用该软件进行电路板的绘制。

7.0版本:

AltiumDesignerSummer即AltiumDesigner7.0,AltiumDesigner7.0不断通过为高速设计提供各种功能来提高用户生产力,这些功能包括交互式长度调整和PCB层片增强等功能。

新增的库工具和各种新功能将AltiumDesigner提升成为统一的电子产品开发解决方案。

这款最新的更新程序将进一步增强您的能力,让您能够在更短的“设计到制造”周期内生产更为尖端、更具创新性的电子产品,AltiumDesigner完全取代了Protel。

AltiumDesignerSummer08新增汇入AllegroPCB(*.brd)的转文件功能。

AltiumDesigner提供了唯一一款统一的应用方案,其综合电子产品一体化开发所需的所有必须技术和功能。

AltiumDesigner在单一设计环境中集成板级和FPGA系统设计、基于FPGA和分立处理器的嵌入式软件开发以及PCB版图设计、编辑和制造。

并集成了现代设计数据管理功能,使得AltiumDesigner成为电子产品开发的完整解决方案-一个既满足当前,也满足未来开发需求的解决方案。

AltiumDesigner7.0加强了FPGA-PCB协同设计能力

虽然人们早就认识到了FPGA给逻辑开发带来的好处,但把这些器件集成到PCB设计流程所带来的挑战,会使得PCB线路板设计变得十分复杂并导致整体设计时间超长。

通常无需考虑PCB版图即进行FPGA管脚分配,而在大规模可编程器件中使用的密集封装技术将使得PCB板布线成为极大的挑战。

AltiumDesigner打破了FPGA的使用障碍,把硬连接的PCB平台和软件及软连接的逻辑开发集成在一起,后者构成的嵌入式智能通过在PCB线路板上编程以创建完整的应用。

AltiumDesigner6.0改进了FPGA级设计和PCB级设计间的集成,开发了很多新功能,与现在的大型可编程器件相结合,它们精简了产品开发。

“大型FPGA器件的可用性正改变着工程师的系统设计方法――产品中可以添加更多智能并同时缩短设计时间,减少制造成本。

”Altium的创始人和CEONickMartin说,“AltiumDesigner6.0可帮助工程师在嵌入式智能级和物理设计级充分利用FPGA提供的好处,系统的统一特性打破了在主流设计中广泛采用可编程器件的障碍,这样可以充分利用这些器件的扩展资源,简化逻辑和物理设计。

AltiumDesigner6.0引入了动态网络重分配概念,PCB布线期间可在线交换FPGA管脚。

这包括重新分配预先布线的子网和交换链接的差分信号对,差分信号对可利用FPGA器件上充分的LVDS资源。

动态网络重分配在板级具有增强了的FPGA管脚优化引擎,允许工程师充分利用FPGA器件管脚的可重新编程特性,在PCB板极获得最优的布线方案。

AltiumDesigner系统的统一特性允许在板级完成的管脚交换和FPGA项目的自动同步,减少手动调整处理I/O的耗时。

通常带有大量管脚的FPGA器件是密集BGA型封装。

这给原型阶段的调试带来很大困难,因为这些器件上的管脚不能直接探测。

AltiumDesigner的LiveDesign开发方法允许工程师在开发中可与基于FPGA的设计直接交互。

AltiumDesigner6.0具有改进的JTAG器件浏览器,可提供系统中所有JTAG器件的管脚状态显示,在调试期间工程师可以实时检测管脚信号状态。

管脚状态也可以在源原理图和PCB版图动态显示,‘定位’查看设计文档内的信号状态。

另外还有AltiumDesigner的FPGA虚拟仪器,可用来设定并监控FPGA内的信号,给设计师提供电路运行完整的状态图,以进行系统的逻辑和物理调试。

FPGA系统的在线测试在AltiumDesigner7.0中得到改进,提供增强的逻辑分析仪(LAX)虚拟仪器。

可配置的LAX可监控FPGA内从8位到64位带宽的总线,支持多重信号集的连接。

任意信号都可用来触发输入或选定为数据源。

当可配置的LAX连接到处理器指令总线时,总线数据可显示为反汇编的代码指令,代码相关的问题可方便地在虚拟仪器输出中进行跟踪。

AltiumDesigner7.0中32位的基于FPGA的处理器系统也有更多通用性,支持大量第三方的软核和分立处理器,包括XilinxMicroBlaze软处理器、SharpBlueStreakLH79520(基于ARM720T)和AMCCPowerPC405CR分立处理器。

这些新器件的支持,对于已经有了8位和32位目标独立软处理器支持的AltiumDesigner设计系统来说,使设计者在使用FPGA进行嵌入式系统开发时更加灵活。

AltiumDesigner7.0提供的包裹连接器内核可帮助设计者定位支持的第三方处理器,同时保留AltiumDesigner环境的所有设计功能,包括使用AltiumDesigner虚拟仪器方便地连接基于FPGA外设和用LiveDesign进行调试。

Altium基于Viper的编译器工具链保证所有处理器间的软件兼容性,包裹连接器内核提供硬件兼容性。

这意味着嵌入式设计师无需花费高昂的重新设计工程的代价即可在处理器间进行设计移植。

AltiumDesigner7.0在FPGA开发方面有以下主要特点。

(1)支持不依赖于FPGA厂商即各个厂商通用的数字系统开发。

AltiumDesigner7.0支持NanoBoard开发器。

NanoBoard开发器标准配置有两块可以选择的FPGA子板,分别为:

AlteraCyclone(EP1C12-Q240C7)和XilinxSpartanIIE(XC2S300E-PQ208C),由于各个厂家不同芯片引脚有些不同,AltiumDesigner7.0提供了一个可以定义引脚之间连接的约束文件(ConstrainFiles),可以定义不同FPGA与PCB上的引脚对应关系。

这样就可在NanoBoard上将设计好的FPGA逻辑关系换烧到不同的厂家生产的不同系列的FPGA上;就可以依赖于不同厂商的FPGA而进行开发,这一点在实际开发中有很大的好处。

AltiumDesigner7.0实现了跨厂家FPGA设计,以前FPGA每一个厂家每一个系列的FPGA设计都需要有专门对应的下载工具,但是现在AltiumDesigner7.0克服了这种麻烦,实现了不受芯片厂家型号约束的设计方法。

(2)丰富的原理图库,有大量的预综合元件,包括处理器。

在原理图库里有大量预综合的元器件,设计者可以调用到FPGA设计上。

包括很多IP模块可以直接调用。

有大量免费使用的IP库可以放心使用。

在设计中需要的元件基本上都可以在IP库里找到,包括51核和DSP模块等。

这给IP资源复用(IPReuse)带来了很大的方便。

IP资源复用(IPReuse)是指在集成电路设计过程中,通过继承、共享或购买所需的智力产权内核,然后再利用EDA工具进行设计、综合和验证,从而加速流片设计过程,降低开发风险。

IPReuse已逐渐成为现代集成电路设计的重要手段,在日新月异的各种应用需求面前,超大规模集成电路设计时代正步入一个IP整合的时代。

(3)在工程的设计和调试阶段都支持原理图导向设计方法。

以FPGA为核心的PLD产品是近几年集成电路中发展得最快的产品。

随着FPGA性能的高速发展和设计人员自身能力的提高,FPGA将进一步扩大可编程芯片的领地,将复杂专用芯片挤向高端和超复杂应用。

随着处理器以IP的形式嵌入到FPGA中,ASIC和FPGA之间的界限将越来越模糊,未来的某些电路板上可能只有这两部分电路:

模拟部分(包括电源)和一块FPGA芯片,最多还有一些大容量的存储器。

由于芯片设计的复杂性和产品面市时间对于保证终端市场的成功率至关重要,设计师不断寻求缩短设计周期的方法,以及更有效的设计方式。

随着我们步入系统级芯片时代,利用IP内核和可编程逻辑进行设计复用显得日趋重要。

(4)丰富的虚拟仪器。

虚拟逻辑分析仪、虚拟频率发生器、频率计数器、I

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1