基于单片机的汽车防撞报警系统设计 - 图文 联系客服

发布时间 : 星期一 文章基于单片机的汽车防撞报警系统设计 - 图文更新完毕开始阅读

致 谢

本论文是在我的指导老师李艳辉老师的亲切关怀与细心指导下完成的。从课题的选择到论文的最终完成,李老师始终都给予了细心的指导和不懈的支持。在他的身上,我们可以感受到一个学者的严谨和务实,这些都让我们获益菲浅,并且将终生受用无穷。毕竟“经师易得,人师难求”,希望借此机会向李老师表示最衷心的感谢!

此外,本文最终得以顺利完成,也是电气信息工程学院其他老师的帮助分不开的,虽然他们没有直接参与我的论文指导,但在开题时也给我提供了不少的意见,提出了一系列可行性的建议,在此向他们表示深深的感谢!

最后要感谢的是我的父母,在未来的日子里,我会更加努力的学习和工作,不辜负父母对我的殷殷期望!我一定会好好孝敬和报答他们!

25

参考文献

[1] 翟金辉.超声波测距系统的设计[M].中国仪器仪表.2007(8):44-45. [2] 袁佑新,吴妍,刘苏敏.可视汽车倒车雷达预警系统设计[M].微计算机信

息.2007(23):268-270.

[3] 宋永乐.高精度超声波测距系统设计[M].现在电子技术.2008,31(15):137-139. [4] 吴斌方.超声波传感器的研究[J].湖北理工学院学报,2006(6):26-28. [5] 高吉祥.电子技术基础实验与课程设计[M].北京:电子工业出版社,2002:

283-288.

[6] 孙肖子.张企民.模拟电子技术基础.1版.西安,西安电子科技大学出版社,2001:

33-39.

[7] 余孟尝.数字电子技术基础简明教程[R],北京,高等教育出版社,1999:196-201. [8] 张永瑞,1版,西安,西安电子科技大学出版社,1994:107-110.

[9] 谭浩强,张基温.C语言程序设计教程[M].3版.北京,高等教育出版社,2006:

85-88.

[10] 陈明荧.8051单片机课程设计实训教材.清华大学出版社,2004:25-36. [11] 罗亚非.单片机应用基础.北京,北航出版社,2003.

[12] 贾好来. MCS—51单片机原理及应用.机械工业出版社,2007. [13] 阎石.数字电路技术基础.北京,高等教育出版社,1998. [14] 童诗白,华成英.电子技术基础.北京,高等教育出版社,2001. [15] 楼然苗.李光飞.单片机课程设计指导,2007. [16] 谭浩强.C语言程序设计.清华出版社,2009.

[17] 侯媛彬.凌阳单片机原理及毕业设计精选.科学出版社,2005. [18] 耿文静.钱珊珠.单片机原理与接口技术.国防工业出版社,2007. [19] 徐江海.单片机实用教程。机械工业出版社,2007. [20] 龚运新.单片机C语言开发技术.清华大学出版社,2006. [21] 刘秀英.单片机应用设计200例.北京航空航天大学出版社,2006.

[22] Bickford,J.H.,An Introduction to the Design and Behavior of Bolted JOINTS, 2nd

ed, Marcel Dekker, New York, 1990.

[23] Koshti, A.M. Proceedings of SPIE in Sleeve Bolts Using an Ultra-sonic Technique,

Materials Evaluation, 54(2), 308-313(1996).

26

附 录

程序:

//51单片机制作的超声波测距,原程序 //测距范围是50~400CM,精度是1CM。 //原程序如下:

#include sbit k1=P3^4;

sbit csbout=P1^0; //超声波发送 sbit csbint=P3^2; //超声波接收 sbit bg=P3^3; #define LED P0

sbit LED1=P2^4; //LED控制 sbit LED2=P2^5; //LED控制 sbit LED3=P2^6; //LED控制 sbit bj=P2^0;//报警

#define csbc 0.0347

unsigned char cl,mqzd,csbs,csbds,buffer[3],xm1,xm2,xm0,jpjs;//显示标识

unsigned char convert[10]={0x18,0x7b,0x2c,0x29,0x4b,0x89,0x88,0x3b,0x08,0x09};//0~9段码 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();

void main() //主函数 {

EA=1; //开中断

TMOD=0x11; //设定时器0为计数,设定时器1定时

ET0=1; //定时器0中断允许 ET1=1; //定时器1中断允许 TH0=0x00; TL0=0x00; TH1=0x9E;

27

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<1)

{

csbcj(); //调用超声波测距程序 if(s>sj3) //大于时显示“CCC” {

buffer[2]=0xC6; buffer[1]=0xC6; buffer[0]=0xC6; }

else if(s

buffer[2]=0xBF; buffer[1]=0xBF; buffer[0]=0xBF; }

else timeToBuffer(); }

else timeToBuffer(); //将值转换成LED段码 offmsd();

scanLED(); //显示函数 if(s

}

void scanLED() //显示功能模块 {

LED=buffer[0]; LED3=0; delay(200); LED3=1;

28