2.3 LM94022的输出特性
LM94022的输出特性如图2所示,这是测量温度与输出电压在不同灵敏度时的特性。由于输出电压随温度升高而下降,其灵敏度为负值。在VDD=5 V时,不同灵敏度下几个特定温度值的输出电压如表2所示(典型值)。
数字温度计电路设计的总体方案如图3所示。采用STC89C58单片机作为主控器件;LCD采用FM1602,单片机中的P0作为其接口,并由P2.5~P2.7控制,用以驱动LCD的显示;时钟芯片采用DS1302,用脚P2.2~P2.4作为时钟芯片控制引脚;LM94022作为温度传感芯片,并用TLC2543将其转化成数字信号,用P3.2~P3.6作为ADC的控制引脚;P1口作为键盘的输人口,用以接收由键盘输出的信号;用P2.1和P2.0分别作为温度过高和温度过低的报警控制引脚,P3.7作为蜂鸣器的控制引脚。
3.1 温度采样
LM94022采用“10”模式,在0~100℃范围内,用转化公式:
T=(1 568-V)×0.122 699 38
对输出电压采样(用运放LM2015作电压跟随器)并用ADC转化,由单片机提取,计算并转化成温度。
3.2 时钟电路
时钟采用备用电池,在第一次设定时间后,所储存的信息不会丢失,待下一次电路启动的时候,无需再次设定时间,方便使用。
3.3 人机交换电路
系统由键盘作为人机交换器,4×4结构如图4所示。其中,Time用于时间设定;L-tem和H-tem分别用于低温和高温设定;Return用于返回主界面。
3.4 复位功能
当按下复位键时,对系统初始化,系统的低温设置为0.0℃,高温设置为90.0℃。
3.5 显示界面
第一行显示时间,第二行显示第一路和第二路的温度,当出现紧急情况时,第二行显示原因,第一行显示第几路出错,并将有蜂鸣器鸣叫和LED灯提示。
3.6 数据存储
硬件存储功能没有实现,由于分工出现一些小的问题,导致软硬件结合不当,设计脱节,最终没能实现存储功能。
4 系统软件设计
系统的软件由三大模块组成:主程序模块、功能实现模块和运算控制模块。
4.1 主程序流程
系统上电复位后,进行初始化:选择T0中断(工作方式1)并设置定时器初值,温度测试电路初始化,显示电路初始化。若有按键按下,禁止T0中断,显示处理相应事件的界面。处理完事件后,按下Return键,T0中断重新开启,回到正常的温度显示界面;没有按键按下时,如果T0中断,则更新温度值,如图5所示。