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

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

开始初始化启动模块开定时器定时器溢出?Y显示超范围NNECHO检测到低电平?Y关定时器计算距离显示距离播报距离Y距离是否大于警戒距离?N语音危险报警

图4.1 系统程序框图

20

4.2.2 按键设置程序设计

按键设置采用外部中断的方式,由于扫描方式对语音播报有影响,扫描中的延时会让语音播报的更新速度大大减小。外部中断0和外部中断1的请求触发方式均使用脉冲触发。当在一个机器周期中检测到P3.3引脚为高电平,下一个周期检测到低电平时,触发了外部中断1,引脚P3.3向CPU申请中断,警戒距离减一位。当在一个机器周期中检测到P3.2引脚为高电平,下一个周期检测到低电平时,触发了外部中断0,引脚P3.2向CPU申请中断,警戒距离加一位。按键设置的外部中断0/1程序框图分别如图4.2和图4.3所示。

开始开始语音是否播报中?否警戒距离值加1语音是否播报中?否警戒距离值减1警戒距离值等于101?是是否警戒距离值等于0读取警戒距离值给液晶显示否警戒距离值小于0?是是警戒距离值等于100读取警戒距离值给液晶显示返回返回

图4.2 外部中断0程序框图 图4.3 外部中断1程序框图

4.2.3 语音播报程序设计

语音芯片根据单片机输出控制播放语音,语音段落都是提前录好的,程序中只要实现语音的播放就可以了。如图4.4 则为语音播报模块程序框图。

21

开始初始化MCU发出指令播放相应语音内容

图4.4 语音播报程序框图

4.2.4 测距程序设计

测距程序包括超声波发送程序、超声波回波探测程序、读取计数值程序以及数据处理程序。计数、读取计数值和数据处理是由单片机完成的。测距过程首先由单片机给超声波模块的TRIG至少10us的高电平,模块自动发送8个40khz 的方波,自动检测是否有信号返回,当有信号返回,ECHO 输出一个高电平,单片机开启定时器,当ECHO从高电平变为低电平时,关闭定时器。本设计使用的晶振频率为11.05926MHZ,则定时的时间为N*(1/11.05926)*12,测得的距离为N*(1/11.05926)*12/2*10-6*344/100。如果当定时器溢出,ECHO还没有变为低电平,定时器T0 溢出中断,表明此次测距不成功,返回主程序重新初始化各项参数,重新测量,如图4.5。

22

开始初始化给TRIG10us高电平启动模块否ECHO检测到高电平?是是开定时器定时器溢出?否ECHO检测到低电平?是关定时器S=time*1.87/100返回

图4.5 测距程序框图

23