DS18B20采用单总线方式和AT89C51单片机相连,即DS18B20的1脚接地,3脚接地,2脚接至AT89C51的P11引脚,同时将P11引脚采用一只4.7 kΩ的电阻上拉至VCC。测得的温度值以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节,单片机通过单总线接口读到该数据后,即可通过计算得到实时环境温度值。
2.5 LCD显示电路
本系统显示电路采用金鹏电子的OCMJ12232C_3液晶显示模块,此液晶模块内含字库,能非常方便地显示汉字。OCMJ12232C_3液晶和单片机AT89C51的接口电路如图3所示,其中OCMJ12232C_3液晶的15脚接地,即采用串口通信方式。显示内容包括倒车距离和车外温度两部分,分两行显示:第一行显示倒车距离,第二行显示车外温度。倒车距离以cm为单位,精确到0.1 cm;温度以℃为单位,精确到O.1℃。
2.6 语音报警电路
本系统的语音报警电路采用ISD4004语音芯片。ISD4004与单片机接口电路如图3所示。从图中可以看出,ISD4004和单片机AT89C51之间的连接较少。单片机的P00接ISD4004的片选引脚SS,控制ISD4004是否选通;P0l接ISD4004的串行输入引脚MOSI,从该引脚读入放音的地址;P02接ISD4004的串行输出引脚MISO;P03接ISD4004的串行时钟引脚SLCK;P04接拨动开关,用于选择录音或者放音;P05接STOP按钮,用来对ISD4004进行复位;P06接AN按钮,按下时ISD4004开始工作;P33(INT1)接ISD4004的中断引脚INT。ISD4004芯片所需要的连接还有音频信号输出引脚AUD OUT,该引脚通过一个滤波电容,经功率放大电路LM386后与扬声器连接;MIC接入ISD4004:的录音信号输入端(ANA IN-、ANA IN+);AMCAP为自动静音端,使用时通过一电容接地。此外,由于ISD4004的工作电压为3 V,而单片机所需供电电压为5 V,因此需要采用LM317变压电路得到3 V电压供ISD4004使用。
当倒车距离大于3 m时,语音提示为“倒车安全”;当倒车距离在2~3 m之间时,语音提示为“倒车”;当倒车距离在1~2 m之间时,语音提示为“倒车小心”;当倒车距离在0.5~1 m之间时,语音提示为“倒车危险”;当倒车距离小于0.5 m时,语音提示为“非常危险,紧急停车”。
3 软件设计部分
软件设计采用模块化设计,由主程序、测温及声速修正子程序、T0中断子程序、距离计算子程序、LCD显示子程序和语音报警子程序等模块组成。主程序流程图如图4所示。
程序初始化后,先调用测温及声速修正子程序对声速进行修正。当进行超声波测距时,单片机发出一个宽为125μs的脉冲信号,此脉冲信号控制超声波集成电路LM1812发射5个40 kHz的超声波脉冲串。T0定时器定时30 ms,即每隔30 ms发射5个40 kHz的超声波脉冲串。发射脉冲串的同时单片机的T0计数器开始计数,一旦接收到回波信号立刻停止计数。利用距离计算子程序对测得的时间和修正后的声速进行数据处理后,将结果送入LCD显示和进行语音报警。
4 实验结果
通过对平面物体做了多次测量发现,30~500 cm范围内可实现准确测距,能满足司机的倒车要求。测距结果如表1所示。
5 结 语
本文设计的倒车雷达系统采用AT89C51作为主控芯片,可以实现实时的超声波测距,并将所测距离在LCD上显示出来,同时通过语音报警电路对不同距离段进行不同的语音提示,实验验证了本系统的可行性及可靠性。该系统具有集成度高、测量范围广、成本低和使用方便等特点,能满足司机在倒车中的需要,可得到广泛的应用。