标题:
超声波测试代码
[打印本页]
作者:
Lxiaochuang
时间:
2018-7-18 09:49
标题:
超声波测试代码
超声波测试代码
#include <reg52.h>
#include <intrins.h>
#define IN P1
sbit PWM0A = P3^2;
sbit PWM0B = P3^3;
sbit PWM1A = P3^4;
sbit PWM1B = P3^5;
sbit RX = P0^2;
sbit TX = P0^3;
sbit out1 = P2^2;
sbit out2 = P2^3;
sbit pwm_dj = P3^6;
bit flag = 0;
unsigned int time=0;
unsigned int timer=0;
unsigned int timers=0;
unsigned long S=0;
unsigned long max1 = 0;
unsigned long max2 = 0;
unsigned int dj;
void Conut();
void end();
void Conut()
{
while(!RX);
TR0=1;
while(RX);
TR0=0;
time=TH0*256+TL0;
TH0=0;
TL0=0;
S=(time*1.7)/100;
}
void zd0() interrupt 1
{
flag=1;
}
void zd3() interrupt 3
{
TH1=0xFF;
TL1=0xEC;
timer++;
timers++;
if(timers >= 500)
timers = 0;
if(timers <= dj) pwm_dj = 1;
else pwm_dj = 0;
}
void end()
{
PWM0A = 0;
PWM0B = 0;
PWM1A = 0;
PWM1B = 0;
IN = 0x00;
}
void front()
{
PWM0A = 1;
PWM0B = 1;
PWM1A = 1;
PWM1B = 1;
IN = 0x55;
}
void right()
{
PWM0A = 1;
PWM0B = 1;
PWM1A = 1;
PWM1B = 1;
IN = 0x56;
}
void left()
{
PWM0A = 1;
PWM0B = 1;
PWM1A = 1;
PWM1B = 1;
IN = 0x95;
}
void qd()
{
TX = 1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX = 0;
}
void main()
{
int i;
TMOD |= 0x11;
TH0=0;
TL0=0;
TH1=0xFF; //0.02MS定时
TL1=0xEC;
ET0=1; //允许T0中断
ET1=1; //允许T1中断
TR1=1;
EA=1; //开启总中断
end();
while(1)
{
while(1)
{
dj = 30;
if(timer >= 800)
{
timer = 0;
qd();
Conut();
if(S >= 700 || flag == 1){ flag = 0; front();}
else if(S >= 18) front();
else { end(); break;}
}
}
dj = 13;
for(i = 0; i < 5000; i++);
qd();
Conut();
if(S >= 700 || flag == 1){ flag = 0; max1 = 700;}
else max1 = S;
dj = 50;
for(i = 0; i < 5000; i++);
qd();
Conut();
if(S >= 700 || flag == 1){ flag = 0; max2 = 700;}
else max2 = S;
dj = 30;
for(i = 0; i < 5000; i++);
if(max1 > max2) right();
else left();
for(i = 0; i < 5000; i++);
}
}
复制代码
超声波.7z
2018-7-18 09:48 上传
点击文件名下载附件
下载积分: 黑币 -5
21.6 KB, 下载次数: 3, 下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1