新闻中心

EEPW首页>嵌入式系统>设计应用> 单片机超声波测距原理图

单片机超声波测距原理图

作者: 时间:2016-11-26 来源:网络 收藏
这是一款图,这款单片机超声波测距板电路简单,制作容易,无需进行调试,电路焊焊接好后,下装程序后即可工作。

本文引用地址://m.amcfsurvey.com/article/201611/321765.htm



#include
#define csbout P3_5 //超声波发送
#define csbint P3_7 //超声波接收
#define csbc=0.034
#define bg P3_4
unsigned char csbds,opto,digit,buffer[3],xm1,xm2,xm0,key,jpjs,ki;//显示标识
unsigned char convert[10]={0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0~9段码
unsigned int s,t,i,sj1,sj2,sj3,mqs,sx1,sjtz,sja,sjb;
bit cl;

void csbcj();
void delay(i); //延时函数
void scanLED(); //显示函数
void showOnce(); //显示循环函数
void timeToBuffer(); //显示转换函数
void offmsd();


void main()//主函数
{
EA=1;//开中断
TMOD=0x11;//设定时器0为计数,设定时器1定时
ET0=1;//定时器0中断允许
ET1=1;//定时器1中断允许
TH0=0x00;
TL0=0x00;
TH1=0x9E;
TL1=0x57;
csbds=0;
csbint=1;
csbout=1;
cl=0;
opto=0xff;
sj1=40;
sj2=100;
sj3=150;
ki=0;
TR1=1;//设定时值1为20ms
while(1)
{
csbcj();//调用超声波测距程序
if(s>sj3)//大于时显示"CCC"
{
buffer[2]=0x39;
buffer[1]=0x39;
buffer[0]=0x39;
}
else if(s //小于时显示"- - -"
{
buffer[2]=0x40;
buffer[1]=0x40;
buffer[0]=0x40;
}
else timeToBuffer();//调用转换段码功能模块
offmsd();//调用判断百位数为零模块,百位为零时不显示
scanLED();//调用显示函数
}
}


上一页 1 2 下一页

评论


技术专区

关闭