|
void InitUART(void) //串口中斷初始化函數(shù)
{ SCON=0x50; //設(shè)置為工作方式1
TMOD=0x20; //設(shè)置計(jì)數(shù)器工作方式2
PCON=0x00; //波特率不加倍
TH1=0xfd; //計(jì)數(shù)器初始值設(shè)置,注意波特率是9600的
TL1=0xfd; ES=1; //打開接收中斷
EA=1; //打開總中斷
TR1=1; //打開計(jì)數(shù)器
} /***************************************************/
void Conut(void) //計(jì)算距離
{ while(!ECHO); //當(dāng)RX為零時(shí)等待
TR1=1; //開啟計(jì)數(shù)
while(ECHO); //當(dāng)RX為1計(jì)數(shù)并等待
TR1=0; //關(guān)閉計(jì)數(shù)
time=TH1*256+TL1; //讀取脈寬長度
TH1=0;
TL1=0;
S=(time*1.7)/100; //算出來是CM
}
|
|