⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 super_wave.c

📁 超声波经典经典应用
💻 C
字号:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit trig = P2^1;
sbit echo = P3^2;
bit flag = 0;
uint wave_time;
void delay_20us(){

	uchar a ;
	for(a = 0;a < 200;a++);
}

void delay(uint ms){
	
	uchar a;
	for(;ms > 0;ms--){		
		for(a = 0;a < 110;a++)
		;	
	}
}
int main(void){

	uint distance = 0;
	P1 = 0xfd;
   TMOD = 0x01;
   TH0 = 0;
   TL0 = 0;
   trig = 0;

   while(1){
   

	  EA = 0;
	  trig = 1;
	  delay_20us();
	  trig = 0;

	  while(echo == 0);

	  TR0 = 1;
	  EX0 = 1;
	  IT0 = 0;
	  EA = 1;
	  delay(20);

	  if(flag == 1){
	  
	  	flag = 0;
		distance = wave_time/58;
		if(distance < 20)
			P1 = 0x55;
	  	else
			P1 = 0xaa;
	  }  
   }


}

void inter() interrupt 0{

	TR0 = 0;
	EX0 = 0;
	wave_time = TH0*256 + TL0;
	TH0 = 0;
	TL0 = 0;
	flag = 1;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -