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