红外遥控系统 课程设计PPT_第1页
红外遥控系统 课程设计PPT_第2页
红外遥控系统 课程设计PPT_第3页
红外遥控系统 课程设计PPT_第4页
红外遥控系统 课程设计PPT_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

题目:基于单片机的超声波距离测试仪

专业:班级:

指导老师:答辩人:

答辩提纲

了解课题,收集资料共同讨论,确定方案电路设计与实现软件设计与调试总结及下一步工作致谢了解课题超声波具有指向性强,能量消耗缓慢,传播距离较远等优点,所以,在利用传感器技术和自动控制技术相结合的测距方案中,超声波测距是目前应用最普遍的一种,它广泛应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。了解课题目前测量距离一般都采用波在介质中的传播速度和时间关系进行测量。常用的技术主要有激光测距、微波雷达测距和超声波测距三种。超声波经常用于距离的测量。超声波定位技术成本低、精度高、操作简单、工作稳定可靠,非常适合于短距离测量定位。STC89C52RC单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用它的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。确定方案由单片机AT89S51编程产生40kHz的方波,由P1.0口输出,再经过放大电路,驱动超声波发射探头发射超声波。发射出去的超声波经障碍物反射回来后,由超声波接收头接收到信号,通过接收电路的检波放大、积分整形及一系列处理,送至单片机。单片机利用声波的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物的距离,并由单片机控制显示出来。确定方案该测距装置是由超声波传感器、单片机、发射/接收电路和LED显示器组成。传感器输入端与发射接收电路相连,接收电路输出端与单片机相连接,单片机的输出端与显示电路输入端相连接。单片机在T0时刻发射方波,同时启动定时器开始计时,当收到回波后,产生一负跳变到单片机中断口,单片机响应中断程序,定时器停止计数。计算时间差,即可得到超声波在媒介中传播的时间t,由此便可计算出距离。电路设计与实现发射模块设计:发射电路主要有反相器74LS04和超声波换能器构成,单片机P1.0端口输出的40KHz方波信号一路经一级反相器后送到超声波换能器的一个电极,另一路经两级反相器后送到超声波换能器的另一个电极,用这种推挽形式将方波信号加到超声波换能器两端可以提高超声波发射强度。输出端采用两个反向器并联,可以提高驱动能力。上拉电阻R1、R2一方面可以提高反相器74LS04输出高电平的驱动能力;另一方面可以增加超声波换能器的阻尼效果,以缩短其自由振荡的时间。接受模块设计:集成电路CX20106A是一款红外线检波接收的专用芯片。实验证明,用CX20106A接收超声波(无信号时输出高电平)具有很高的灵敏度和抗干扰能力。适当的更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。测温及报警模块:采用MAXIM公司的DS18B20作为温度传感和测量装置,测量范围在之间,测量分辨率可选9位或12位,在范围内保证精度.因此完全可以满足普通条件下的测温要求。DS18B20采TO一92型封装只有3个引脚,一根电源线,一根地线,一根数据线,每片DS18B20有一个64位串行代码存储器。这里用P3.7口作为与DS18B20的数据输入输出口。报警电路在所测温度高于所设温度范围时发出报警声。软件设计与调试超声波测距器的算法设计:超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就会被超声波接收器R接收到。这样,只要计算出从发出超声波信号到接收到返回信号所用时间,就可算出超声波发生器与反射物体的距离。该距离的计算公式如下:

d=s/2=(v×t)/2

其中:d为被测物体与测距器的距离;s为声波的来回路程;v为声速;t为声波来回所用的时间。主程序:主程序首先要对系统环境初始化,设置定时器T0工作模式为16位定时/计数器模式,置位总中断允许位EA并对显示端口P0和P2清0;然后调用超声波发生子程序送出一个超声波脉冲。为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1ms(这也就是超声波测距器会有一个最小可测距离的原因)后才打开外中断0接收返回的超声波信号。由于采用的是12MHz的晶振,计数器每计一个数就是1µs,所以当主程序检测到接收成功的标志后,将计数器T0中的数(即超声波来回所用的时间)按式d=(v×t)/2=(172T0/10000)cm计算,即可得被测物体与测距器之间的距离。设计时取20ºC时的声速为344m/s。测出距离后,结果将以十进制BCD码方式送往LED显示约0.5s,然后再发送超声波重复测量过程。

超声波发生子程序和超声波接收中断程序:超声波发生子程序的作用是通过P1.0端口发送两个左右的超声波脉冲信号(频率约40kHz的方波),脉冲宽度为12µs左右,同时把计数器T0打开进行计时。超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入超声波接收中断程序。就立即关闭计时器T0,停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2,以表示本次测距不成功。#include<reg51.h> #include<intrins.h> #defineucharunsignedchar #defineuintunsignedint#definenop()_nop_() //定义空操作sbitsegce= P1^0;sbitdigce= P1^1;sbitvout=P1^4; //声明40KHz脉冲信号输出口sbittest=P1^5;//测试用引脚sbitOUT1=P0^5;sbitOE=P1^2;voiddelay(uintx); //延时程序voiddisplay();ucharcodenum_table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//共阴数码管0123456789灭/*定义数码管显示字符跟数字的对应数组关系*/uchardatasled_lighten_table[]={0xfe,0xfd,0xfb,0xf7};//定义每次扫描时需点亮的数码管uchardis_buff[]={0xff,0xff,0xff}; //定义段码缓冲数组uinttime,distance,i; //定义接收时间与距离变量bitrec_flag; //定义接受成功标志位uchark,j,number; //定义脉冲个数与位选控制变量voidbaojing();//延时程序voiddelay(uintx){uinti,j;for(i=x;i>0;i--)for(j=124;j>0;j--);}//主程序

voidmain(){ TMOD=0x21; //T1为8位自动重装模式

TH0=0x00; //65ms计数初值

TL0=0x00; TH1=0xf4; //12us计数初值

TL1=0xf4; PX0=1; PT1=1; ET0=1; EA=1; TR0=1; while(1) {dis_buff[2]=num_table[distance/100]; dis_buff[1]=num_table[distance%100/10]; dis_buff[0]=num_table[distance%10]; display(); if(rec_flag) { rec_flag=0; delay(400);//测量间隔控制(约4*100=400MS)

display(); EA=1; TR0=1; } }}//显示子程序voiddisplay(){for(number=0;number<3;number++){P0=dis_buff[number];segce=1; segce=0;P0=sled_lighten_table[number];digce=1;digce=0;delay(5);}if(distance<50){baojing();}}voidbaojing(){OE=0;P0=0;OUT1=1;for(i=0;i<200;i++)//喇叭发声的时间循环,改变大小可以改变发声时间长短

{delay(5);//参数决定发生频率

test=!test;}test=1;//喇叭停止工作,间歇的时间

OUT1=0;

温馨提示

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

评论

0/150

提交评论