51单片机超声波测距程序文档格式.docx

上传人:b****1 文档编号:13321622 上传时间:2022-10-09 格式:DOCX 页数:6 大小:20.89KB
下载 相关 举报
51单片机超声波测距程序文档格式.docx_第1页
第1页 / 共6页
51单片机超声波测距程序文档格式.docx_第2页
第2页 / 共6页
51单片机超声波测距程序文档格式.docx_第3页
第3页 / 共6页
51单片机超声波测距程序文档格式.docx_第4页
第4页 / 共6页
51单片机超声波测距程序文档格式.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

51单片机超声波测距程序文档格式.docx

《51单片机超声波测距程序文档格式.docx》由会员分享,可在线阅读,更多相关《51单片机超声波测距程序文档格式.docx(6页珍藏版)》请在冰豆网上搜索。

51单片机超声波测距程序文档格式.docx

sbitdula=P2^6;

sbitwela=P2^7;

sbitBEEP=P2^3;

uinttimeh,timel,distance;

uintge,shi,bai,xiaoshu,flag,time;

/*共阴极数码管不带小数点代码表*/

ucharcodelist[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

/*共阴极数码管带小数点代码表*/

ucharcodelisttwo[]={

0xbf,0x86,0xdb,0xcf,0xe6,

0xed,0xfd,0x87,0xff,0xef};

/*长延时函数*/

voiddelay(uintz)

{

uintx,y;

for(x=z;

x>

0;

x--)

for(y=100;

y>

y--);

}

TL0=0;

EA=0;

ET0=0;

EX0=0;

/*外部中断函数*/

voidestern()interrupt0

timeh=TH0;

timel=TL0;

beer();

flag=1;

//进入中断,标志位就置1

//同时关断外部中断和定时器

TR0=0;

/*显示函数*/

voiddisplay(distance)

bai=distance/1000;

shi=distance%1000/100;

ge=distance%100;

xiaoshu=distance%10;

dula=1;

P0=list[xiaoshu];

dula=0;

P0=0xff;

wela=1;

P0=0xf7;

wela=0;

delay

(2);

P0=listtwo[ge];

P0=0xfb;

P0=list[shi];

P0=0xfd;

delay

(1);

P0=list[bai];

P0=0xfe;

/*被调用子函数*/

voiddiaoyong()

{

uinti;

EA=0;

echo=1;

//为了检测电平的高低,首先必须拉高

trig=1;

delay20us();

trig=0;

while(echo==0);

//如果进入中断即接收到超声波就向下执行

flag=0;

//接收到就清除标志位

EA=1;

//同时打开总中断

EX0=1;

//打开外部中断

TR0=1;

//开定时器

TH0=0;

//定时器清零

TL0=0;

for(i=0;

i<

100;

i++)//等待测量的结果

{

display(distance);

//用100次显示循环来延时,解决数码管显示不亮问题

}

//delay(50);

//用延时函数数码管闪烁

TR0=0;

//延时一段时间后关断定时器

EX0=0;

//延时一段时间后关断外部中断

if(flag==1)//如果进入中断,说明测距已经测好

time=timeh*256+timel;

//计算测定距离,并显示

distance=time*0.1720;

display(distance);

if(flag==0)//如果没有进入中断,距离为0,同时灯闪烁

distance=0;

test=!

test;

}

/*主函数*/

voidmain()

initime0();

test=0;

trig=0;

EA=1;

while

(1)

diaoyong();

display(distance);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1