邱磊3100403108-电信101-汽车防撞报警系统设计 - 图文 联系客服

发布时间 : 星期一 文章邱磊3100403108-电信101-汽车防撞报警系统设计 - 图文更新完毕开始阅读6bfe5bfa29ea81c758f5f61fb7360b4c2e3f2afb

第5章 系统调试

软件程序使用Keil4软件进行编程与编译,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。由于超声波模块,语音模块不能在Proteus上仿真,所以我就用开发板上搭好硬件直接进行调试。

5.1 方法与过程

系统软件编写的时候,我把系统要实现的功能分解为几个模块,逐步完成所需功能,最后将各部分功能进行整合,并最终完成整体设计功能。

第一个调试的模块是LCD12864显示,主要的功能是完成“汽车防撞报警系统”,“当前距离”,“警戒距离”的显示。经调试,LCD12864可以正常显示本设计所需要的信息,如图5.1所示。

图5.1 液晶显示调试

第二个调试模块是按键设置模块,根据功能要求,本设计的警戒距离设置只需要两个按键,一个是设定警戒距离值加键,另一个是设定警戒距离值减键。可调范围为1米,警戒距离初始值为0.5米。如图5.2所示。

24

图5.2 按键设置调试

第三个调试模块是对HC-SR04超声波测距模块正确检测距离并显示在液晶当前距离的后面。刚开始要给TRIG口最少10us 的高电平信呈,如图5.3和图5.4所示,由图可得,给的高电平时间约12us。

图5.3 调试图1

25

图5.4 调试图2

经调试,超声波可以正常测出距离并在液晶上显示,超声波当时距障碍物0.2米,用卷尺测出的距离和本系统测出的距离几乎相同。如图5.5所示。

图5.5 超声波测距调试

26

第四个调试模块是语音播报模块,主要功能是实时播报当前距离。初次使用语音芯片,以前没有接触过,对其工作原理没有完全了解,为了提高初次调试的成功率,我进行了最简单的测试方式。如图5.6所示,电路连接好后,任何时候按下按键K2,都会有声音播出,同时与BUSY引脚相连的LED就会亮起来。停止工作后,LED熄灭。连续按下K2就可以更换不同地址的声音内容,停止按下后,则会播放最后指向的这段声音;任何时刻按下K1键都可以让正在播放的声音立刻停止。

图5.6 语音测试电路

5.2 问题及解决方案

问题一:在调试按键设置时,刚开始按键设置是采用扫描的方式,由于延时的原因导致语音播报的频率太低,好久才能播报一次距离,无法达到此设计的要求。

解决方案:根据这个问题,我采用了外部中断的方式来进行按键设置,将设定警戒距离值加键与单片机P3.2引脚相连(外部中断0),而将设定警戒距离值减键与单片机P3.3引脚相连(外部中断1)。当在一个机器周期中检测到P3.2引脚为高电平,下一个周期检测到低电平时,触发了外部中断0,引脚P3.2向CPU申请中断,警戒距离加一位。警戒距离的减与加同理。

问题二:按键设置过程中,语音播报会出乱,同时液晶显示中的“当前”会乱码,如图5.7所示。另外也很难准确的控制按键,在调整警戒距离时会产生一下跳变很多数字的现象。

27