单片机的小车防撞系统的设计方案.pdf

上传人:tbuqq 文档编号:4666449 上传时间:2019-11-24 格式:PDF 页数:23 大小:1.14MB
返回 下载 相关 举报
单片机的小车防撞系统的设计方案.pdf_第1页
第1页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机的小车防撞系统的设计方案.pdf》由会员分享,可在线阅读,更多相关《单片机的小车防撞系统的设计方案.pdf(23页珍藏版)》请在三一文库上搜索。

1、泉 州 师 范 学 院 毕业论文 的可反复擦写1000 次的 Flash 只读程序存储器,器件采用ATMEL 公司 的高密度、 非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8 位中 央处理器和ISP Flash存储单元 ,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系 统提供高性价比的解决方案。 AT89S51 具有如下特点:40 个引脚, 4k Bytes Flash片内程序存储器,128 bytes的随机存 取数据存储器 全静态工作:0Hz-33MHz 三级程序存储器保密锁定 128*8 位内部 RAM 32 条可编程I/O 线 两

2、个 16 位 定时器 / 计数器 6 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 . 2.3 超声波简介 超声波具有方向性好、在介质中能量消耗缓慢且速度远小于光速等特点,因而可用于距离测 定。超声波测量的思想是从超声波发射到接收到反射回波的时间间隔来计算距离。超声波传感器 是实现声电转换的装置,又称为超声波换能器或者超声波探头。它是在超声频率的范围内将交变 的电信号转变成声信号的能量转换器件。考虑到实际情况,利用超声波测距时,选用频率为40KHz 的超声波。采用异地反射式来测距,即所测距离是声波传输距离的一半。测量发射和接收回波的 时间差 T,在声速 V已知的情况下

3、求出距离S 10 。距离的计算公式如下: S=(V*T/2 2.4 基于 CX20186A 超声波测距的调试 CX20186A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥 控常用的载波频率38KHz与测距的超声波频率40KHz较为接近,所以把它用于超声波检测接收电 路。实验证明用CX20186A接收超声波,具有很高的灵敏度和较强的抗干扰能力。当超声波接收头 接收到 40KHz 方波信号时,将会将此信号通过CX20186A 驱动放大送入单片机的外部中断0 口。 单片机在得到外部中断0 的中断请求后,会转入外部中断0 的中断服务程序进行处理,在移动机 器人的避障工作中,

4、可以在中断服务程序设定需要单片机处理的最短距离,比如0.5m。对于距离 大于 0.5 m 的障碍物,可以不做处理直接跳出中断服务程序 11 。 3系统软件部分设计 3.1 超声波系统主流程图 6 / 23 图 2 主程序流程图 图3 按键中断处理流程图 3.2 超声波硬件设计与软件编程 综合考虑,控制模块采用单片机AT89S51控制;发射模块采用反向器74LS04;接收模块采用C 7 / 23 X20186A ;显示模块采用液晶显示器LED显示;报警模块采用蜂鸣器。 其系统框图如图4所示。 图 4超声波系统框图 3.2.1 复位电路 单片机外围需要一个复位电路,复位电路的功能是:系统上电时提供

5、复位信号,直至系统电 源稳定后,撤消复位信号。该设计采用含有电阻的复位电路,复位电路可以有效的解决电源毛刺 和电源缓慢下降/ 2(V为声速, T0为声波来回传输的时间。然后再用超声波脉冲重复测量。 41.8 49.8 70.6 80 98.8 124.7 144 169.4 196.7 222.6 测量值 (cm 42 50 71 80 100 125 144 170 197 223 实际值 (cm 250.6 278.5 299.6 329.7 339.9 349.8 359.6 387.5 402.3 425.5 测量值 (cm 251 279 300 330 340 350 360 38

6、8 403 426 表 1 实际测试数据记录 11 / 23 5设计总结 为了验证系统的测量精度,在实验室进行了实地测量。利用本系统在42426cm范围进行多次 测量。经测量最大误差在1cm范围内,稳定性和重复行都比较好。系统结构简单、体积小、实时L ED显示和报警、抗干扰能力好等优点。系统的误差主要来自发射探头的轴线而导致所反射回来的 波可能是从不同点获得,还有电子器件自身的时延、干扰等也造成一定影响。可以根据具体场合 ,选择合适功率的探头,以及调整程序中脉冲的频率、宽度和个数等提高精度或测量距离,扩大 系统的应用范围。 致谢 在本次毕业设计中, 得到了我的指导教师朱老师的大力支持,在电路功

7、能的实现中提出了许多相当宝贵的意见,毕业 论文中也给予了悉心的指导,使我的毕业设计得以顺利完成,对此我表示衷心的感谢,同时也感 谢陈泉勇、杨朝阳同学在毕业设计当中给我的帮助。 参考文献 1 李光飞 .单片机课程设计实例指导.北京航空航天大学出版社.北京 :2003年 6月 2 李朝青 .单片机原理及接口技术.北京航空航天大学出版社北京:1998 年 3 李永鉴 .简易超声波测距仪的制作.五邑大学信息学院.广东江门 :2006 年 4 姜道连 .用AT89C51设计超声波测距仪.天津理工学院光电信息与电子工程系.天津 :2000 年12月 5 龚运新 单片机 C语言开发技术清华大学出版社 200

8、6年10月 6 段晨东 单片机原理及接口技术清华大学出版社 2008年8月 7 戴佳 51单片机 C语言应用程序设计实例精讲第二版电子工业出版社 2009年11月 8 朱月秀 .单片机原理与应用北京:高等教育出版社 2001.12 3 10 陈莹 .基于单片机的超声波测距系统.华中科技大学硕士学位论文2004.4 11 邱平 .略论我国非金属超声波检测仪器的发展状况.工程质量 1998.1 12 超声波探伤编写组编著.超声波探伤 .北京:电力工业出版社,1980年 13 李鸣华,余水宝.单片机在超声波料位测量中的应用.电子技术应用,1998年 12 / 23 Based on SCM car

9、anti-collision system design The College of Physics and Information Engineering 07 class electronics information science and technology 070303049ganjingchang Faculty adviser Zhu Chengquan lecturer 【Abstract】This paper introduces the properties and the characteristics of AT89S51, designs a impact-pro

10、of alarm with low cost, high precision, miniaturization, digital display taking it as the core . The impact- proof alarm takes SCM s real-time control and data processing functions combine with the Ultrasonic ranging technology,the sensor technologies.It is able to detecte the distance of rear obsta

11、cle and the automobile, through digital display device shows by sound circuit distance, and according to the distance situation warned. It has the vital significance to prevent automobile reverse accident. 【 keywords 】 Microcontroller 。 Ultrasonic 。 Impact-proof 。 Alarm 13 / 23 附录 1 电路原理图 附录 2PCB 图

12、14 / 23 附录 3 程序 #include sbit k1=P34 。 sbit csbout=P10。 /超声波发送 sbit csbint=P32。 /超声波接收 sbit bg=P33 。 #define LED P0 sbit LED1=P24 。 /LED 控制 sbit LED2=P25 。 /LED 控制 sbit LED3=P26 。 /LED 控制 sbit bj=P20。/ 报警 #define csbc 0.0347 unsigned char cl,mqzd,csbs,csbds,buffer3,xm1,xm2,xm0,jpjs unsigned char con

13、vert10=0x18,0x7b,0x2c,0x29,0x4b,0x89,0x88,0x3b,0x08,0x09。 unsigned int s,t,i,xx,j,sj1,sj2,sj3,mqs,sx1。 void csbcj(。 void delay(j。 /延时函 数 void scanLED( 。 /显示函 数 void timeToBuffer(。 /显示转换函数 void keyscan(。 void k1cl(。 void k2cl(。 void k3cl(。 void k4cl(。 void offmsd(。 15 / 23 void main( /主函数 EA=1。 /开中断

14、TMOD=0x11 /设定时器 0 为计数,设定时器1 定时 ET0=1。 /定时器 0 中断允许 ET1=1。 /定时器 1 中断允许 TH0=0x00。 TL0=0x00。 TH1=0x9E。 TL1=0x57。 csbds=0。 csbout=1。 cl=0。 csbs=8。 jpjs=0。 sj1=50。/测试报警距离 sj2=200。 sj3=580。 k4cl(。 TR1=1。 while(1 keyscan(。 if(jpjs csbcj(。 /调用超声波测距程序 if(ssj3 /大于时显示“ CCC ” buffer2=0xC6。 16 / 23 buffer1=0xC6。

15、buffer0=0xC6。 else if(s /小于时显示“- - - ” buffer2=0xBF。 buffer1=0xBF。 buffer0=0xBF。 else timeToBuffer(。 else timeToBuffer(。 /将值转换成 LED段码 offmsd(。 scanLED(。 /显示函数 if(s bg=0。 bg=1。 void scanLED( /显示功能模块 LED=buffer0。 LED3=0。 delay(200。 LED3=1。 LED=buffer1。 LED2=0。 17 / 23 delay(200。 LED2=1。 LED=buffer2。 L

16、ED1=0。 delay(200。 LED1=1。 void timeToBuffer( /转换段码功能模块 xm0=s/100。 xm1=(s-100*xm0/10。 xm2=s-100*xm0-10*xm1。 buffer2=convertxm2。 buffer1=convertxm1。 buffer0=convertxm0。 void delay(i while(-i。 void timer1int (void interrupt 3 using 2 TH1=0x9E。 TL1=0x57。 csbds+。 if(csbds=40 18 / 23 csbds=0。 cl=1。 void c

17、sbcj( if(cl=1 TR1=0。 TH0=0x00。 TL0=0x00。 i=csbs。 while(i csbout=!csbout。 TR0=1。 while(i i=0。 while(csbint i+。 if(i=4000 /上限值 csbint=0。 TR0=0。 19 / 23 TH1=0x9E。 TL1=0x57。 t=TH0。 t=t*256+TL0。 t=t-29。 s=t*csbc/2。 TR1=1。 cl=0。 csbint=1。 / if(sbj=0。 if(s80bj=1。 / if(s if(csbs6 csbs=csbs-2。 sj1=40。 sj1=sj

18、1+2。 k4cl(。 else if(s=sj3 if(csbs csbs=csbs+2。 sj1=sj1+10。 k4cl(。 20 / 23 void keyscan( /健盘处理函数 xx=0。 if(k1!=1 / 判断开关是否按下 delay(100 /延时去抖动 if(k1!=1 / 判断开关是否按下 while(!k1 delay(25。 xx+。 if(xx1000 jpjs+。 if(jpjs3 k4cl(。 jpjs=0。 xx=0。 switch(jpjs 21 / 23 case 1: k1cl(。break 。 case 2: k2cl(。break 。 case 3: k3cl(。break 。 void k1cl( sj1=sj1+1。 if(sj1100 sj1=50。 s=sj1。 void k2cl( sj2=sj2+5。 if(sj2500 sj2=40。 s=sj2。 void k3cl( sj3=sj3+10。 if(sj3600 sj3=600。 s=sj3。 22 / 23 Void offmsd( /百位为 0 判断模块 if (buffer0 = 0xC0 buffer0 = 0xFF。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1