程序如下,調(diào)試時出現(xiàn)錯誤。求高手指導(dǎo)。。幫忙找出錯誤~~~ #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit trig=P1^0; sbit echo=P3^2; sbit test=P1^2; uchar distance,time,outH,outL; void delay_20us(); void delay(uint); void nint(); void count(); void main() { while(1) { nint(); delay(100); trig=1; delay_20us(); trig=0; while(!echo) TR0=0; while(echo) TR0=1; delay(1000); count(); } } void init() //初始化函數(shù) { trig=0; echo=0; test=1; //外部中斷 EA=1; EX0=1; IT0=0; //T0中斷 TMOD=0X01; TH0=0; TL0=0; ET0=1; TR0=0; } void INT0_time() interrupt 0 //外部0中斷函數(shù) { TR0=1; while(!echo) TR0=0; outH=TH0; outL=TL0; } void T0_time() interrupt 1 //定時器中斷函數(shù) { TH0=0; TL0=0; } void count() { time=outH*256+outL; distance=(time*17)/1000; if(distance<20&&distance!=0) test=0; } void delay_20us() { uint i; for(i=0;i<100;i++); } void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); |