当前位置:
工控论坛
> >
产品
>
嵌入式系统
>
单片机
我要发帖
求助:DS18B20在51单片机中的应用
点击:
570
| 回复:
5
gongkongedit
关注
私信
精华:1099帖
求助:0帖
帖子:14392帖 | 54470回
年度积分:0
历史总积分:622
注册:2008年9月08日
发表于:2005-01-17 21:25:00
楼主
各位帮帮忙! 我现在用AT89C2051单片机和DS18B20做一个温度控制器.我想使用DS18B20的9位的精度,把温度采样放在定时器中断子程序中.那么我的定时期中断的时间间隔怎么确定呢?要多长时间才合适? 求各位高手帮忙!!
分享到:
收藏
邀请回答
回复楼主
举报
gongkongedit
关注
私信
精华:1099帖
求助:0帖
帖子:14392帖 | 54470回
年度积分:0
历史总积分:622
注册:2008年9月08日
发表于:2005-01-18 09:38:00
1楼
由于 18B20 的通信过程比较慢,你需要在定时器中断中加一个寄存器以实现更长的延时,以便实现秒级的计时
回复
引用
举报
gongkongedit
关注
私信
精华:1099帖
求助:0帖
帖子:14392帖 | 54470回
年度积分:0
历史总积分:622
注册:2008年9月08日
发表于:2005-01-18 09:55:00
2楼
谢谢周公!我现在用20ms的中断,然后在中断中再加延时,我尝试一下. 借问一下您是西安的吗?
回复
引用
举报
gongkongedit
关注
私信
精华:1099帖
求助:0帖
帖子:14392帖 | 54470回
年度积分:0
历史总积分:622
注册:2008年9月08日
发表于:2005-01-18 16:26:00
3楼
是西安的。 “中断中再加延时”是错误的,应该是(PLM): TR0 = 0 ; 停止定时器 TL0 = LOW ( - 9208 ) ; 给定时器赋初值 TH0 = HIGH ( - 9208 ) ; 给定时器赋初值 TR0 = 1 ; 启动定时器 MS = MS + 1 ; 毫秒计数器 + 1 IF MS > 49 THEN DO ; MS = 0 ; 毫秒计数器清零 SEC = SEC + 1 ; 秒计数器 + 1 END ;
回复
引用
举报
gongkongedit
关注
私信
精华:1099帖
求助:0帖
帖子:14392帖 | 54470回
年度积分:0
历史总积分:622
注册:2008年9月08日
发表于:2005-02-26 14:12:00
4楼
犯得上法似的: 好不容易看到你这片文章,我现在正作毕业设计,课题就是你做的这东西,由于刚接触这些片子和传感器,watchdog.有很多弯路走,能否提供些非机密的语句和设计思路(大体上有思路,关键是程序及调用上设计细节,和编程时应注意的地方),时间稍有点紧.能否尽快回复,感激不尽.! 我的邮箱:nihao82109@163.com
回复
引用
举报
gongkongedit
关注
私信
精华:1099帖
求助:0帖
帖子:14392帖 | 54470回
年度积分:0
历史总积分:622
注册:2008年9月08日
发表于:2005-02-26 23:21:00
5楼
请参考先前的讨论,搜‘18B20’。
回复
引用
举报
热门招聘
相关主题
挑战单片机的嵌入极限
[3922]
求助:有支持非标准波特率的串...
[1591]
TCL- regexp命令
[1196]
求助:PC104的小问题
[1078]
谁知道Keil C51的使用方法
[1033]
供sandisk.M-SYSTEMS电子盘
[1213]
Wiport 小巧的嵌入式串口转无...
[983]
关于远距离数据采集的方案
[2940]
嵌入式特种军用、工业计算机
[1143]
初学者如何学习嵌入式系统
[1052]
官方公众号
智造工程师
客服
小程序
公众号