超声波测距应用_第1页
超声波测距应用_第2页
超声波测距应用_第3页
超声波测距应用_第4页
超声波测距应用_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、糊*鉞近廉举技件屠I5LHUNANRAILWAYPROFESSIONALTECHNOLOGYCOLLEGEIi一腾飞科技文化项目课题报告表课题名称基于单片机的倒车雷达系统设计课题类别_单片机类负责人默念(614)学号_2指导老师陈老师所在学校湖南铁道职业技术学院联系电话结题日期2012、10、12单片机的倒车雷达系统设计*湖南铁道职业技术学院自动化专业*指导教师陈新喜摘要:单片机的岀现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的使用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本设计是基于单片机的倒车雷达系统设计,该系统由超声波传感器、控制器和显示器等部分

2、组成。能以直观的显示告知驾驶员周围障碍物的情况,提高驾驶的安全性。关键词:倒车雷达系统单片机提高驾驶安全和乐趣一、弓丨言倒车雷达,是汽车泊车或者倒车时的安全辅助装置,由超声波传感器、控制器和显示器等部分组成。能以声音或直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员泊车、倒车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊的缺陷,提高驾驶的安全性。二、总体设计根据功能和指标要求,本系统选用STC89C52单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:2.1由于设计的是倒车雷达,需要用超声波测距模块做为传感器,用单片机来控制,数码管来显

3、示。考虑到精度问题,选用三位数码管。2.2本设计制作的只是一个模型,故在实际使用中可能有些不足,比如本设计中测距精度1mm,量程999mm即只有将近4米的距离,显然在实际使用中不能只有这么远,但只需将超声波测距模块更换为功率稍大的型号就可以了。2.3执行过程:开机即显示车后保险杠和障碍物距离,若距离大于量程则数码管显示为000,若在量程之内则实时显示距离。2.4预警功能:若距离过小比如200mn则红灯亮,警示障碍物和车后部距离过小,不可再倒车,否则会有安全事故。2.5系统模块图:3.1单片机型号的选择:单片机选择的是STC89C52单片机,它是一种低功效、高性能CMOS位微控制器,具有8K在系

4、统可编程Flash存储器。在单芯片上拥有灵巧的8位CPU和在线系统可编程Flash,具有以下标准功能:8K字节Flash,256字节RAM32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM定时器/计数器串口、中断继续工作。掉电保护方式下RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器。如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你

5、的硬件电路。STC89C52有40个引脚,32个外部双向输入/输岀(I/O)端口,同时内含2个外中端口,2个16位可编程定时计数器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。Vcc:供电电压。GND接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在Flash编程时,P0口作为原码输入口,当Flash进行校验时,P0

6、输岀原码,此时P0外部必须被拉高。(4)P1口:P1T2T2/P1.01EX/PL1IP1.21Pt.314TTL门电流。P1口管脚写入|Ji将输出电流,这是由于内部上拉的缘故,MIS0/P1.6I(5)P2口:P2-!门电流,当P2口被写“”时,其管脚4空-.f-J-(部门勺1P2口的管脚被外部拉低,将输岀电流。这或165INTT/P3.3匚用内部上拉优势,当对外部八位地址数据存T/P35匸m/P3.6匚RD/P3.7C它们被内部上拉为XTAL1匚GMD匚容。P2口在Flash(6)P3口:P3当P3口写入“1”后,平,P3口将输岀电流(2311一O/adG1/AD12/AD2”3/A03口

7、被外部下拉为低电平时,.4ZAD4作为第八位地址接收。5/AD56/AD口缓冲器可接收,输岀4TTL口缓冲器能接收输出口当用于外部程序存储器的高八位。在给岀地址“1”时,它利P27/A15p2砒阳输岀其特殊功能寄存器的内P2.5/A132p24/AI2口,可接收输岀4个TTL门电流。作为输入,由于外部下拉为低电P2.1/A9P2.0/A8P3口也可作为P3口功能引脚简介P3口引脚第二功能P3.0RXD(串行口输入)P3.1TXD(串行口输岀)P3.2INTO(外部中断0输入)P3.3INT1(外部中断1输入)P3.4TO(定时器0外部脉冲输入)P3.5T1(定时器1外部脉冲输入)P3.6WR(

8、外部数据存储器写脉冲输岀)P3.7RD(外部数据存储器读脉冲输岀)(7)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。(8)ALE/RPOG当访问外部存储器时,地址锁存允许的输岀电平由于锁存地址的地位字节。在Flash编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输岀正脉冲信号,此频率为振荡器频率的1/6.因此它可用作对外部输岀的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳岀一个ALE脉冲。如想禁止ALE的输岀可在SFR8EH地址上置0.此时,ALE只有在执行MOVXMOVC旨令时ALE才起作用。另外该引脚被略微拉高。如

9、果微处理器在外部执行状态ALE禁止,置位无效。(9)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(OOOOH-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET当/EA端保持高电平时,此间内部程序存储器。在Flash编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡器的输岀。3.2超声波模块插座电路图VCCP2345be3906Header5GND5Pin接口为2.54m间距的弯排

10、针,如图4.2所示:图4.2:5Pin接口从左到右依次编号1t2.3,4,5o它们的定义如1号Pim接VCC电源(供电范围2.4V5.5V)“2号Pin:当为UART模式时.接外部电路UART的TX端;当为电平触发模式时,接外部电路的门辽端。3号Pin:当为UART模式时,接外部电路UART的RX端$当为电平触发模式时*接外部电路的Echo端.4号Fim接外部电路的地。5号Pim接外部电路的地舟3.3报警电路vcc|Igk丿Q1k2N390I5LSISpeakerGND报警器电源接口及电源指示灯3.4复位电路复位电路采用了单片机的复位端,采用按钮电平复位电路,这样设计可以简化软件的量,程序更加

11、简洁化。3.5总电路图R1%1SW-PBledLEDOC-pR3Eh52|Y1lULlpFTXTALC3CaplOOpFLSIVCC|IVCCP,trpk|21rk4012345678910111213141516mailer16GNDRes2IK4.2软件设计源代码#include#defineucharunsignedchar#defineuintunsignedintvoidsend_byte(unsignedchar);voidtime_init();voidDisplayLength(unsignedlong);voiddelay(uchar);voidwrite_dat(uchar

12、);voidwrite_com(uchar);voidinit()sbitSPK=P29;/sbitled0=P1A0;sbitledl=P1A1;sbitRS=P2A1;sbitRW=P2A2;sbitEN=P2A3;ucharfrq;uchardispbuf4=;ucharidatarevbuf2;/定义喇叭端口接收指示灯发送指示灯/显示缓冲区收缓接冲区unsignedlongLength=0;uchartable=0000;ucharnum=0123456789;voidrev_data(void)interrupt4/数据接受uchartemp,k;ES=0;/关中断if(RI)RI=

13、0;/清接收标志temp=SBUF;revbufk=temp;k+;if(k=2)/k=数据长度k=0;led0=led0;ES=1;/开中voidsend_byte(unsignedchardat)/向串口发送一个字符TI=0;/清发送标志SBUF=dat;/如果TI为0等待led1=0;while(!TI);/waituntilsentled1=1;voidtime_init()TH1=0 xFD;TL1=0 xFD;/设置T1波特率9600TMOD=0 x21;/设置定时器1为模式2;定时器0为模式1TH0=(65536-2500)/256;/约2.50MS定时器初值TL0=(65536

14、-2500)%256;/约2.50MS定时器初值ET0=TR0TR1SM0SM1RENES=EA=1;/T0允许位1;/启动定时器1;/启动定时器=0;/串口通信模式设置方式一=1;=1;/串口允许接收数据1;/开串中断1;/开总中断voidtimer0()interrupt1/定时器0中断是1号定时器0中断,用做显示TH0=(65536-2500)%256;/约2.50MS定时器初值TL0=(65536-2500)%256;/约2.50MS定时器初值send_byte(0 x55);delay(250);Length=revbuf0*256+revbuf1;DisplayLength(Len

15、gth);voidDisplayLength(unsignedlongnumber)if(number4500)SPK=1;dispbuf0=-;/dispbuf1=-;/dispbuf2=-;/dispbuf3=-;/if(number4500)SPK=1;dispbuf0=-;/dispbuf1=-;/dispbuf2=-;/dispbuf3=-;/if(numbernumber)SPK=!SPK;voiddelay(uchart)while(t-);voidwrite_com(ucharcom)RS=0;RW=0;delay(1);P0=com;delay(1);EN=1;delay(1

16、);EN=0;RS=1;voidinit()EN=0;write_com(0 x38);/设置显示位数delay(1);write_com(0 x0c);/设置光标开关delay(1);write_com(0 x06);/写一个加一delay(1);write_com(0 x01);voidwrite_dat(uchardat)RS=1;RW=0;delay(1);P0=dat;delay(1);EN=1;delay(1);EN=0;RS=0;voidmain()uchari,j;init();time_init();write_com(0 x80);delay(200);for(i=0;i16;i+)write_dat(tablei);delay(200);while(1)write_com(0 x86);for(j=0;j4;j+)write_dat(dispbufj);delay(50);if(j=4)j=0;【感想和体会】我们的题目是倒车雷达系统设计,对于我们这些实践中的新手来说,这是一次考验。这次课程设计我们学到很多很多的东西,学会

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论