自制可测量液体温度的数显温度计(DS18B20)

作者 刘作新 来源 《无线电》杂志 2009.02
发布时间 2011-01-03

4.完成温度上限报警任务。IC1的RA4端为温度上限报警输出端,当IC1检测到测温值等于或超过温度上限报警设定值时,RA4端口以0.5s为间隔交替输出高低电平,蜂鸣器HA发出"嘀、嘀"的报警声。温度上限报警设定值存储在IC1内部的EEPROM存储器中。

5.对温度上限报警开启/关闭控制开关S1、温度上限报警值设置开关S2与S3进行检测,以便执行相应的操作功能。

由于单片机IC1与液晶显示屏LCD只有供电电压为5V时,才能确保二者稳定的工作,为此,在电路中加入了由IC3MAX757与外围元件构成的升压电路。通过升压电路,将锂电池的3.6V供电提升为IC1与液晶显示屏所需的5V供电。MAX757为美信公司出品的升压型DC-DC转换芯片,它在输入电压低至0.7V时仍然可以稳定工作,这样的特性很适合两节电池或锂电池供电的系统,因此笔者选用了此IC构成升压电路。MAX757的技术文档可从美信公司的网站(www.maxim-ic.com.cn)上下载。MAX757的输出电压由电阻R7、R8的分压比决定,计算公式为UO=1.25V×[(R7+R8)÷R8],公式中电阻的单位均为kΩ。笔者对此升压电路进行过测试,当输入电压在2~4.5V之间变化时,负载为本数显温度计时,用指针式万用表监测电容C5两端的电压,观测不到5V电压的改变,这证明MAX757的升压调整特性还是很不错的。

二、软件编程

软件在MPLABIDE集成开发环境中用汇编语言编写。包括"1-线"总线通信子程序、LCD控制与显示子程序、二-十进制转换子程序、开关检测子程序、温度上限报警子程序、单片机内部EEPROM读写子程序、延时子程序等。由于温度上限报警设定值保存在单片机IC1内部的EEPROM存储器中,所以当S2或S3接通时,要通过EEPROM读写子程序改变存储在EEPROM内的温度上限报警设定值。在对EEPROM写数据的时候,每写完一次数据,一定要对单片机IC1的EECON1寄存器的WR位进行软件查询是否为0,为0的话证明一次写操作完成,之后才能进行下一次的写操作或执行其它任务,否则数据无法写入EEPROM。在对单片机编程烧写的时候,初始化的温度上限报警值设定为25℃,初始化工作在程序中通过下面的两条伪指令完成:

ORG 2100H ;对编程器而言EEPROM的起始地址为2100H

DE .25   ;向EEPROM的00H单元写入十进制数25

三、制作与使用

为了便于读者自制本数显温度计,笔者为其设计了PCB,如图3所示。此PCB为单面布线,方便读者用热转印法制作电路板,PCB的顶层丝印层见图4,读者可参照此图片进行组装,在图片上J1、J2为跳线,焊接完毕的电路板如图5所示。

印制板图

顶层丝印层

上一页123下一页
电子爱好者 DIANZIAIHAOZHE.COM