课程设计论文基于PIC的汽车倒车雷达_第1页
课程设计论文基于PIC的汽车倒车雷达_第2页
课程设计论文基于PIC的汽车倒车雷达_第3页
课程设计论文基于PIC的汽车倒车雷达_第4页
课程设计论文基于PIC的汽车倒车雷达_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、0. 前言11. 课程设计的目的和要求12. 总体设计13. 硬件设计54. 软件设计95. 系统操作说明166. 结束语177. 参考文献17 0. 前言倒车障碍检测系统所采用的超声波传感器技术可以探测到附近的障碍物,为驾驶员提供倒车警告和辅助泊车功能,其原理是利用超声波探测倒车路径上或附近存在的任何障碍物,并及时发出警告。所设计的检测系统可以同时提供声光并茂的听觉和视觉警告,其警告表示是探测到了在盲区内障碍物的距离和方向。这样,在狭窄的地方不管是泊车还是开车,借助倒车障碍报警检测系统,驾驶员心理压力就会减少,并可以游刃有余地采取必要的动作。随着人们对汽车辅助驾驶系统智能化要求的提高和汽车电

2、子系统的网络化发展,新型的倒车雷达应能够连续测距并显示障碍物距离,并具有通信功能,能够把数据发送到汽车总线上去。本文介绍基于picf4520的倒车雷达。1. 课程设计的目的和要求1.1. 课程设计的目的单片机原理与课程设计的目的是综合训练利用单片机原理、c语言及电工电子技术等课程知识进行单片机应用系统设计的能力。根据设计题目的要求完成设计任务需求分析、系统方案总体设计及原理图绘制、程序流程图和代码编写等任务,设计一个能完成汽车倒车雷达任务的单片机系统。1.2. 课程设计的基本要求利用单片机的超声波传感器设计一个汽车倒车雷达,实时测量和显示汽车尾部与障碍物的距离,当距离值小于程序设定值时发出声光

3、报警,距离值可以通过串口传送到汽车总线上。2. 总体设计2.1、基本工作原理系统采用超声波测距原理。工作时,超声波发射器发出超声波脉冲,超声波接收器接收遇到障碍物反射回来的反射波,准确测量超声波从发射到遇到障碍物反射返回的时间,根据超声波的传播速度,可以计算出障碍物距离。超声波测距具有在近距离范围内有不受光线和雨雪雾的影响、结构简单、制作方便和成本低等优点。高性能的单片机结合超声波测距,可以实现功能强大、使用方便的倒车雷达。2.2、硬件总体设计2.2.1、系统组成方案ccpi/o端口uartpic单片机声光报警信号调理超声波发送器超声波接收器信号调理led显示器电平转换汽车总线图1 倒车雷达系

4、统框图2.2.2、扩展单元编址2.2.3、显示功能的定义使用一个i/o端口(port a或b或c或d)驱动led2.3、软件总体设计2.3.1、存储单元的分配、标志位的定义picf4520芯片:内部程序存储器32k,数据存储器(1536字节ram,256字节eprom),18个中断源,5个i/o端口(port a、b、c、d、e), 4个定时器,2个ccp模块。使用timer 0定时器产生40khz的脉冲波用于超声波发送模块,用timer 1定时器对超声波的发送和接收时间间隔进行计时,用timer 2定时器产生pwm脉冲波,使提示声音随着距离值的减小而频率增大;用timer 3定时器进行计数,

5、每100ms产生一次高优先级中断,发生中断后使timer 0定时器产生40khz的方波。使用一个i/o端口(port a或b或c或d)驱动led2.3.2、主程序框图及清单开始微控制器初始化发送脉冲等待回波接收脉冲读取时间计算距离距离<=1.0m红灯亮,绿灯灭,蜂鸣器响绿灯亮,红灯灭,蜂鸣器不响1.0<距离<10.0m距离>=10.0程序清单:void main (void)char selectpattern;char a;adcon1=ox7f;trisbbits.trisb4=0;/program rb4 as outputtrisbbits.trisb0=1;/

6、program rb0 as inputtriscbits.trisc0=0;/program rc0 as outputtriscbits.trisc1=0;/program rc1 as outputtriscbits.trisc2=0;/program rc2 as outputtriscbits.trisc6=0;/program rc6 as outputtriscbits.trisc7=1;/program rc7 as inputtrisd=0;/portd as outputtrise=0;/general purpose i/o mode,re0,re1,re2 as out

7、putt0con=0x48;/select internal clock and a prescaler of divide by 1rconbits.ipen=1;/ipen=1tmr1l=0;/preload timer 1 with 0xff00;tmr1h=0xff;t1con=0x04;/select internal clock seconds=minutes=0;/select clock at 00:00t2con=1;/select a prescaler of divide by 4ccp1con=0x0c;/ccp module off, active high outp

8、uttmr2=0;/clear timer 2pr2=124;/timer 2 clears on 124ccpr1l=62; t3con=0x70;/select a presacler of divide by 8tmr3l=0x2c;tmr3h=0xcf;ipr1bits.tmr1ip=0;/make timer 1 low prioritypie1bits.tmr1ie=1;/enable timer 1 interruptipr2bits.tmr3ip=1;/make timer 3 high prioritypie2bits.tmr3ie=1;/enable timer 3 int

9、erruptopenusart(usart_asynch_mode &/usart operates at 9600 baud usart_eight_bit & usart_brgh_high, 25);txstabits.txen=0;/transmit disabledtxstabits.trmt=1;/tsr emptyintcon2bits.intedg0=0;/make int0 negative edge-triggeredintconbits.int0ie=1;/enable int0intconbits.gieh=1;/enable high priority

10、 interruptsintconbits.giel=1;/enable low priority interruptst0conbits.tmron=1;/enable timer 0l=0;portcbits.rc0=0;/light green led portcbits.rc1=1;/turn off red led length=6.00;outwave();/ output pulse wavet3conbits.tmr3on=1;/enable timer 3while(1)clrwdt();/reset watchdogselectpattern=1;for(a=0;a<

11、3;a+)porte=selectpattern;/select a digitif(a=0)portd=look7(int)length|0x80;elseportd=look7(int)length;length-=(int)length;length*=10;selectpattern=(selectpattern<<1)|1;delay1ktcyx(3);/3ms delayif(txstabits.trmt=0)txstabits.txen=1;/transmit enabled超声波发射电路发出超声波的同时计数器开始计数,当遇到障碍物反馈信号到超声波接收器接收,经cx2

12、0106接收电路处理后,产生一个低脉冲,该信号传送给单片机产生中断,调用测距子程序,计算出测量距离,调用显示子程序,根据不同的测量数值在液晶上显示距离和报警。当1.0m<距离<10m,显示测量距离,继续测量;当距离小于1m时,显示测量距离,红灯亮、绿灯灭,并由rb0位驱动蜂鸣器报警。为增强抗干扰能力,系统每100ms发射一次超声波,每次发射的超声波包含10个波簇。这样每秒可测约10个数据,可以满足实时性要求。3.硬件设计系统以pic18f4520微控制器为核心,外围电路由超声波发射电路、超声波接收电路、声光报警电路、通信接口电路、液晶显示电路五部分组成,下面逐一介绍。图2 倒车雷达

13、系统主控电路图系统的主控电路图如图2所示。本系统中选用的pic18f4520片内有32kb闪存和1.5kb ram,因此无须外扩存储器。超声波发送模块电路如图3所示,由超声波产生和发射两部分组成。超声波的产生采用软件发生法,因为通过软件发生法既可以减少硬件的复杂程度,降低系统的成本,又具有灵活性强、容易实现、稳定性好的优点。本系统利用pic18f4520单片机的定时器功能来产生稳定的40khz脉冲波,并通过i/o端口rb4输出到超声波发射部分。在超声波发射电路中cd4049一共包括了6个非门,图3中线路仅使用了3个,为了防止干扰或被静电击穿导致整个cd4049损坏,把没有使用的那一侧的3个非门

14、串起来做接地处理。当控制端输出一系列固定频率脉冲时,在压电陶瓷型超声波发射换能器ucm-40-t上就固定频率的加正电压和反电压,发出大功率的超声波,所得到的波形比其他方式效果更理想。图3 倒车雷达超声波发送模块超声波接收电路如图4所示。压电陶瓷型超声波接收器 ucm-40-r 接收反射的超声波转换为40khz毫伏级的电压信号,需要经过放大、处理、才能用于触发单片机中断。一方面传感器输出信号微弱,由于反射条件不同,需要放大倍数的范围大约是1005000,另一方面传感器输出阻抗较大,需要高输入阻抗的多级放大电路,而高输入阻抗容易接收干扰信号。通常采用两种方案:一是采用运算放大器组成多级选频放大电路

15、;二是采用专用的集成前置放大器。第一种方案容易产生自激振荡,要使接收电路达到很好灵敏度和抗干扰效果,电路的调试是较困难的。本系统采用专用的集成电路前置放大器 cx20106,它由前置放大器、限幅放大器、带通滤波器、检波器、积分器、整型电路组成。其中前置放大器具有自动增益控制功能,可以保证在超声波传感器接收较远反射信号输出微弱电压时放大器有较高的增益,在近距离输入信号强时放大器不会过载。调节芯片引脚5的外接电阻r3,将它的滤波器的中心频率设置在40khz,达到了很好的效果。当接收到与滤波器中心频率相符的信号时,其输出引脚7输出一个低电平,而输出引脚7直接接到pic18f4520的上rb0/int

16、0上,以触发int0中断。图4 倒车雷达超声波接收模块集成电路cx20106是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38khz 与测距超声波频率40khz 较为接近,可以利用它作为超声波检测电路。实验证明,其具有很高的灵敏度和较强的抗干扰能力。取r3=200k时,f042khz,若取r3=220k,则中心频率f038khz。图5 声光报警模块报警模块采用简单的声光报警电路,如图5所示。发光二极管可以直接由pic单片机的i/o端口驱动,蜂鸣器通过一个npn三极管来驱动。先设定一个临界值,当车尾与障碍物的距离小于设定的最小距离时,红色指示灯闪亮,绿色

17、指示灯熄灭。单片机向其端口发出pwm脉冲,随着距离的减小,通过控制pwm脉冲的占空比和周期使蜂鸣的频率加剧,以此来提示驾驶员。图6通信接口模块通信接口电路如图6所示。采用美信的max3232芯片,外围电路非常简单,只需要5个0.1f的电容器。该电路把单片机串口输出信号隔离变换成 rs-232信号发送到汽车总线上。图中rs232插座来和汽车的串口相连,tx和rx信号用来和pic单片机的管脚相连。图7 led显示器距离值的显示采用3位led,pic单片机的i/o端口可以直接驱动led,进行动态显示,原理图如图7所示。led数码管采用共阴极数码管,段码由rd0-rd7控制,位码由re0、re1、re

18、2控制,三极管q2、q3、q4增加驱动能力。当re0为高,re1、re2为低电平时,rd0-rd7上高电平的管脚便会点亮数码管的相应段,这些段的不同组合便会显示出0-9十个数字,三个数码管轮流显示,当显示频率大于25hz时,人眼的感觉就是连续显示。4、软件设计介绍本系统的主要子程序、中断服务程序的框图及程序清单(1) 子程序1:void outwave (void)程序功能:通过定时器timer 0产生40khz方波程序框图如下:i = 0tmr0l=0tmr0l<=12?i<10?tmr0l<25?portbbits.rb4=1l=0?t1conbits.tmr1on=1l

19、=1;portbbits.rb4=0结束开始i=i+1/function to generate the pulse wavevoid outwave (void)int i;for(i=0;i<10;i+)/ generate 10 wavestmr0l=0;doif(tmr0l<=12)portbbits.rb4=1;if(l=0)t1conbits.tmr1on=1;/enable timer 1l=1;elseportbbits.rb4=0;while(tmr0l<25)(2) 子程序2:void dotime (void)程序功能:通过定时器timer 1进行计数程

20、序框图如下:开始seconds=0;minutes=minutes+1;tmr1h=0xff;pir1bits.tmr1if=0;seconds= seconds+1;timer 1溢出中断发生?minutes=60?seconds=60?结束minutes=0;程序清单:void dotime (void)tmr1h=0xff;pir1bits.tmr1if=0;/clear timer 1 interruptseconds+;/increment secondsif(seconds=60)/if seconds hits 60seconds=0;/clear seconds back to

21、 zerominutes+;/increment minutesif(minutes=60)/if minutes hits 60minutes=0;/clear minutes(3) 子程序3:void int0(void)程序功能:计算距离值并用led显示,当距离值小于1.0m时进行声光报警开始清int0中断,计算length值length<10.0?length<=1.0?portcbits.rc0=1;portcbits.rc1=0;t2conbits.tmr2on=1;0.9<length<=1.0pr2=124; ccpr1l=620.8<length

22、<=0.90.7<length<=0.80.6<length<=0.70.5<length<=0.60.4<length<=0.5pr2=35; ccpr1l=20;pr2=45; ccpr1l=25;pr2=55; ccpr1l=30;pr2=70; ccpr1l=35;pr2=90; ccpr1l=45;pr2=110; ccpr1l=55rc0=0; rc1=1;t2conbits.tmr2on=0;seconds=minutes=0; t1conbits.tmr1on=0; tmr1h=0xff; tmr1l=0; l=0;结束程序

23、清单:void int0(void)char a;intconbits.int0if=0;length=(60*minutes+seconds)*0.5*256*340*1.0e-6;txreg=length;/send datatxstabits.trmt=0;/tsr fullif(length<10.0)if(length<=1.0)portcbits.rc0=1;/turn off green led portcbits.rc1=0;/light red led t2conbits.tmr2on=1;/start timer 2 & pwmif(lengh<=

24、1.0 && length>0.9)pr2=124;/timer 2 clears on 124ccpr1l=62;else if(length<=0.9 && length>0.8)pr2=110;ccpr1l=55; else if(length<=0.8 && length>0.7)pr2=90;ccpr1l=45;else if(length<=0.7 && length>0.6)pr2=70;ccpr1l=35;else if(length<=0.6 &&

25、length>0.5)pr2=55;ccpr1l=30;else if(length<=0.5 && length>0.4)pr2=45;ccpr1l=25;elsepr2=35;ccpr1l=20;elseportcbits.rc0=0;/light green led portcbits.rc1=1;/turn off red led t2conbits.tmr2on=0;/stop timer 2 & pwmseconds=minutes=0;/clear recordst1conbits.tmr1on=0;/disable timer 1tmr

26、1h=0xff;tmr1l=0;l=0;(4) 中断程序1:void myhighint (void)程序功能:高优先级中断。当超声波接收传感器接收到脉冲波时产生int0高优先级中断;当timer 3 定时器溢出时产生次高优先级中断。程序框图如下:开始 调用int0()函数int0中断发生?timer 3 溢出中断发生?tmr3l=0x2c;tmr3h=0xcf;pir2bits.tmr3if=0;outwave();结束程序清单:void myhighint (void)if(intconbits.int0if=1)int0();else if(pir2bits.tmr3if=1)/output a wave every 100mstmr3l=0x2c;tmr3h=0xcf;pir2bits.tmr3if=0;outwave();(5) 中断程序2:voi

温馨提示

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

评论

0/150

提交评论