基于单片机的汽车防撞报警系统设计 - 图文 联系客服

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

3.4.4. 声音报警模块

在很多车上装备防撞系统,用于减少车辆在驻车、倒车和低速行驶时发生撞车的概率。仪表板上有指示灯指示车辆与障碍物的距离,在车辆与障碍物十分接近时有指示灯和声音报警。

本设计中采用一个蜂鸣器,由P1.2输出一定频率的信号,在连接到蜂鸣器之前经过一个三极管9012的放大。声音报警的电路连接图如图3-7所示。

图为报警器电路,R6,R10为限流电阻,当P2.0口输出高电平是,三极管Q1.1截止,此时由于2为高电平,LED与扬声器没有电流流过,即LED不亮,扬声器不响;当P2.0口输出低电平时,三极管Q1.1导通,LED与扬声器有电流流过,即LED亮,扬声器响起

图3-7 声音报警电路图

3.5 总体电路设计

通过对整个系统各个模块的设计,由此可以基本确定本次系统设计的总体电路的基本框图,如图3-8所示。

17

图3-8 总体电路图

18

第4章 软件设计

4.1 主程序流程设计

本系统采用汇编语言编程,系统程序包括主控程序、T1中断服务子程序、INT0中断服务子程序、测温子程序、距离计算子程序、显示子程序、延时子程序和报警子程序设计等。主程序流程图如图4-1所示。

上电开始 超声波测距 复位 是 L<=80cm 显示报警 无复位 否 数码管显示 断电结束

图4-1 主程序流程图

4.2控制程序流程设计

系统初始化后就启动定时器T1从0开始计数。此时主程序进入等待,当到达65ms时T1溢出进入T1中断服务子程序;在T1中断服务子程序中将启动一次新的超声波发射,此时将在P1.0引脚上开始产生40KHZ的方波,同时开启定时器T0计时,为了避免折射波的绕射需要延时1ms后再开INT0中断允许;INT0中断允许

19

打开后若此时p3.2(INT0)引脚出现低电平则代表收到回波信号。将提出中断请求进入INT0中断服务子程序,在INT0中断服务子程序中将停止定时器T0计时,读取定时器T0时间值到相应的存储区,同时设置接收成功标志;主程序一旦检测到接收成功标志,将调用温测子程序,采集超声波测距时的环境温度,并换算出准确的声速,存储到RAM存储单元中;单片机再调用距离计算子程序进行计算,计算出传感器到目标物体之间的距离;此后主程序调用显示子程序进行显示;若超过设定的最小报警距离还将启动扬声器报警。当一次发射、接受、显示的过程完成后系统将延迟100ms重新让T1置初值,再次启动T1以溢出,进入下一次测距。如果犹豫障碍物过远超出量程以致在T0溢出时尚未接收到回波则显示“ERROR”重新回到主程序流程进入新一轮测试。

20