雷达测距模块在小车防撞中应用比较不错,在这篇文章中简单介绍下雷达测距模块HC-SR04的使用。
一、硬件介绍
引脚四个,分别为VCC、TRIG、ECHO、GND
单片机控制引脚TRIG:用于给出促发测距信号端,至少拉高电平10us
ECHO:用于输出发送雷达到接收到雷达所需时间的信号端,其输出高电平持续时间即为雷达来去时间。
二、工作原理
三、时序图
****************************************************************************************************************
详情请咨询: http://shop108408772.taobao.com/
**************************************************************************************************************
四、软件程序
#include
#include
sbit TRIG=P0^0;
sbit ECHO=P0^1;
sbit biaozhi=P0^2;
unsigned char flag;
// 此表为 LED 的字模(共阴极) 0 1 2 3 4 5 6 7 8 9 灭 a b c d e f
unsigned char code LED7Code[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x00,0x39,0x5E,0x79,0x71};
void display(unsigned char number,unsigned char shuzi) //显示子程序
{unsigned char temp,i;
temp=number<<2;
P2=temp&0x1c;
P1=(LED7Code[shuzi])&0x7f;
for(i=0;i<=50;i++);
}
void timer1() interrupt 3 //定时器1中断服务子程序
{
flag=1;
TR1=0;
}
void timer0() interrupt 1 //定时器0中断服务程序
{
}
unsigned int juli() //距离测量
{//float count=0;
unsigned long count=0;
unsigned int zhengshu;
unsigned char i;
TH0=0; //定时器初值设定为0
TL0=0;
flag=0; //未收到回声信号标志
ECHO=1; //开通读ECHO
TRIG=1; //开启测距促发信号拉高
for(i=0;i<5;i++); //延时15us
TRIG=0; // 促发信号拉低
TR1=1; //开启定时器1
while(ECHO==0) //未收到高电平等待
{
if(flag) //测距超出范围返回0
{return 0;
biaozhi=0; //测试用标志位
}
}
TR0=1; //定时器0开启
while(ECHO==1); //等待持续高电平
TR0=0; //关闭定时器0中断
count=TH0*256+TL0; //计算出所花时钟数。。。。。。。。。。。。。。(1)
for(i=0;i<=30;i++); //防止发射信号对回传信号的影响,进行延时
zhengshu=count*17/1000; // 转化为距离,单位CM
return zhengshu;
}
****************************************************************************************************************
详情请咨询: http://shop108408772.taobao.com/
**************************************************************************************************************
void main() //主程序五、注意事项
在位置(1)处,采用中断开启时计数器0开始每机器周期加1来计算时间,通过while()语句来判断定时器计数停止时刻。
六、测试效果
****************************************************************************************************************
详情请咨询: http://shop108408772.taobao.com/
**************************************************************************************************************