超声波测距系统电路图
236附录37附录3C语言源程序#include
#defineucharunsignedchar#defineulongunsignedlong#defineuintunsignedintsbitP36=P3^6;sbitP32=P3^2;uchar
tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
bitagain;voiddelays(){}//延时程序
voidmain(){uchara;//一次发射方波数ulongk;TMOD=0x01;//T0计数,方式1TH0=0;//计数初值TL0=0;IT0=1;//INT0负脉冲触发EA=1;//开总中断EX0=1;//开外部INT0中断
again=1;while(1){
while(again==1){P36=0;TR0=1;
//T0开始计数
for(a=0;a<200;a++)//产生100个40KHz的方波
{
P36=!P36;
data
38delays();}again=0;}}}
voidintersvro(void)interrupt0using1//INTO中断服务程序
{
uintbwei,shwei,gwei;ucharDH,DL;ulongCOUNT;ulongnum;TR0=0;//停止计数DH=TH0;DL=TL0;
COUNT=TH0*256+TL0;num=(344*COUNT)/20000;bwei=num/100;
gwei=(num-bwei*100)/10;shwei=num;P1=tab[bwei];P0=tab[shwei];P2=tab[gwei];TH0=0;TL0=0;}
//取百位//取十位//取个位//输出百位//输出十位//输出个位
39超声波测距系统的电路设计
图2超声波测距电路原理图本系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时,单片机选用8751,经济易用,且片内有4K的ROM,便于编程。电路原理图如图2所示。其中只画出前方测距电路的接线图,左侧和右侧测距电路与前方测距电路相同,故省略之。
1、40kHz脉冲的产生与超声波发射
测距系统中的超声波传感器采用UCM40的压电陶瓷传感器,它的工作电压是40kHz的脉冲信号,这由单片机执行下面程序来产生。
puzel:mov14h,#12h;超声波发射持续200mshere:cplp1.0;输出40kHz方波nop;nop;nop;
djnz14h,here;ret
前方测距电路的输入端接单片机P1.0端口,单片机执行上面的程序后,在P1.0端口输出一个40kHz的脉冲信号,经过三极管T放大,驱动超声波发射头UCM40T,发出40kHz的脉冲超声波,且持续发射200ms。右侧和左侧测距电路的输入端分别接P1.1和P1.2端口,工作原理与前方测距电路相同。
40