C51单片机 超声波测距模快问题 向高手求解

voidmain(){unsignedinti;IT0=1;EX0=1;TMOD=0x09;TH0=0x00;TL0=0x00;Echo=1;Trig=0;while(1... void main()
{
unsigned int i;

IT0 = 1;
EX0 = 1;
TMOD = 0x09;
TH0 = 0x00;
TL0 = 0x00;
Echo = 1;
Trig = 0;
while(1)
{

Display(10);
Trig = 1;
for(i=12;i>0;i--)
{
_nop_(); _nop_(); _nop_(); _nop_(); _nop_();
_nop_(); _nop_(); _nop_(); _nop_(); _nop_();
}
Trig = 0;
TR0 = 1;
EA = 1;

}
}
void INT0() interrupt 0
{
EA = 0;
s = ((TH0*256)+TL0)*0.18446/10;
if(s>4500)s=4500;
TH0 = TL0 = 0;
}
这段程序为什么只能测到70cm左右呢(最大测距是450cm) ,在这70cm之内测得的结果都是准确的,有人说是定时器溢出了,可是我怎么也想不通,亲手测试了一下并没有定时器溢出的现象产生,疑惑啊
展开
 我来答
大禹电子
高粉答主

2012-11-14 · 超声波是我一生的事业
大禹电子
采纳数:6297 获赞数:18368

向TA提问 私信TA
展开全部
仿真一下吧,定时器溢出的可能性很大。当然,你要先确定硬件是没有问题的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
福州大禹电子科技
2024-12-16 广告
福州大禹电子科技有限公司成立于2008年自创办以来,专注超声产品的研发和产业化,始终坚持技术创新是企业发展动力的理念,运用最基础的物理声学原理,攻克了一系列卡脖子难题,成功打破了国外垄断,把超声技术运用到了工控、水利、市政、环保、医疗,海洋... 点击进入详情页
本回答由福州大禹电子科技提供
wenyihao1988
2012-11-16
知道答主
回答量:23
采纳率:0%
帮助的人:3.3万
展开全部
问题就出现在 定时器和 外部中断这两个对象中,在好好的看看程序,我已经做的超声波测距可以达到5米,另外上网查找超声测距的现成程序,我记得以前买的金聚宝的开发板里面就有现成的测量程序,拿来就用了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友caaea59
2012-11-15 · TA获得超过409个赞
知道小有建树答主
回答量:571
采纳率:33%
帮助的人:222万
展开全部
s 你定义的什么类型? 编程软件给出警告没?
追问
int 型的  没有警告
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式