刚买的模块上面芯片的信号没抹去了现在自己看着资料弄弄不出结果····菜鸟不是伤神是神伤了。。。。。。。。。。。。。。。。。。
#include<reg52.h>
#include<1602lcd.c>
#define uchar unsigned char
#define uint unsigned int
sbit lcd_rw_port = P2^6;
sbit key=P1^0;
sbit Trig=P3^7;
sbit Echo=P3^2;
uint distance_data;
void delay(char xms) //延时xms
{
char i,j;
for(i=xms;i>0;i--)
for(j=300;j>0;j--);
}
void delay_20us()
{
uchar bt ;
for(bt=0;bt<10;bt++);
}
void disp(int lcd_data)
{
lcd_locate(1,1);
lcd_4_char(lcd_data);
lcd_locate(2,1);
lcd_4_char(3000);
}
void main()
{ lcd_rw_port=0;
lcd_int();
lcd_write_com(0x01);
Trig=0;
TMOD=0x09;
TH0=0x00;
TL0=0x00;
ET0=1;
TR0=1;
EA=1;
while(1)
{
Trig=1;
delay_20us;
Trig=0;
while(Echo==0)
;
TH0=0x00;
TL0=0x00;
while(Echo==1)
;
distance_data=TH0;
distance_data<<=8;
distance_data=distance_data|TL0;
distance_data*=12;
distance_data/=58;
disp(distance_data);
}
}
上面是自己弄得···得不到结果,得不到结果·······
大虾们能给个好点的参考吗·······
一周热门 更多>