超声波测距
上一节
下一节
“超声波测距”案例程序设计说明
1 相关资料下载:
2 程序设计流程图

3 相关寄存器设置
开启定时器0和1,以及初始化定时器1初始值:
TMOD=0x11;
EA=1; //打开总的中断
ET1=1; //开启定时器1中断
TH1=(65535-60000)/256; //T1定时大约60ms
TL1=(65535-60000)%256;
TR1=1; //启动定时器
4 程序设计框架
4.1 void main()
完成各部分功能模块的初始化;
设置P0、P2为推挽模式;
开启定时器0和1,以及初始化定时器1初始值:
4.2 void SEG_Display();
在数码管上显示所测量的数据;
4.3 void Delay(int n);
延时函数
4.4 void Timer1_Routine() interrupt 3
(1)进入T1中断后,发送20us的高电平信号,等待回响信号变为高电平,打开计时器0,测出回响信号持续高电平的时间;
(2)利用T0的时间,计算出距离。

