当前位置:首页>科技>正文

谁有超声波避障功能的51芯片程序,我的单片机型号是89C52RC

2023-04-16 09:25:54 互联网 未知 科技

 谁有超声波避障功能的51芯片程序,我的单片机型号是89C52RC

谁有超声波避障功能的51芯片程序,我的单片机型号是89C52RC

我的程序,这是超声波测距的程序,检测到物体,你直接让小车左拐,或者右拐就行了:
#include//超声波测距 #include #define uint unsigned int #define uchar unsigned char uint a,s,time sbit tr=P2^1 //发送 sbit re=P2^2 //接收 void delay_us() //延时50us { uint i for(i=0i<50i ) _nop_() } void delay_ms(uint x) //毫秒级延时 { uint i,j for(i=xi>0i--) for(j=110j>0j--) } void getdistance1() { //uint i=2353//40厘米来回需要的时间(us) (0.4*2/340)*1000000 TR1=0 TH1=0 TL1=0 re=0//接收信号端置0 tr=1//开始触发 delay_us()//延时50微秒 tr=0 //停止触发 while(re==0) //没有信号返回并且在40厘米障碍物信号返回需要的时间前则等待 (无信号即时返回,防止死循环,阻碍其它程序的执行) TR1=1 while(re==1) TR1=0 time=TH1*256 TL1 //读取脉宽长度 TH1=0 TL1=0 s=(time*1.7)/100 //算出来是厘米 if(s<30) P1=0xfe else P1=0xff } void main() { TMOD=0x10//定时器1模式1 TR1=0 tr=0 re=0 while(1) { getdistance1() } }