19
距离计算
距离计算公式: D=S/2=(V×t)/2
20
开始
系统初始化 发送超声波 等待发射超声波
计算距离 显示结果
21
重新开始
初始化
超声测距器单片机程序
/*--------------------------------------
MCU AT89C51 XAL 12MHz
--------------------------------------*/
❖ uchar tab2[]={0x01,0x02,0x04,0x08,};
❖ extern void cs_t(void);
❖ extern void delay(uint);
❖ data uchar dispram[5];
❖ void dΒιβλιοθήκη splay()❖ { int j;
❖ for(j=0;j<=3;j++)
❖ {P0=tab1[dispram[j]];
❖
P2=tab2[j];delay(2);
❖
}
❖
}
❖ data uchar testok;
22
主程序
❖ void main(void) ❖{ ❖ data uint i; ❖ data ulong time; ❖ P0 = 0xff; /*初始化*/ ❖ P2 = 0xff; ❖ TMOD = 0x11; /*工作方式选择*/ ❖ IE = 0x80; /*CPU开中断*/ ❖ while (1) ❖{ ❖ cs_t(); /*产生 40KHz的方波*/ ❖ delay(1); ❖ testok = 0; ❖ EX0 = 1; /*开外部中断0 */ ❖ ET0 = 1; /*开定时/计数器0 */ ❖ while(!testok) display(); ❖