基于51单片机的测速仪,小弟想diy一个测速仪,测高速移动的物体的速度。工作原理是当物体通过第一个

基于51单片机的测速仪,小弟想diy一个测速仪,测高速移动的物体的速度。工作原理是当物体通过第一个传感器的时候,计时器开始计时,当物体通过第二个传感器的时候,计时结束。用... 基于51单片机的测速仪,小弟想diy一个测速仪,测高速移动的物体的速度。工作原理是当物体通过第一个传感器的时候,计时器开始计时,当物体通过第二个传感器的时候,计时结束。用两个传感器之间的距离,除以计时器计得的时间,就得到了物体的速度,并用三个数码管显示出来。硬件部分我已经制作完成了,单片机的晶振为12M,P0,P1,P2端口接三个共阳极数码管,小数点不接,P0显示个位,P1显示十位,P2显示百位。第一个传感器为P3.0,第二个传感器为P3.1,低电平有效。两个传感器之间的距离是121.2毫米,测速范围10——500米/秒。求大神们给写个程序,小弟初中毕业,程序实在写不出来,现在正在自学中,谢谢了,也没多少财富,先全部奉上,如果嫌少,可以充二十元的话费,再次谢谢了 展开
 我来答
lphaff
推荐于2017-12-15 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1565
采纳率:72%
帮助的人:620万
展开全部
这个距离只有0.1米
如果按中高速100m/s来算的话
通过的时间只有1个毫秒
最高速500m/s的话只有200个us
51单片机测低速的话应该问题不大,测高速可能有误差
P3.0和P3.1是串口使用的引脚
其实你这里用P3.2和P3.3两个中断引脚更合理
我给你提供下思路吧
首先,while中等待P3.0进入低电平时启动定时器计数
然后再while等待P3.1进入低电平停止计数
while(P3.0==0)
{
cnt--;//用于防止没有传感器时死机
if(cnt==0)
{
break;
}
}//等待回声被拉低
TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);//启动定时器
cnt=50000;//重新设定初值,防止没有检测到传感器死机
while(P3.1==0)
{
cnt--;
if(cnt==0)
{
break;
}
}//等待响应完毕
TIM_ITConfig(TIM3, TIM_IT_Update, DISABLE);//关闭定时器
更多追问追答
追问
能帮你写个全部的程序吗?我对编程一窍不通啊
帮忙
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
福州大禹电子科技
2024-12-16 广告
福州大禹电子科技有限公司成立于2008年自创办以来,专注超声产品的研发和产业化,始终坚持技术创新是企业发展动力的理念,运用最基础的物理声学原理,攻克了一系列卡脖子难题,成功打破了国外垄断,把超声技术运用到了工控、水利、市政、环保、医疗,海洋... 点击进入详情页
本回答由福州大禹电子科技提供
查晓筠0i5
2014-12-15 · TA获得超过2752个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:4953万
展开全部

我做单片机设计的

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式