51单片机超声波测距仪 流程图 及 程序 急求50分

周五前悬赏50分!!!!!!!!!!!!!!!发送邮箱:jialongxiang@yahoo.cn还加个原理图... 周五前悬赏50分
!!!!!!!!!!!!!!!
发送邮箱:jialongxiang@yahoo.cn 还加个原理图
展开
 我来答
yu_nian_
2012-03-20
知道答主
回答量:3
采纳率:0%
帮助的人:4896
展开全部
#include<at89x52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define nop _nop_()
uchar code WE0[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x80};//0x40-不带点
//unsigned char code WE1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xf0,0xef,0x80}; //0-9 带点
uchar code W[]={0xfe,0xfd,0xfb,0xf7} ;
unsigned char temp[3];
sbit RX=P3^4; //接受端,ECHO
sbit TX=P3^5; //控制端,TRIG
sbit wei=P2^7;
sbit duan=P2^6;
bit flag=0;
uint time=0;
uint s=0;
void delay(int xms)//延时大概x毫秒
{
int i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void start() //给至少10us的高电平,启动模块
{
TX=1;
nop;
nop;
nop;
nop;
nop;
nop;
nop;
nop;
nop;
nop;
nop;
nop;
nop;
nop;
TX=0;
}
uchar count()
{
time=TH0*256+TL0;
TH0=0;
TL0=0; //清零
s=(time*1.7)/100;//厘米
return s;
}
void dispros()//数据分割
{
temp[0]=s/100%10;//百位
temp[1]=s/10%10; //十位
temp[2]=s%10; //个位
}
void display() //显示函数
{
if(s>=500||s<=2) //进入盲区,溢?
{
uchar i;
s=0;
TH0=0;
TL0=0; //清零
P0=0x40;
duan=1;
duan=0;
for(i=0;i<3;i++)
{

P0=W[i];
wei=1;
wei=0;

}
}
else //正常显示
{
wei=1;
P0=0xfe;
wei=0;
duan=1;
P0= WE0[temp[0]];
delay(3);
duan=0;
wei=1;
P0=0xfd;
wei=0;
duan=1;
P0= WE0[temp[1]];
delay(2);
duan=0;
wei=1;
P0=0xfb;
wei=0;
duan=1;
P0= WE0[temp[2]];
delay(1);
}
}

void main()
{
TMOD=0X01; //定时器工作方式0
TH0=0;
TL0=0;
EA=1; //开总中断
ET0=1;//开定时器中断
while(1)
{
start();//启动模块
while(!RX); //当RX为零时等待
TR0=1; //启动计数
while(RX); //当RX为1时计数并等待
TR0=0; //关闭计数器
count(); //计数
dispros(); //处理,分割数据
display(); //显示
delay(1);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ypeng_x
2009-07-01 · 超过13用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:0
展开全部
我也正在做这个,我已经把我收集的所有相关资料都发你邮箱里了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
baiwenhao2008
2009-07-01 · TA获得超过464个赞
知道小有建树答主
回答量:340
采纳率:0%
帮助的人:187万
展开全部
质问:
五十分还多吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式