总体方案已经给过了,现在就一次把源程序和具体使用说明给大家。要毕业了,在上研究生之前我还有三个月的假期,因为家在农村,这阶段就不能经常上网了。有什么问题就请留言,我尽量找机会给予答复。
改后的板子如下:
第一根线是这样的,其余的线只是少了上拉电阻。
具体的使用方法:
系统共有自动模式,手动模式,ID模式和报警设置模式四种工作方式,自动模式为默认工作方式。通过对键盘的操作切换工作方式,详细使用方法如下。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
(一)初次使用
系统第一次使用需要进行必要的人工配置,主要是将所使用的DS18B20的64位序列号导入单片机,具体方法是:
1.在不接传感器的情况下给系统上电,开机画面结束以后系统会发出断续的报警声音,此时长按“Menu”键进入系统菜单。
2.按“Down”键两次显示“ID Mode”后按“Set”键确认,系统会显示1号DS18B20的编号“NO<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />.1”和序列号(初次使用为“0000000000000000” )。
3.在总线上只接入一片DS18B20,长按“Change”键系统会自动读出该器件的序列号,存入E2PROM并显示在LCD上。DS18B20序列号最后两位十六进制数是28,可依此大概判断序列号的正误。
4.继续按“Down”键选择“NO.2”号DS128B20。按3所示的方法读入下一个DS18B20的序列号,直到5个序列号全部读入。如果不需要5个传感器,可在多个编号下读入同一个序列号。
5.配置完毕按“Quit”键进入自动模式,系统循环从5个DS18B20读出温度,经报警处理后显示在LCD上,并显示该点的报警上下限。自动模式下LCD右上角显示“Auto”。
(二)手动模式
手动模式可以人工选择要监视的测温点,系统只从该DS18B20读取温度,处理报警信息后显示。进入手动模式的方法是:
1.按“Quit”键进入自动模式(已经在自动模式下可跳过此步)。
2.长按“Menu”键进入系统菜单。
3.按“Down”键一次显示“Hand Mode”后按“Set”键确认。系统会显示“NO.1”号DS18B20D的温度和报警上下限,并在LCD右上角显示“Hand”。
4.按“Down”键切换不同的DS18B20,按“Quit”键退出手动模式,进入自动模式。
(三)ID模式
ID模式可以显示DS18B20的编号和对应的64位序列号(16进制方式显示),并且可以替换其中任何一个DS18B20。具体方法如下。
1.按“Quit”键进入自动模式(已经在自动模式下可跳过此步)。
2.长按“Menu”键进入系统菜单。
3.按“Down”键两次显示“ID Mode”后按“Set”键确认。系统会显示“NO.1”号DS18B20的序列号。
4.按“Down”键可以切换显示其他DS18B20的序列号。
5.如果需要更换DS18B20,先按“Down”键选择要被替换掉的DS18B20,在总线上只接入要替换的DS18B20,然后按“Change”键,系统会读出新的序列号并存入E2PROM,替换旧的序列号。替换完毕需接入所有DS18B20。
6.按“Quit”键退出ID模式,进入自动模式。
(四)报警设置模式
报警设置模式可以分别设置5个DS18B20的报警上下限,设置结束后将相关信息存入DS18B20的片上E2PROM,掉电不丢失。具体方法如下。
1.按“Quit”键进入自动模式(已经在自动模式下可跳过此步)。
2.长按“Menu”键进入系统菜单。
3.按“Down”键三次显示“Alarm Set”后按“Set”键确认。系统会显示“NO.1”号DS18B20的报警上下限“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均停止工作。
源程序在此,已经给出了必要的注释,大家自己看吧。编译时会出现几个警告,这是因为我使用了第归调用。
用户156951 2010-6-7 17:14
用户156951 2010-6-7 17:06
用户407471 2009-11-24 21:48
用户1364249 2008-7-22 09:09
jizzll_617398179 2008-7-14 23:21
用户1364249 2008-7-12 11:06
jizzll_617398179 2008-6-28 16:28