📄 super_wave.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 + -