数字式温度计的设计
2014-12-13陈龙
陈龙
摘要:介绍了数字式温度计设计方法,采用温度传感器LM35对环境温度进行采集,利用ADC0804芯片进行模拟信号与数字信号转换,单片机将输入的信号经行内部计算处理,最后将温度值通过数码管显示出来。
关键词:温度测量 数码显示 温度传感器LM35
中图分类号:TH811 文献标识码:A 文章编号:1007-9416(2014)08-0155-02
传统的水银玻璃温度计,利用液体的热膨胀原理制造的,温度计中含有水银,若破损对人体造成伤害及对周围环境造成影响。电子温度计完全克服了传统温度计的缺点,具有读数方便、测量时间短、测量精度高等优点。它是利用温度传感器将温度信号转化为电信号,通过CPU进行信号处理,最后通过数码显示出温度值的。
1 方案设计
数字式温度计包括温度采集、A/D转换、CPU处理、数码显示四大模块组成,系统框图如图1所示。其中温度采集模块采用温度传感器LM35实现,A/D转换模块采用ADC0804实现,CPU处理模块采用AT89S52实现,数码显示模块采用共阳数码管动态显示实现。
2 系统设计
2.1 温度采集
LM35温度传感器 1脚接电源VCC,3脚接地GND,2脚为模拟量输出端,经一阻值为100Ω的电阻缓冲对外输出。2脚输出端接一RC串联回路,起到缓冲作用。模拟量输出端0℃时对应的输出为0V,温度每升高1℃,对应输出端电压增加10.0mV。温度范围为0℃~128℃。
2.2 A/D(模拟/数字)转换器
温度传感器输出的模拟信号经取样放大后,应传送到单片机内做数据处理,但是单片机只能对数字信号进行处理,不能对模拟量进行处理。因此需要将模拟信号转换原理为与之对应的数字信号,采用A/D(模拟/数字)转换器ADC0804。图2为模拟数字转换电路图。(1)Vin(+)6脚为模拟量输入端,由温度传感器LM35提供信号,Vin(-)接地;(2)CLKR19脚、CLKIN4脚按照典型接法连接,为ADC0804提供时钟脉冲;(3)CS接地,片选端有效,芯片启动工作;RD接地,读信号有效,可读取转换输出数据;(4)NTR、WR同时接到单片机控制信号,由单片机控制,当INTR、WR同时为低电平时,启动转换,当INTR、WR同时为高电平时,保持前一周期状态;(5)Vref/2 9脚为1/2参考电压,参考电压由温度传感器LM35的参数有关,由于LM35温度范围是0℃~128℃,模拟量输出端0℃时对应的输出为0V,温度每升高1℃,对应输出端电压增加10.0mV,对应参考电压应为1.28V,因此Vref/2 9脚的电压应为0.64V,硬件电路采用分压电阻实现,运算放大器反向输入端与输出端相连,接成同向比例放大器,放大倍数是1,没有放大作用,是用来提高输入电阻,放大器输出0.64V送给Vref/2。(6)DB7~DB0为八位数据输出端,直接传送到单片机内。由于ADC0804是8位数据输出,因此它的分辨率为1/256,即数据从00000000~11111111。由于温度传感器LM35的参考电压为1.28V,数据分辨率为1.28/256,八位数据从00000000变为00000001时,模拟量从0V变为0.005V,当八位数据是11111111时,对应模拟量为1.28V。
2.3 CPU处理
选择用AT89S52单片机作为本次设计的核心,它具有ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。程序流程:开始>>数据采集>>数据转换>>显示输出。图3为单片机控制电路图。
(1)RXD10脚为A/D转换器控制端,输出高、低信号控制A/D转换芯片进行数据转换;(2)P1.0~P1.7为A/D转换器数据输入端,输入8位数据信号;(3)P0.0~P0.7为数码管数码编码输出端,由于数码管选用是共阳极数码管,即给低电平对应某段发光。若显示0,P0输出十六进制数为40H;(4)P2.6、P2.7为数码管位选端。由于数码管采用的动态扫描方式,P2.6对应是两位数码管中的个位显示,P2.7对应是两位数码管中的十位显示。P2.7、P2.6采用组合01时,选通个位数码管,P0口发出对应的数据段码,个位数码管显示数据;组合10时,选通十位数码管,P0口发出对应的数据段码,十位数码管显示数据。
2.4 数码显示
本次设计数码显示采用七段数码管作为输出显示器件。显示方式采用动态,方法是采用位扫描方式,对数码管字形和字位两种输出控制。每一时刻只有一个字形和一个字位被选中输出。选中字位信号使该位为当前显示位,字形输出只对选中位有效,便实现了该位内容的显示,同时未选中的位不能显示,处于熄灭状态。各位依次轮流显示,每位显示都保持一段相同的时间,每个字位选中时中送入对应的字形的数据,可以实现多位不同的数字显示。利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
3 系统测试
3.1 测试仪器
水银温度计、数字式温度计、加热棒。
3.2 测试方法
将水银温度计与数字温度计同时接近加热棒,观察温度计的变化。
3.3 测试出现问题及解决方法
(1)数码管显示的温度值比实际的温度值低1℃,我们经过实践发现有两种解决的办法:一种是通过软件补偿的方法,将初始值0℃对应的“00000000”改为“00000001”,整体显示值提高1℃;另一种是调节ADC0804的参考电压Vref/2,改变它也可以调整温度显示值。(2)数码管亮度不够,数码管的位选端的电流过小,解决办法是位选端加三极管驱动电路。
4 结语
温度是一种随时间而变化的模拟量,数字式温度计利用温度传感器对温度进行采集,然后将温度值显示出来,测量时间短、大幅度提高被测对象温度的精度指标,也可被制作成探测头远距离操作,应用广泛。
参考文献
[1]王静霞.单片机应用技术[M].北京:电子工业出版社,2012.endprint
摘要:介绍了数字式温度计设计方法,采用温度传感器LM35对环境温度进行采集,利用ADC0804芯片进行模拟信号与数字信号转换,单片机将输入的信号经行内部计算处理,最后将温度值通过数码管显示出来。
关键词:温度测量 数码显示 温度传感器LM35
中图分类号:TH811 文献标识码:A 文章编号:1007-9416(2014)08-0155-02
传统的水银玻璃温度计,利用液体的热膨胀原理制造的,温度计中含有水银,若破损对人体造成伤害及对周围环境造成影响。电子温度计完全克服了传统温度计的缺点,具有读数方便、测量时间短、测量精度高等优点。它是利用温度传感器将温度信号转化为电信号,通过CPU进行信号处理,最后通过数码显示出温度值的。
1 方案设计
数字式温度计包括温度采集、A/D转换、CPU处理、数码显示四大模块组成,系统框图如图1所示。其中温度采集模块采用温度传感器LM35实现,A/D转换模块采用ADC0804实现,CPU处理模块采用AT89S52实现,数码显示模块采用共阳数码管动态显示实现。
2 系统设计
2.1 温度采集
LM35温度传感器 1脚接电源VCC,3脚接地GND,2脚为模拟量输出端,经一阻值为100Ω的电阻缓冲对外输出。2脚输出端接一RC串联回路,起到缓冲作用。模拟量输出端0℃时对应的输出为0V,温度每升高1℃,对应输出端电压增加10.0mV。温度范围为0℃~128℃。
2.2 A/D(模拟/数字)转换器
温度传感器输出的模拟信号经取样放大后,应传送到单片机内做数据处理,但是单片机只能对数字信号进行处理,不能对模拟量进行处理。因此需要将模拟信号转换原理为与之对应的数字信号,采用A/D(模拟/数字)转换器ADC0804。图2为模拟数字转换电路图。(1)Vin(+)6脚为模拟量输入端,由温度传感器LM35提供信号,Vin(-)接地;(2)CLKR19脚、CLKIN4脚按照典型接法连接,为ADC0804提供时钟脉冲;(3)CS接地,片选端有效,芯片启动工作;RD接地,读信号有效,可读取转换输出数据;(4)NTR、WR同时接到单片机控制信号,由单片机控制,当INTR、WR同时为低电平时,启动转换,当INTR、WR同时为高电平时,保持前一周期状态;(5)Vref/2 9脚为1/2参考电压,参考电压由温度传感器LM35的参数有关,由于LM35温度范围是0℃~128℃,模拟量输出端0℃时对应的输出为0V,温度每升高1℃,对应输出端电压增加10.0mV,对应参考电压应为1.28V,因此Vref/2 9脚的电压应为0.64V,硬件电路采用分压电阻实现,运算放大器反向输入端与输出端相连,接成同向比例放大器,放大倍数是1,没有放大作用,是用来提高输入电阻,放大器输出0.64V送给Vref/2。(6)DB7~DB0为八位数据输出端,直接传送到单片机内。由于ADC0804是8位数据输出,因此它的分辨率为1/256,即数据从00000000~11111111。由于温度传感器LM35的参考电压为1.28V,数据分辨率为1.28/256,八位数据从00000000变为00000001时,模拟量从0V变为0.005V,当八位数据是11111111时,对应模拟量为1.28V。
2.3 CPU处理
选择用AT89S52单片机作为本次设计的核心,它具有ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。程序流程:开始>>数据采集>>数据转换>>显示输出。图3为单片机控制电路图。
(1)RXD10脚为A/D转换器控制端,输出高、低信号控制A/D转换芯片进行数据转换;(2)P1.0~P1.7为A/D转换器数据输入端,输入8位数据信号;(3)P0.0~P0.7为数码管数码编码输出端,由于数码管选用是共阳极数码管,即给低电平对应某段发光。若显示0,P0输出十六进制数为40H;(4)P2.6、P2.7为数码管位选端。由于数码管采用的动态扫描方式,P2.6对应是两位数码管中的个位显示,P2.7对应是两位数码管中的十位显示。P2.7、P2.6采用组合01时,选通个位数码管,P0口发出对应的数据段码,个位数码管显示数据;组合10时,选通十位数码管,P0口发出对应的数据段码,十位数码管显示数据。
2.4 数码显示
本次设计数码显示采用七段数码管作为输出显示器件。显示方式采用动态,方法是采用位扫描方式,对数码管字形和字位两种输出控制。每一时刻只有一个字形和一个字位被选中输出。选中字位信号使该位为当前显示位,字形输出只对选中位有效,便实现了该位内容的显示,同时未选中的位不能显示,处于熄灭状态。各位依次轮流显示,每位显示都保持一段相同的时间,每个字位选中时中送入对应的字形的数据,可以实现多位不同的数字显示。利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
3 系统测试
3.1 测试仪器
水银温度计、数字式温度计、加热棒。
3.2 测试方法
将水银温度计与数字温度计同时接近加热棒,观察温度计的变化。
3.3 测试出现问题及解决方法
(1)数码管显示的温度值比实际的温度值低1℃,我们经过实践发现有两种解决的办法:一种是通过软件补偿的方法,将初始值0℃对应的“00000000”改为“00000001”,整体显示值提高1℃;另一种是调节ADC0804的参考电压Vref/2,改变它也可以调整温度显示值。(2)数码管亮度不够,数码管的位选端的电流过小,解决办法是位选端加三极管驱动电路。
4 结语
温度是一种随时间而变化的模拟量,数字式温度计利用温度传感器对温度进行采集,然后将温度值显示出来,测量时间短、大幅度提高被测对象温度的精度指标,也可被制作成探测头远距离操作,应用广泛。
参考文献
[1]王静霞.单片机应用技术[M].北京:电子工业出版社,2012.endprint
摘要:介绍了数字式温度计设计方法,采用温度传感器LM35对环境温度进行采集,利用ADC0804芯片进行模拟信号与数字信号转换,单片机将输入的信号经行内部计算处理,最后将温度值通过数码管显示出来。
关键词:温度测量 数码显示 温度传感器LM35
中图分类号:TH811 文献标识码:A 文章编号:1007-9416(2014)08-0155-02
传统的水银玻璃温度计,利用液体的热膨胀原理制造的,温度计中含有水银,若破损对人体造成伤害及对周围环境造成影响。电子温度计完全克服了传统温度计的缺点,具有读数方便、测量时间短、测量精度高等优点。它是利用温度传感器将温度信号转化为电信号,通过CPU进行信号处理,最后通过数码显示出温度值的。
1 方案设计
数字式温度计包括温度采集、A/D转换、CPU处理、数码显示四大模块组成,系统框图如图1所示。其中温度采集模块采用温度传感器LM35实现,A/D转换模块采用ADC0804实现,CPU处理模块采用AT89S52实现,数码显示模块采用共阳数码管动态显示实现。
2 系统设计
2.1 温度采集
LM35温度传感器 1脚接电源VCC,3脚接地GND,2脚为模拟量输出端,经一阻值为100Ω的电阻缓冲对外输出。2脚输出端接一RC串联回路,起到缓冲作用。模拟量输出端0℃时对应的输出为0V,温度每升高1℃,对应输出端电压增加10.0mV。温度范围为0℃~128℃。
2.2 A/D(模拟/数字)转换器
温度传感器输出的模拟信号经取样放大后,应传送到单片机内做数据处理,但是单片机只能对数字信号进行处理,不能对模拟量进行处理。因此需要将模拟信号转换原理为与之对应的数字信号,采用A/D(模拟/数字)转换器ADC0804。图2为模拟数字转换电路图。(1)Vin(+)6脚为模拟量输入端,由温度传感器LM35提供信号,Vin(-)接地;(2)CLKR19脚、CLKIN4脚按照典型接法连接,为ADC0804提供时钟脉冲;(3)CS接地,片选端有效,芯片启动工作;RD接地,读信号有效,可读取转换输出数据;(4)NTR、WR同时接到单片机控制信号,由单片机控制,当INTR、WR同时为低电平时,启动转换,当INTR、WR同时为高电平时,保持前一周期状态;(5)Vref/2 9脚为1/2参考电压,参考电压由温度传感器LM35的参数有关,由于LM35温度范围是0℃~128℃,模拟量输出端0℃时对应的输出为0V,温度每升高1℃,对应输出端电压增加10.0mV,对应参考电压应为1.28V,因此Vref/2 9脚的电压应为0.64V,硬件电路采用分压电阻实现,运算放大器反向输入端与输出端相连,接成同向比例放大器,放大倍数是1,没有放大作用,是用来提高输入电阻,放大器输出0.64V送给Vref/2。(6)DB7~DB0为八位数据输出端,直接传送到单片机内。由于ADC0804是8位数据输出,因此它的分辨率为1/256,即数据从00000000~11111111。由于温度传感器LM35的参考电压为1.28V,数据分辨率为1.28/256,八位数据从00000000变为00000001时,模拟量从0V变为0.005V,当八位数据是11111111时,对应模拟量为1.28V。
2.3 CPU处理
选择用AT89S52单片机作为本次设计的核心,它具有ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。程序流程:开始>>数据采集>>数据转换>>显示输出。图3为单片机控制电路图。
(1)RXD10脚为A/D转换器控制端,输出高、低信号控制A/D转换芯片进行数据转换;(2)P1.0~P1.7为A/D转换器数据输入端,输入8位数据信号;(3)P0.0~P0.7为数码管数码编码输出端,由于数码管选用是共阳极数码管,即给低电平对应某段发光。若显示0,P0输出十六进制数为40H;(4)P2.6、P2.7为数码管位选端。由于数码管采用的动态扫描方式,P2.6对应是两位数码管中的个位显示,P2.7对应是两位数码管中的十位显示。P2.7、P2.6采用组合01时,选通个位数码管,P0口发出对应的数据段码,个位数码管显示数据;组合10时,选通十位数码管,P0口发出对应的数据段码,十位数码管显示数据。
2.4 数码显示
本次设计数码显示采用七段数码管作为输出显示器件。显示方式采用动态,方法是采用位扫描方式,对数码管字形和字位两种输出控制。每一时刻只有一个字形和一个字位被选中输出。选中字位信号使该位为当前显示位,字形输出只对选中位有效,便实现了该位内容的显示,同时未选中的位不能显示,处于熄灭状态。各位依次轮流显示,每位显示都保持一段相同的时间,每个字位选中时中送入对应的字形的数据,可以实现多位不同的数字显示。利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
3 系统测试
3.1 测试仪器
水银温度计、数字式温度计、加热棒。
3.2 测试方法
将水银温度计与数字温度计同时接近加热棒,观察温度计的变化。
3.3 测试出现问题及解决方法
(1)数码管显示的温度值比实际的温度值低1℃,我们经过实践发现有两种解决的办法:一种是通过软件补偿的方法,将初始值0℃对应的“00000000”改为“00000001”,整体显示值提高1℃;另一种是调节ADC0804的参考电压Vref/2,改变它也可以调整温度显示值。(2)数码管亮度不够,数码管的位选端的电流过小,解决办法是位选端加三极管驱动电路。
4 结语
温度是一种随时间而变化的模拟量,数字式温度计利用温度传感器对温度进行采集,然后将温度值显示出来,测量时间短、大幅度提高被测对象温度的精度指标,也可被制作成探测头远距离操作,应用广泛。
参考文献
[1]王静霞.单片机应用技术[M].北京:电子工业出版社,2012.endprint