超声波测距数码管显示,内容完全正确(共13页)_第1页
超声波测距数码管显示,内容完全正确(共13页)_第2页
超声波测距数码管显示,内容完全正确(共13页)_第3页
超声波测距数码管显示,内容完全正确(共13页)_第4页
超声波测距数码管显示,内容完全正确(共13页)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机课程设计设计(shj)报告(bogo)设计(shj)课题: 超声波测距 专业班级: 电子信息工程xxx班 学生姓名: wang da na 指导教师: cai 设计时间: 2015年7月9日 赣南师范学院科技学院数学与信息科学系 超声波测距 一、设计任务(rn wu)与要求1.设计(shj)任务:(1)利用(lyng)超声波测量距离。(2)使用数码管显示测出的距离。(3)在超出一定的范围后进行报警。二、方案设计与论证 1设计方案采用单片机来控制超声波测距,信号线发射到与超声波发射器相连的信号端,超声波发射器向既定方向发射,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物将产生回波

2、,超声波接收器接收回波,产生电平变化。通过单片机设计一个程序,处理超声波接受的信号,计算出发射与接受的时间差,并根据距离公式计算出距离,用数码管显示。把所测出的距离分范围,超出2米或小于0.1米蜂鸣器报警,当处于正常范围时立即停止报警。2 原理框图51单片机数码管显示模块报警模块超声波模块图(1) 系统原理框图三、电路设计1. 电路设计图(2) 电路图2. 主要(zhyo)性能参数计算(1)超声波测距模块(m kui)本测距系统采用超声波渡越时间检测法。其原理为:检测从发射传感器发射的超声波经气体介质传播到接收传感器的时间t,这个(zh ge)时间就是渡越时间,然后求出距离l。设l为测量距离,

3、t为往返时间差,超声波的传播速度为c,则有l=ct/2。超声波接收器收到反射波就立即停止计时。再由单片机计算出距离,送数码管显示测量结果。 超声波测距的算法设计: 超声波在空气中传播速度为每秒钟340米(15时)。t2是接收超声波时刻,t1是超声波声波发射时刻,t2-t1得出的是一个时间差的绝对值,假定t2-t1=0.03S,则有340m0.03S=10.2m。由于在这10.2m的时间里,超声波发出到遇到返射物返回的距离如下: 如图2-2-1为测距原理。图(3)测距原理(yunl)因为(yn wi)/2角度较小,可以(ky)忽略不计,所以LS。超声波发出到遇到返射物返回的距离如下: L=C x

4、 ( t2 -t1 )/ 2 ;由于超声波也是一种声波,其声速c与空气温度有关,一般来说,温度每升高1摄氏度,声速增加0.6米秒。表2-1列出了几种温度下的声速。表1 声速与温度的关系表温度(摄氏度)3020100102030100声速(米秒)313319325323338344349386在使用时,如果温度变化不大,则可认为声速c是基本不变的,计算时取c为340m/s。如果测距精度要求很高,则可通过改变硬件电路增加温度补偿电路的方法或者在硬件电路基本不变的情况下通过软件改进算法的方法来加以校正。 (2)单片机最小系统 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作

5、的系统。 对52系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。 单片机最小系统电路(dinl)介绍: 52单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用1030uF,51单片机最小系统容值越大需要的复位时间越短。 52单片机最小系统晶振Y1也可以采用12MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。 52单片机最小系统起振电容C2、C3一般采用1533pF,并且电容离晶振越近越好,晶振离单片机越近越好4.P0口为开漏输出,作为(zuwi)输出口时需加上拉电阻,阻

6、值一般为10k。 图(4)单片机最小系统(xtng) 设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。 设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/1

7、2MHz,即计数脉冲的周期要大于2 ms。3. 程序(chngx)流程图图(5)程序(chngx)流程图四、电路(dinl)制作及调试1.实物图通过以上步骤(bzhu),制作出实物图。如图所示:图(6)数码(shm)管在正常范围(fnwi)显示图(7)数码管测出的数值(shz)2.电路调试电路主要的模块有三个:报警模块、单片机最小系统、超声波模块。通过调节超声波模块与障碍物的距离,来显示(xinsh)出数据。并与实际距离作对比,并计算误差。3.元件清单(qngdn)表2元件(yunjin)清单器件型号数量电阻220,10k10三极管8050NPN管4单片机芯片STC89C521四位数码管CL3

8、461-AC1杜邦线20cm若干电容30pF,10uF各一个蜂鸣器有源蜂鸣器1晶振11.0592MHZ1五 参考文献 1潘永雄.沙河.电子线路CAD实用教程(第四版)M.西安电子科技大学出版社,2012.2高吉祥.电子技术基础实验与课程设计(第二版)M.电子工业出版社,2005. 3王港元.电子设计制作基础M.江西科学技术出版社,2011. 4彭介华.电子技术课程设计指导M.高等教育出版社,20095 李朝青.单片机原理及接口技术(第三版)M.北京航空航天大学出版社,2006.6 阎石.数字电子技术基础(第五版)M.清华大学电子学教研组出版社,2006.附录(fl)1:超声波测距程序*/ #i

9、nclude /器件(qjin)配置文件 #include #define RX P0_1 #define TX P0_2 sbit beep=P37; unsigned int time=0; unsigned int timer=0; unsigned char posit=0; unsigned long S=0; bit flag =0; unsigned char const discode = 0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x40,0 x80,0 x7c,0 x39,0 x5e,0 x79

10、,0 x71/*-*/; unsigned char const positon4= 0 x20,0 x10,0 x08,0 x40; void Display(void) /扫描(somio)数码管 if(posit=0) P1=(discodedisbuffposit); else P1=discodedisbuffposit; P2=positonposit; if( +posit=4) posit=0; void Conut(void) time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.7)/100; /算出来是CM if(S200) /判断蜂鸣器响的

11、数值范围 beep=1; else beep=0; if(S=700)|flag=1) /超出(choch)测量范围显示“-” flag=0; disbuff0=10; /“-” disbuff3=11; disbuff1=10; /“-” disbuff2=10; /“-” else disbuff0=S%1000/100; disbuff3=11; disbuff1=S%1000%100/10; disbuff2=S%1000%10 %10; /*/ void zd0() interrupt 1 /T0中断用来计数器溢出(y ch),超过测距范围 flag=1; /中断溢出(y ch)标志

12、 /*/ void zd3() interrupt 3 /T1中断用来扫描数码管和计800MS启动模块 TH1=0 xf8; TL1=0 x30; Display(); timer+; if(timer=400) timer=0; TX=1; / 启动一次模块 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_()

13、; _nop_(); _nop_(); TX=0; /*/void main( void ) TMOD=0 x11; /设T0为方式(fngsh)1,GATE=1;TH0=0;TL0=0; TL1 = 0 x66;/设置(shzh)定时初值TH1 = 0 xFC;/1ms /TH1=0 xf8; /2MS定时(dn sh)/TL1=0 x30;ET0=1; /允许T0中断ET1=1; /允许T1中断TR1=1; /开启定时器EA=1; /开启总中断while(1) while(!RX);/当RX为零时等待 TR0=1; /开启计数 while(RX);/当RX为1计数并等待 TR0=0;/关闭计数 Conut();/计算 赣南师范学院科技(kj)学院2014-2015学年第二(d r)学期期末考试单片机课程设计成绩(chngj)评定表专业: 电子信息工程 班级: xxx 班 学号: 姓名:王da na 课题名称超声波测距 设计任务与要求(1)利用超声波测量距离。(2)使用数码管显示测出的距离。(3)在超出一定的范围后进行报警。评分标准基本功能(50)焊接制作(10)程序设计(10)扩展

温馨提示

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

评论

0/150

提交评论