郁闷的问题

[复制链接]
2041|2
 楼主| zxq1234508 发表于 2009-3-30 20:06 | 显示全部楼层 |阅读模式
最近做一个数字温度传感器的程序,在伟福仿真器上运行正常了,下载到单片机后就不正常了(试过AT89C51/C52以及P89C61X2都不行)。现象是,本来是要循环读取传感器中的值的,但是下载到单片机后就只运行了一次,有时候是两次,然后就不动了。分析了一下原因,是因为传感器转换结束的信号是在数据线上给一个低电平,我启动转换后就做了一个while(DATA!=0);的死循环,现在单片机就是停在了那里。不明白的问题有两点:
1、为什么仿真器运行是正常的,仿真器正常是不是说明我的时序没有问题?
2、如果是驱动的问题,为什么我加了强、弱上拉电阻都没有效果?
很是郁闷,调了好久都没有出来。单片机和传感器的距离大概是10cm左右。
那位仁兄帮忙分析一下。谢谢!
mohanwei 发表于 2009-3-30 20:11 | 显示全部楼层

通信是绝对不能出现while(1)的

当然了,如果用了OS,或者自己调度也就无所谓了。
一般情况下都要做超时处理的。
估计是18b20,好好看看时序要求,用示波器看一看……
yes24 发表于 2009-3-31 09:15 | 显示全部楼层

一个看法

死机原因有很多的啊,为什么不确定一下先。

如果真是那里,会不会是初始化时复位不好呢。示波器一看就知道了的啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

90

主题

485

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部