日志档案

发表于 2008-6-23 0:51:58

3

标签: EDN51  多点  DS18B20  

EDN51实验板实现多点测温——改装说明和使用

总体方案已经给过了,现在就一次把源程序和具体使用说明给大家。要毕业了,在上研究生之前我还有三个月的假期,因为家在农村,这阶段就不能经常上网了。有什么问题就请留言,我尽量找机会给予答复。

改后的板子如下:

第一根线是这样的,其余的线只是少了上拉电阻。

具体的使用方法:

系统共有自动模式,手动模式,ID模式和报警设置模式四种工作方式,自动模式为默认工作方式。通过对键盘的操作切换工作方式,详细使用方法如下。

(一)初次使用

系统第一次使用需要进行必要的人工配置,主要是将所使用的DS18B2064位序列号导入单片机,具体方法是:

1.在不接传感器的情况下给系统上电,开机画面结束以后系统会发出断续的报警声音,此时长按“Menu”键进入系统菜单。

2.按“Down”键两次显示“ID Mode”后按“Set”键确认,系统会显示1DS18B20的编号“NO.1和序列号(初次使用为“0000000000000000 )。

3.在总线上只接入一片DS18B20,长按“Change”键系统会自动读出该器件的序列号,存入E2PROM并显示在LCD上。DS18B20序列号最后两位十六进制数是28,可依此大概判断序列号的正误。

4.继续按“Down”键选择“NO.2DS128B20。按3所示的方法读入下一个DS18B20的序列号,直到5个序列号全部读入。如果不需要5个传感器,可在多个编号下读入同一个序列号。

5.配置完毕按“Quit”键进入自动模式,系统循环从5DS18B20读出温度,经报警处理后显示在LCD上,并显示该点的报警上下限。自动模式下LCD右上角显示“Auto”。

(二)手动模式

手动模式可以人工选择要监视的测温点,系统只从该DS18B20读取温度,处理报警信息后显示。进入手动模式的方法是:

1.按“Quit”键进入自动模式(已经在自动模式下可跳过此步)。

2.长按“Menu”键进入系统菜单。

3.按“Down”键一次显示“Hand Mode”后按“Set”键确认。系统会显示“NO.1DS18B20D的温度和报警上下限,并在LCD右上角显示“Hand”。

4.按“Down”键切换不同的DS18B20,按“Quit”键退出手动模式,进入自动模式。

(三)ID模式

ID模式可以显示DS18B20的编号和对应的64位序列号(16进制方式显示),并且可以替换其中任何一个DS18B20。具体方法如下。

1.按“Quit”键进入自动模式(已经在自动模式下可跳过此步)。

2.长按“Menu”键进入系统菜单。

3.按“Down”键两次显示“ID Mode”后按“Set”键确认。系统会显示“NO.1DS18B20的序列号。

4.按“Down”键可以切换显示其他DS18B20的序列号。

5.如果需要更换DS18B20,先按“Down”键选择要被替换掉的DS18B20,在总线上只接入要替换的DS18B20,然后按“Change”键,系统会读出新的序列号并存入E2PROM,替换旧的序列号。替换完毕需接入所有DS18B20

6.按“Quit”键退出ID模式,进入自动模式。

(四)报警设置模式

报警设置模式可以分别设置5DS18B20的报警上下限,设置结束后将相关信息存入DS18B20的片上E2PROM,掉电不丢失。具体方法如下。

1.按“Quit”键进入自动模式(已经在自动模式下可跳过此步)。

2.长按“Menu”键进入系统菜单。

3.按“Down”键三次显示“Alarm Set”后按“Set”键确认。系统会显示“NO.1DS18B20的报警上下限“TH”和“TL”,按“Down”键切换其他DS18B20

4.如果要更改某个DS18B20的报警上下限,在选中该器件后,按“Change”键进入修改状态,箭头所在处表示当前可更改位置;按“Right”和“Left”切换更改“TH”和“TL”;按“Up”和“Down”增加或减少数值;按“Set”键确认更改。

5.按“Quit”键退出报警设置模式,进入自动模式。

(五)特殊说明

1.一般情况下,屏幕右下方会显示当前模式下有效按键的头字母。

2.自动模式下,如果某个器件达到报警条件,声音只会持续2秒;手动模式下,如果选定的器件达到报警条件,声音会持续到报警条件消失。

3.在ID模式和报警设置模式下,DS18B20并不进行温度测量工作,报警失效。因此建议在不需要测温或温度变化不大的情况下才进入以上模式。

4.对某一个DS18B20来说,手动模式的测温频率远大于自动模式,因此在某点温度变化频繁时可以用手动模式跟踪。但手动模式的缺点是其他DS18B20均停止工作。

 

源程序在此,已经给出了必要的注释,大家自己看吧。编译时会出现几个警告,这是因为我使用了第归调用。

rar

系统分类: 单片机   |   用户分类: 单片机相关   |   来源: 原创   |   【推荐给朋友】

    阅读(335)    回复(4)  

投一票您将和博主都有获奖机会!

  • jizzll

    2008-6-28 16:28:02

    666,你对这个18B20用数据线供电了解不,我的系统有12V和3.3V,我想直接用数据线供电。百度没有找到合适的电路

  • will666

    2008-7-12 11:06:52

    手册里面有,用一个MOS管上拉

  • jizzll

    2008-7-14 23:21:56

    这个知道的,现在是新的问题出来了. 读温度的时候移位那里不正确。 DS18B20的函数,我在51上面编过,现在把它移植到CC2510上面,我从示波器上面看过,延时应该是正确的。 不知道怎么具体联系你,有QQ或者邮箱么?

  • will666

    2008-7-22 9:09:11

    不好意思,现在放假在家,上网不方便,开学后就好了。