求一个US-100超声波测距程序,原理图和PCB板图如下,我写了几个程序都不行,求高手解答 10

 我来答
百度网友26b043a
推荐于2017-08-26 · 超过13用户采纳过TA的回答
知道答主
回答量:26
采纳率:100%
帮助的人:18.9万
展开全部
这是我很多年前做的一个模块,仅供参考啊,呵呵

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit wela=P2^7; //位选
sbit dula=P2^6; //段选
sbit vout=P1^0; //脉冲发送端
sbit rece=P3^2; //接收端,0-接收成功,1-等待接收,接在外部中断0上
uchar code smg_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code smg_we[]={0xfe,0xfd,0xfb,0xf7};
uchar dis_smg[4];
uchar k,j;
uint time,distance;
bit rec_flag;
void Dis_Init(void)
{
dis_smg[0]=smg_du[distance/100]|0x80;
dis_smg[1]=smg_du[distance%100/10];
dis_smg[2]=smg_du[distance%10];
}
void Display(void)
{
static uchar i;

P0=0x00;
dula=1;dula=0;
P0=smg_we[i];
wela=1;wela=0;
P0=dis_smg[i];
dula=1;dula=0;
i++;
if(i==3) i=0;
}
void InterruptInit(void)
{
TMOD=0X21; //定时器0计数 , 定时器1计时
TH0=0X00;TL0=0X00;
TH1=0XF2;TL1=0XF2; //12us
IT0=0; //外部中断0低电平触发,接收成功进入中断服务函数
ET0=1;
EA=1; //开总中断
TR0=1; //开定时器0
}
void main(void)
{
InterruptInit();
while(1)
{
Dis_Init();
Display();
if(rec_flag)
{
rec_flag=0;
Display();
Dis_Init();
EA=1;
TR0=1;
}
}
}
void Timer0() interrupt 1 //计数开始并且计时开始
{
EA=0;
TH0=0X00;
TL0=0X00;
ET1=1;
EA=1;
TR1=1;
TR0=1;
}
void Timer1() interrupt 3
{
vout=!vout; //脉冲信号
k++;
if(k>=4) //脉冲信号发送完,停在计数和计时
{
k=0;
TR1=0;
ET1=0;
for(j=200;j>0;j--);
EX0=1; //开外部中断0,等待接收位rece置0,触发中断
}
}
void PINT0() interrupt 0
{
TR0=0;
TR1=0;
ET1=0;
EA=0;
EX0=0;
rec_flag=1; //接收完成标志位
time=TH0; //距离处理
time=time*256+TL0;
time=time-120;
distance=time*0.017;
}
追问
能留个QQ吗?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
华芯测试
2024-09-01 广告
作为深圳市华芯测试科技有限公司的一员,我们公司推出的MPI自动探针台是专为磁粉无损检测而设计的专用设备。它结合了先进的自动化技术与高分辨率的图像采集系统,能够高效、准确地检测材料中的表面及近表面缺陷。MPI自动探针台适用于多种材料和零部件,... 点击进入详情页
本回答由华芯测试提供
百度网友4fac99c
2013-05-09 · TA获得超过1612个赞
知道大有可为答主
回答量:2529
采纳率:0%
帮助的人:952万
展开全部
不妨到我们这个电子世家单片机群:255847245,里面的同行或许能帮得到你。
电子世家网址导航-------电子技术导航网站来的,应该会适合你的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式