18B20?急急急

[复制链接]
2803|10
 楼主| zjucsd 发表于 2011-5-18 08:08 | 显示全部楼层 |阅读模式
本人在用仿真器仿真的时候,18B20读取温度没有问题,用示波器看脉冲也没问题。但是下载的华邦51单片机上的时候,18B20读取温度出现了错误,其值一直为0X07ff,也就是有效的12位上都是1.
不知那位大侠能够帮助分析分析!
 楼主| zjucsd 发表于 2011-5-18 08:44 | 显示全部楼层
顶一下自己,请大家畅所欲言哦!
zhaoyu2005 发表于 2011-5-18 08:57 | 显示全部楼层
既然仿真时正常,说明程序算法没问题,应该是时序的问题或者片子的使用问题,仔细核对时序,计算单片机的指令周期,适当调整延时,另外看下端口配置是不是和对的
TE_Mars 发表于 2011-5-18 08:59 | 显示全部楼层
请注意时序
 楼主| zjucsd 发表于 2011-5-18 09:38 | 显示全部楼层
时序方面,仿真和PCB板子上用的都是11.0592MHZ的晶振,应该不关时序上的问题了吧?
至于端口配置是不是核对了,这怎么弄呀?
 楼主| zjucsd 发表于 2011-5-18 10:07 | 显示全部楼层
原先该程序曾经在其他机器上用过,可行的,主要是以前的晶振是12M的,现在改成了11.0592M的。就是仿真可行,下载芯片上就错了
wzf3151 发表于 2011-5-18 10:51 | 显示全部楼层
仿真时用的时钟周期可能和自己单独跑时不一样。你仿真时用全速,不要任何断点试试,有时候仿真器会改主频的
qdlxz 发表于 2011-5-18 11:33 | 显示全部楼层
引脚是不是接对?数据端上拉电阻没有?
 楼主| zjucsd 发表于 2011-5-18 13:39 | 显示全部楼层
哈哈哈,我已经找到原因了,跟大家分享一下!
原来我的程序是在标准51上用的,这次用的芯片是华邦的W77E516,这个芯片的运行指令的周期比标准51的要快上1.5-3倍。当我将整个程序模块的延时时间都相应的增加1倍之后,程序下载到单片机之后运行成功!
无论如何,谢谢大家的指导和指教!
给分了......
dtmcp 发表于 2011-5-18 16:05 | 显示全部楼层
我估计也是时序不对,
hotpower 发表于 2011-5-18 23:40 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

100

主题

351

帖子

3

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