您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 超声波测距原理与程序分析
单片机控制器扫面驱动超声接受LED显示超生发生基本原理:超声波发射接收传感器连接外壳的是接地端,黑圈的是正极发射原理:发射电路主要由反相器74LS04和超声波换能器构成,单片机P1.0口输出40khz的方波信号一路经一级反相器送到换能器的一端,另一路经两级反相器后送到换能器的另一端,用这种推挽的方式把方波信号加到换能器两端可以提高超声波发射的强度。74LS04接收原理电路原理图74LS0774LS245距离计算距离计算公式:D=S/2=(V×t)/2系统初始化发送超声波等待发射超声波计算距离显示结果开始重新开始初始化超声测距器单片机程序/*--------------------------------------MCUAT89C51XAL12MHz--------------------------------------*/#includereg51.h#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlongUchartab1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0xff};uchartab2[]={0x01,0x02,0x04,0x08,};externvoidcs_t(void);externvoiddelay(uint);datauchardispram[5];voiddisplay(){intj;for(j=0;j=3;j++){P0=tab1[dispram[j]];P2=tab2[j];delay(2);}}datauchartestok;主程序voidmain(void){datauinti;dataulongtime;P0=0xff;/*初始化*/P2=0xff;TMOD=0x11;/*工作方式选择*/IE=0x80;/*CPU开中断*/while(1){cs_t();/*产生40KHz的方波*/delay(1);testok=0;EX0=1;/*开外部中断0*/ET0=1;/*开定时/计数器0*/while(!testok)display();if(1==testok){time=TH0;time=(time8)|TL0;/*高8位左移并与低8位合并*/time*=172;time/=10000;%(172T0/10000)dispram[0]=(uchar)(time%10);time/=10;dispram[1]=(uchar)(time%10);time/=10;dispram[2]=(uchar)(time%10);dispram[3]=(uchar)(time/10);if(0==dispram[3])dispram[3]=17;}elseif(testok==2){{dispram[0]=16;dispram[1]=16;dispram[2]=16;dispram[3]=16;}}for(i=0;i300;i++)display();}}超声接收程序(外中断0)voidcs_r(void)interrupt0{TR0=0;ET0=0;EX0=0;testok=1;}/*超时清除程序(内中断T0)*/voidovertime(void)interrupt1{EX0=0;TR0=0;ET0=0;testok=2;};-------------------------------------;延时100机器周期*参数(1~65535);-------------------------------------NAMEDELAYPRDELAYSEGMENTCODEPUBLICDELAYRSEGPRDELAY;PUSHACCDELAY:MOVR4,#2;MOVA,#2;DD1:MOVR5,#24DJNZR5,$DJNZR4,DD1;DJNZACC,DD1;POPACCRETEND;超声发生子程序(12M晶振38.5KHz)产生声波脉冲信号(频率约40kHz的方波),脉冲宽度为12µs左右NAMECS_TddSEGMENTCODEPUBLICCS_TRSEGddCS_T:PUSHACCMOVTH0,#00HMOVTL0,#00HMOVA,#10DSETBTR0/*定时/计数器0启动*/CS_T1:CPLP1.0NOPNOP/*是一个机器周期,一个机器周期是一个振荡周期的12分频,*/NOP/*%如果你的晶振是12MHZ,那你的一个机器周期就是1微秒.*/NOPNOPNOPNOPNOPNOPNOP/*10个NOP的时间大概是10us*/DJNZACC,CS_T1/*是两个机器周期,因此一共有12us*/POPACCRETEND设计建议建议最好具有ISP功能或者增加温度补偿的情况或增加报警设置ISP接口
本文标题:超声波测距原理与程序分析
链接地址:https://www.777doc.com/doc-3129087 .html