读温度 初始化温度传感器 扫描键盘选定所需芯片 选定所需芯片 进行温度转换 读取温度 调试显示子程序 子程序返回
图4-2 DSl8B20操作流程图
4.2.1 温度的采集
每一片DSl8B20在其ROM中都存有其唯一的48位序列号,在出厂前已写入片内ROM中,主机在进入操作程序前必须逐一接入DSl8B20,用读ROM(33H)命令
- 26 -
将该DSl8B20的序列号读出并登录。当主机需要对众多在线DSl8B20的某一个进行操作时首先要发出匹配ROM命令(55H),紧接着主机提供64位序列(包括该DSl8B20的48位序列号)之后的操作就是针对该DSl8B20的,而所谓跳过ROM命令即为之后的操作,是对所有DSl8B20的框图中先有跳过ROM即是启动所有DSl8B20进行温度变换之后通过匹配ROM再逐一地读回每个DSl8B20的温度数据在DSl8B20组成的测温系统中主机在发出跳过ROM命令之后再发出统一的温度转换启动码44H就可以实现所有DSl8B20的统一转换再经过1s后就可以用很少的时间去逐一读取这种方式,使其T值往往小于传统方式。由于采取公用的放大电路和A/D转换器只能逐一转换,显然通道数越多这种省时效应就越明显。 4.2.2 多点温度的测量
单总线 已经挂接了4个DS18B20。由于已经在上面获取了多个DS18B20的ROM代码并在AT89C51单片机内部的中建立了测量位置点和传感器64位ROM代码之间的关系表,因此对多个温度的巡回测量的步骤如下:
(1)发跳过ROM命令CCH。
(2)发启动所有在线的DS18B20进行温度转换命令44H。 (3)延迟1s。
(4)发匹配ROM命令55H。
(5)按照AT89C51中建立的关系表的顺序取出64位ROM代码发送到单总线。 (6)发读温度值命令BEH,读取温度值。
(7)进行CRC校验和数据处理后送LCD显示器显示。 (8)重复第4步到第7步,直到所有的DS18B20测量处理完。 (9)再重复第1步到第8步,进行下一轮的巡回测量。
如果只对某一个DS18B20进行温度测量,只要将第1步跳过ROM命令CCH,改为匹配ROM命令55H,将拨动开关拨到和要测量的DS18B20的编号相对应的数值上,单片机读取拨动开关的数值(编号)n,到AT89C51建立的关系表中从(n -1)×8开始的单元取出ROM代码发送到总线,去掉第8步,其余和上面步骤相似即可。测试中,DS18B20选择芯片出厂时默认的12位转换精度,转换的结果用16位符号扩展的二进制补码读数形式提供。
- 27 -
初始化 设置18B20个数 跳过ROM 符合ROM 等待1S 读存储器 初始化 缓冲指针增一 初始化 否 B-1=0? 是
图4-3 多路温度测量电路流程图
4.3 显示模块流程图
开始 初始化LCD1602 写显示地址 写显示字符 子程序返回 图4-4 LCD1602A操作流程图
4.4 键盘扫描流程图
按键处理程序通过扫描按键情况,读取键值。主要完成各点温度传感器上下限报警参数设置和显示模式设置。
- 28 -
(1)通过扫描键盘读取键值,流程图如图4-5所示:
键盘扫描 N 有键闭合 Y 延时去键抖动扫描键盘 N 找到闭合键 Y 计算键值 N Y 闭合键释放 建立无效标志 建立有效标志 返回
图4-5 键盘扫描程序流程图
(2)设置报警上、下限值
DS18B20设有温度上下限报警功能。DSl8B20的存储器由两部分组成:一个是9字节的静态RAM,其中第0和第1字节用于存储16位的温度转换值,第2(高温限TH)和第3字节(低温限TL)作为温度报警限值或通用存储器单元供用户使用;另一个是非易失性的E2PROM。当静态RAM作为温度报警限值使用时,可以在系统安装和工作前,用写RAM命令4EH将高温限TH和低温限TL写入第2和第3字节单元。由于静态RAM掉电后信息即丢失,因此需要再通过拷贝RAM命令48H将第2和第3字节单元的温度报警限值拷贝到E2PROM中。主程序只要在初始化部分使用重调E2PROM命令B8H,就可以将E2PROM中的温度报警限值重新拷贝到静态RAM中。
- 29 -
第5章 元器件安装及调试
5.1元器件安装
(1)在安装元件前要先认识和检测元件,一些常见元件的认识与检测如下:
① 电容:电容在这里用到的是瓷片电容和电解电容,其外围上面都有标记,我们只需检测其好坏。在利用万用表检测时要注意如果为电解电容红表笔应接负极,黑表笔接正极。对于2200pF以下的电容用万用表R×10kΩ或R×100kΩ测量,2200pF以上可以用R×1kΩ或R×100kΩ档测量。档次调整好了和表笔接好后,观察万用表指针是否较大的偏转,然后由最大的偏转慢慢的减小至最小值(或零),如果是上述情况则证明该电容有充、放电的功能,为好电容。如果发现万用表指针不偏转说明该电容开路。当万用表指针偏转至最大(阻值为零)说明该电容已击穿。
② 色环电阻:我们在此使用的是五个色环标志的电阻。此类电阻前三环表示有效数字,第四环表示倍率,与前四环距离较大的第五环表示允许偏差。
③ 二极管:在此装置中要用到发光二极管,对于发光二极管一般引脚长的那端为正极,引脚短的那端为负极。这是粟老师教给我的简便方法。
④ 三极管:在此装置中,我们用到8550型号三极管,在使用三极管前我们首先要确定它的c、e和b极。用万用表检测三极管的极性时,首先确定基极b:用万用表R×1KΩ或R×10KΩ档,然后用黑(红)表笔任意测量两极直到指针有较大摆动为止,把黑(红)表笔固定,用另一只表笔红(黑)表笔测量另一极,直至指针仍有较大的摆动,这时可确定固定的表笔为b同时根据表笔的颜色可以知道NPN(PNP)型。其次对c和e极的判断为:假设某极为c极,然后用黑表笔点住集电极c,红表笔点e。在用手捏住c和b极,观察指针摆动度。然后对换表笔,重复前面操作,观察指针摆动度。比较摆动度较小的那表笔为集电极c,剩下的为e。在此过程中,我总是不能一下子就能分别出它的三个极,要经过反复的测量,才确定它的三个极。
认识了元器件后,下面介绍安装时应遵循一些基本的要求与原则: (2)安装元件时的基本要求:
① 保证导通与绝缘的电气特性,电气连接的通与断是安装的核心这里所说的通与断,不仅是安装后简单的使用万用表测试的结果,而且要考虑在振动,长期工作,湿度等自然条件变化的环境中,都能保证通者恒通,断者恒断。
- 30 -