超声波测速系统.docx

上传人:时光煮雨 文档编号:11878259 上传时间:2021-10-10 格式:DOCX 页数:11 大小:182.58KB
返回 下载 相关 举报
超声波测速系统.docx_第1页
第1页 / 共11页
超声波测速系统.docx_第2页
第2页 / 共11页
超声波测速系统.docx_第3页
第3页 / 共11页
超声波测速系统.docx_第4页
第4页 / 共11页
超声波测速系统.docx_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《超声波测速系统.docx》由会员分享,可在线阅读,更多相关《超声波测速系统.docx(11页珍藏版)》请在三一文库上搜索。

1、题目:超声波测距系统一、设计目的:1、通过本次课程设计加深对单片机课程的全面认识和掌握,对单片机课程的应用进一步的了解。2、掌握定时器、外部中断的设置和编程原理。3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。二、设计任务:利用单片机及外围接口电路 (显示接口电路)设计制作超声波测距仪器,用 LED把测 距仪距被测物的距离显示出来。三、具体要求:1 .使用软件Proteus 7 Professional测试仿真调试,并在keil环境下编写程序 并调试。2 .在面包板上进行初步仿真测试,设计好布线以及焊接排序。3 .在PCB上焊接元器件电路,并进行测试得出实验结果。四、设计

2、原理(一)硬件设计1 .超声波测距原理超声波测距原理是通过超声波发射器向某一方向发射超声波(一般为40KHz的超声波),在发射时刻的同时开始计时,超声波在空气中传播时碰到障碍物就立 即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速 度为v,而根据计时器记录的测出发射和接收回波的时间差 t ,就可以计算出 发射点距障碍物的距离S,即:S = v ?At /2单 片 机障碍枷超声波测距仪原理框图(1)单片机最小系统单片机最小系统电路,由主控器 STC89C52时钟电路和复位电路三部分 组成。单片机STC89C52乍为核心控制器控制着整个系统的工作,而时钟电路 负责产生单片机工

3、作所必需的时钟信号,复位电路使得单片机能够正常、有序、 稳定地工作。(2)晶振电路位单片机提供时钟频率(3)复位电路复位是单片机的初始化操作。其主要功能是把 PC初始化为0000H,使单 片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程 序运行出错或操作错误使系统处于死锁状态时, 为摆脱困境,也需按复位键重 新启动。总的电路图如下:坨七UM*小友G里,工耐力口出川,现庭门田1STFlhlJff飞鹤荒专apmJUE句111rD町刷M-jpzrutEFWPVTS:rimf i苛FITrmIF 1.4町q1-1引野1F哂g小HFl?HTiFT244T7星4辱三:一序一后一 一

4、(二)软件设计软件分为两部分,主程序和中断服务程序。主程序完成初始化工作、超声波 发射和接收,距离计算、结果的输出。外部中断服务子程序主要完成时间值的读 取。主程序首先是对系统环境初始化,设置定时器T1工作模式为16位定时计数器模式。置位总中断允许位EAo然后给Trig 一个20us的高电平,然后在Echo 引脚等待其变为高电平,一旦输出了高电平,表明超声波已开始发射,此刻即计 时,等待Echo变为低电平,即触发外部中断0的跳变沿方式中断。读取当前定 时器的值,换算成时间,乘以波速,即得到测距距离。程序如下:#include #include #define uchar unsigned ch

5、ar#define uint unsigned intuchar code table0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/ 共阳极 0-9unsigned char led=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;/带小数点的位码sbit SMG_q = P2A0;定义数码管的千位sbit SMG_b = P2A1;定义数码管的百位sbit SMG_s = P2A2;定义数码管的十位sbit SMG_g = P2A3;定义数码管的个位sbit Trig = P2A7;发

6、送波形sbit Echo = P3A2; 回波产生中断 sbit test = P1A0;/指示灯控制端/succeed_flag测试成功标志位/延时毫秒uint succeed_flag,time,timeH,timeL;void delayms(uint z)uint x,y;for(x=z;x0;x-) for(y=110;y0;y-);void delay_20us()/延时 20 微秒函数uchar a ;for(a=0;a=100;a+);/*数他管显示数据转换程序*/void display(uint temp) uchar ge,shi,bai,qian;qian=temp/1

7、000;bai=temp%1000/100;shi=temp%1000%100/10;ge=temp%10;SMG_q=0;P0=tableqian;/查找定义好的数码管段值与P0 口delayms(2);/加入短暂延时P0=0Xff;/清除数码管显示,因是共阳型,SMG_q=1;/关闭千位数码管SMG_b=0;/选择百位数码管P0=tablebai;/查找定义好的数码管段值与P0 口delayms(2);/加入短暂延时P0=0Xff;/清除数码管显示,因是共阳型,SMG_b=1;/关闭百位数码管SMG_s=0;/选择十位数码管P0=ledshi;/查找定义好的数码管段值与 P0 口delay

8、ms(2);/加入短暂延时P0=0Xff;/清除数码管显示,因是共阳型,SMG_s=1;/关闭十位数码管SMG_g=0;/选择个位数码管P0=tablege;/查找2定义好的数码管段值与P0delayms(2);/加入短暂延时P0=0Xff;/消除数码管显示,因是共阳型,SMG_g=1;/关闭个位数码管void chaoshengbo_start(void)Trig=0;_nop_();Trig=1;delay_20us();Trig=0;void init(void)test =0;Trig=0;EA=1;TMOD=0x10;void calllft(void)EA=1;/发送波形产生一个2

9、0us的脉冲/超声波输入端/延时20us/产生一个20us的脉冲/初始化/首先拉低脉冲输入引脚打开总中断0/定时器1, 16位工作方式/开计时器,接收信号,调用中断EX0=1;/打开外部中断0ET1= 1;开定时器1中断TH1=0;/定时器1清零TL1=0;/定时器1清零TF1=0;/计数溢出标志TR1=1;/启动定时器1delayms(10); /等待测量的结果while(Echo=0);TR1=0;等待Echo回波引脚变高电平/关闭定时器1/time*0.170-1.425/测试灯变化/显示距离/没有回波则清零/显示距离/测试灯变化产* 主函数部分 */void main()uint di

10、stance;void init(void);初始化while(1)EA=0;/关总中断chaoshengbo_start();/发射超声波callIft() ;/开计时器,接收到信号,调用中断EX0=0;关闭外部中断0if(succeed_flag=1)time=timeH*256+timeL;distance=time*0.172;test = !test;display(distance);if(succeed_flag=0)distance=0;display(distance);test = !test;*外部中断0,用做判断回波电平void int0sever() interrup

11、t 0/ 外部中断 0 是 0 号timeH =TH1;/取出定时器的值timeL =TL1;/取出定时器的值succeed_flag=1;/至成功测量的标志EX0=0;/关闭外部中断/*/定时器1中断,用做超声波测距计时void timer1() interrupt 3TH1=0;TL1=0;五、设计心得俗话说“好的开始是成功的一半”,但我们的开始并不怎么太好,不过还是 努力赶上了。通过这次实习,我们学到了很多东西。在进行课程设计时,我们应 该做到以下三点:首先,我认为最重要的就是认真的研究老师给的题目。其次, 在老师讲解的基础上认真研究硬件电路的设计,和软件流程的设计。最后,重点实现软硬结

12、合的综合调试。这次的实习算起来一共进行了两周,在这两周的时间里我们进行了硬件电 路图设计,电路板的设计,以及软件的编程实现,软硬件的综合调试。最终一个 完整的课程设计成果出来了,很高兴它能按着设计的思想与要求运作起来。当然,这其中也有很多问题,第一、不够细心。比如在 PC制作过程中没有建立网络报表导致了部分连线没有倒入PC阪中,还有部分封装出现了错误。第二,实 践环节上,这次课设是对我所学的理论课程的一次检验, 对于这次单片机综合课 程实习,使我们的动手能力得到提升,同时纠正我们对“系统”这一概念以往的 错误理解。就实现功能来说,设计结果能够符合题意,成功完成了此次实习要求,我 们不只在乎这一

13、结果,更加在乎的,是这个过程。这个过程中,我们花费了大量 的时间和精力,更重要的是,我们在学会创新的基础上,同时还懂得合作精神的 重要性,学会了与他人合作。在已度过的大学时间里,我们大多数接触的是理论 课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能 力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似实 习就为我们提供了良好的实践平台。同时这次实习给我们带来了很多启发:首先,查阅资料的必要性。在做本次实习的过程中,我们感触最深的当属 查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是 十分必要的,同时也是必不可少的。我们是在做单片机实习,

14、但我们不是艺术家, 他们可以抛开实际尽情在幻想的世界里翱翔, 而我们一切都要有据可依,有理可 寻,不切实际的构想永远只能是构想, 永远无法升级为设计,我们能做的就是理 论结合实际。其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:模 拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问 题去学我发现效率很高,这是我做这次课程设计的又一收获。再次,在实习之前,我们要对所用单片机的内部结构有一个系统的了解, 知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图; 在设计程序时,不能妄想一次就将整个程序设计好, 反复修改、不断改进是程序 设计的必经之路;

15、要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现 功能,而应该让人一看就能明白你的思路, 这样也为资料的保存和交流提供了方 便;在实习过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来, 并分析清楚,以免下次再碰到同样的问题。但是从中学到的知识会让我受益终身。 发现、提出、分析、解决问题和实践能力提高都会受益于我在以后的学习、工作 和生活中最后,我们在这次实习中我们使用了分模块焊接,分模块测试的方法进行 硬件电路的焊接和测试,这是我们最宝贵的收获,这样做可以避免走很多弯路 使得调试也条理分明。总体上说,这次实习中收获很多,感触也很多。参考文献1刘凤然.基于单片机的超声波测距系统J.2胡汉才.单片机原理及其接口技术M.北京:清华大学出版社3谭洪涛,张学平.单片机设计测距仪原理及其简单应用J

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

当前位置:首页 > 社会民生


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