基于单片机的汽车防撞报警系统设计

发布时间 : 星期日 文章基于单片机的汽车防撞报警系统设计更新完毕开始阅读

开始 系统初始化 启动T1定时65秒,开T1中断 T1定时器65ms定时到 N Y 进入T1中断服务子程序计时发射超声波脉冲 回波接收成功 Y N T0溢出 关总中断允许EA 调用测温子程序补偿声速 调用距离计算子程序 N 距离小于预设值 Y 调用扬声器报警子程调用子程序 Y 调用子程序显示距离并延时 清回波接收成功标志位 图4-2流程图

21

第5章 调 试

5.1 硬件调试

第一步,通电观察。将电路通电观察有无异常现象,例如有无器件冒烟现象,有无异常气味,手摸集成电路外封装,是否发烫等。如果出现异常现象,应立即关断电源,待排除故障后再通电。

第二步,静态调试。将信号输入端加固定的电平信号后进行的直流测试,可用万用表测出电路中各点的电位,通过和理论估算值比较,结合电路原理的分析,判断电路直流工作状态是否正常,及时发现电路中已损坏或处于临界工作状态的元器件。通过更换器件或调整电路参数,使电路直流工作状态符合设计要求。

第三步,动态调试。动态调试是在静态调试的基础上进行的,在电路的输入端加入合适的信号,按信号的流向,用示波器顺序检测各测试点的输出信号,若发现不正常现象,应分析其原因,并排除故障,再进行调试,直到满足要求。

5.2 软件调试

所谓软件调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。这是保证单片机正确运行的必不可少的步骤。编完单片机程序,必须送入单片机中测试。

我把软件调试过程分为两步:

第一步,使用软件调试程序。将编辑好的汇编语言程序进行编译连接,消除基本的语法错误,再通过软件自带的调试工具进行必要的程序调试。

第二步,联系程序的实际运行情况调试程序。此步主要是消除程序中的逻辑错误,因为在编辑程序时在逻辑思维上可能会出现漏洞导致操作时出错。我们将编辑好的汇编语言程序编译连接并生成hex文件,并将hex文件下载到单片机中。通过实际操作寻找逻辑上的错误,不断的修改程序,最终达到了预先设定的操作步骤及显示格式等多方面的要求。

5.3 测试结果

为了保证实际制作出来的汽车防撞报警系统能够稳定可靠地运行,我们对各个功能模块和程序运用仿真软件protus进行了仿真测试。但实际制作出的电路和

22

理论又会有一定的差距,为此我们还使用实验仪器对该汽车防撞报警系统进行了相关测试。

在本电路的调试中,如果一直发射超声波,在7脚将会有周期的低电平产生。不会像通常认为的那样,即一直发射信号时,7脚一直为低电平。这是刚用CX20106时的一个常见错误。只要通过单片机来来计算发射信号时到收到信号是产生下降沿这段时间的长度,再通过数学计算,转化为距离,然后在显示器上显示。

在测试过程中的总结:

1、定时器T1之所以是65ms溢出是因为它是16位定时/计数器。在使用12MHZ的晶振时,一个机器周期是1us,计数器65ms技术器溢出。

2、本设计中40KHZ方波的产生采用软件方式实现:控制p1.0口输出12us的高电平,再输出13us的低电平,这样得到一个周期的40KHZ的脉冲。再循环发送8次。

3、在cpu停止发送脉冲后,由于阻尼换能器不能立即停止发送超声波。在一

段时间内仍然会发送,故这段时间内不可立即开启INT0接收回波,要等待一段时间后,这样就避免发送端的部分直射波未经被测物就直接绕射到接收端。

4、最大测试距离将取决于:两次脉冲发送之间的最小时间间隔和脉冲的能量。一般来说

发射端脉冲个数越多,能量越大,所能测的距离也越远。但也不是无限制的。本设计中读取定时器T0的计数值。测试结果如图 5-1所示:

图5-1 调试结果

23

结 论

利用AT89S51单片机设计的超声波防撞报警系统便于操作、读数直观。该系统工作稳定,能满足一般近距离测距的要求,且成本较低、有良好的性价比、设计中在超声波接收电路中使用了CX20106集成芯片,减少了电路之间的相互干扰,减少了电噪声。本设计系统可广泛应用于小距离测量。

通过试验验证该设计系统灵活方便,工作稳定可靠,抗干扰能力强,精确度高,能够有效的防止小车碰撞前面的障碍物。超声波换向器能很好的接收和发射信号,很大程度上降低了小车周围实物的干扰性,提高抗干扰性。得到了预期的效果。

在本设计中,出现一个问题就是蜂鸣器一直响。原因是:

(1)蜂鸣器是由程序控制的,只要检测到距离小于80cm,程序执行中断来处理

蜂鸣器响这条指令。 (2)检查电池没有有电。

通过本设计我学到了很多在实际操作中的知识: (1)AT89S51各个管脚的功能。 (2)LED显示段选和位选的控制。 (3)每个模块的电路图的功能。

24

联系合同范文客服:xxxxx#qq.com(#替换为@)