杭州电子科技大学信息工程学院本科毕业设计
表示第二次打靶,击中第21号(对应环数:7环 偏移方向:右上)。
INT0_SEND: ;数据帧传送子程序 PUSH ACC ;保护ACC CLR A
ADD A,#0X30
CALL UART_SEND ;发送标志位 MOV A,40H
CALL UART_SEND ;发送打靶次数 POP ACC
CALL UART_SEND ;发送打靶成绩 ADD A,#0X30 ADD A,0040H
CALL UART_SEND ;发送校验位 INC 0040H ;打靶次数累加1 CALL DELAY_200MS;延时200ms CLR EX0 ;关外部中断
CLR IE0 ;清 INT0 外部中断请求标志位――防止外部中断寄存而引起多次中断。
SETB EX0 ;开中断 RETI (5)串行发送字节
UART_SEND: ;串行发送一个字节 MOV SBUF,A
JNB TI,$ ;等待发送完毕 CLR TI ; RET (6)定时程序:
DELAY_2MS: ;用定时器延时2ms MOV R7,#21;21 DLY1:MOV R6,#42 DLY2:DJNZ R6,DLY2 DJNZ R7,DLY1 RET
DELAY_10MS: ;调用DELAY_2MS,实现延时10ms MOV R5,#5
杭州电子科技大学信息工程学院本科毕业设计
DLY: CALL DELAY_2MS DJNZ R5,DLY RET
杭州电子科技大学信息工程学院本科毕业设计
6 制作与调试
6.1 硬件电路的布线与焊接
6.1.1 总体特点
该系统所涉及的各部分硬件电路,总体的特点是: (1)电路原理简单,所用的器件均为常用器件。
(2)由于路数较多(38路),电路的规模较大,因此在制作中只做了8路。 因此,应合理布线,以降低焊接难度,降低出错率,同时防止干扰。 6.1.2 电路划分
为方便焊接与调试,把电路划分为两大块:
(1)探测器接收,放大电路和整形电路为一块电路板; (2)编码器、2051单片机和控制开关为一块电路板; 6.1.3 焊接
焊接前应熟悉各芯片的引脚,焊接时参照电路图,仔细地连接引脚。按照以下原则进行焊接:
(1)先焊接各芯片的电源线和地线,这样确保各芯片有正确的工作电压; (2)同类的芯片应顺序焊接,在一片焊接并检查好之后,其他的同类芯片便可以参照第一片进行焊接。这样便可大大节省时间,也可降低出错率。
6.2 调试
(1)在40-6线优先编码器,由于没有详细阅读优先编码器的真值表,我认为优先编码器为低位优先,因此所设计的编码标准(取小号有效)不符合标准。不过发现错误后,对硬件电路无需修改,只要修改编码标准为取大号有效,便可以解决问题。
(2)由于光电池的响应信号经放大、编码,到达单片机P1口时有一定的延时,为使单片机准确地通过外部中断进行有效数据的采集,应知道延时的大概范围。编写单片机程序时,编写了一个延时2ms的子程序,可以调用进行一定的延时,通过延时时间不同的程序进行多次烧录并进行调试,然后比较所得的不同结果,这样便可以大概知道要采集正确的数所需的延时时间(最后程序采用的延时时间为2ms)。
(3)电路中同时控制激光发射和单片机外部中断的开关为普通的按钮开关,因此在按下和弹起都有颤动,这样会引起单片机外部中断的多次响应,使一次“射击动作”引起多次响应,单片机输出多个值。通常的消颤方法有两种:硬消颤和软消颤。硬消颤指通过硬件上的消颤电路使开关的一次动作只能产生一个脉冲跳
杭州电子科技大学信息工程学院本科毕业设计
变;而软消颤主要通过延时或对响应的屏蔽来实现。在该设计中采用较为简便的软消颤,具体的方案见第五章。
杭州电子科技大学信息工程学院本科毕业设计
7 结论
本设计方案达到了任务书的要求,实现了激光信号的检测、编码和串行传输,实现了较为完整的激光打靶系统的信号处理:
(1)前端放大器的放大倍数适中,放大后,有效电压脉冲的幅度达到施密特触发器的上门限电压,背景干扰信号没有引起电路的误响应;
(2)经过调试,实现40-6优先编码器的扩展,编码值输出符合真值表,编码有效脉冲下降沿的波形正常;
(3)由开关按钮(模拟激光枪的扳机)控制的编码采集和串行传送也调试实现(通过与计算机的串口相连,用“串口调试程序”调试);
(4)信号处理电路通过串口连接到计算机,应用张雪荣同学设计的“激光打靶成绩统计”软件进行总体调试,实现对打靶成绩的显示统计和储存。
由于时间、水平和经验有限,在信号的放大、编码及抗干扰等方面仍有不足之处,有改进的余地,比如电路规模的精简,其他的光干扰处理。另外在系统的调试方面,由于时间和设备的原因,只进行了短距离的调试,有待进一步的调试。
这次毕业设计对于我来说,既是一次机遇,又是一次挑战。通过这次的毕业设计,我学到了很多东西,通过自己的实践,增强了动手能力。通过实际工程的设计也使我了解到书本知识和实际应用的差别。在实际应用中遇到很多的问题,这都需要我对问题进行具体的分析,并一步一步地去解决它。