本项目演示了使用LM35温度传感器和AT89C51单片机的摄氏温度计的设计、开发和操作。该电路包含模拟温度传感器LM35,其优点是提供与摄氏温度成正比的输出,而无需校准。
该项目还包括使用逐次逼近转换技术的8位模数转换器ADC0804。ADC0804由微控制器控制,微控制器处理其输出以在LCD显示器上显示结果温度读数。本文详细介绍了微控制器的程序、电路设计和电路操作。
电路背后的原理
该电路根据模数转换原理工作。温度由模拟温度传感器(LM35)感测,并且使用ADC(ADC0804)将该模拟值转换为数字值。然后,微控制器(AT89C51)处理数字信号,在显示屏(16×2 LCD).。
摄氏温度计电路图
使用AT89C51和LM35的摄氏温度计电路图
所需组件
8051单片机(AT89C51)
8051开发板
8051编程器
16 x 2 LCD显示屏
10KΩ电位计
ADC0804–ADC IC
10KΩ电阻器(1/4瓦)
150pF电容器(陶瓷盘式)–代码:151
LM35–温度传感器
连接导线
电源
KeilµVision IDE
Willar软件
如果没有8051开发板,您可能需要以下组件
11.0592 MHz石英晶体
2 x 33pF电容器
2 x 10KΩ电阻器(1/4瓦)
10µF电容器(极化)
按钮
摄氏度温度计电路设计
电路的设计主要包括微控制器电路的设计、ADC、LM35和LCD与微控制器AT89C51的接口。
微控制器电路设计
振荡器电路:振荡器电路由一个振荡频率为11.0592MHz的晶体振荡器和两个陶瓷电容器组成,每个电容器为33pF,以确保稳定性。
复位电路:复位电路采用按钮、10KΩ电阻器和10µF电解质电容器设计,以确保100ms的复位脉冲宽度和1.2V的复位电压。
EA引脚:由于我们没有使用任何外部存储器,EA引脚使用10KΩ电阻器拉高。
ADC和LM35的接口
LM35温度传感器IC和ADC0804 ADC IC构成电路的输入部分。LM35由三个引脚组成:GND、VOUT和VS。LM35的VOUT连接到ADC0804 IC的模拟输入引脚VIN(+)(引脚6)。
ADC0804的引脚20(VCC)连接到+5V电源。ADC0804的引脚1、2、7、8和10(CS’、RD’、VIN(-)、AGND和GND)连接到GND。一个10KΩ电阻器连接在ADC0804的时钟引脚CLKR和CLKIN(引脚19和4)之间。一个150pF陶瓷电容器连接在CLKIN和GND之间。引脚3和5,即WR’和INTR’连接在一起。
ADC0804的八个数据输出引脚DB0–DB7(引脚11至18)连接到8051微控制器的PORT2引脚。
接口LCD
RS、RW和EN引脚分别连接到端口引脚P3.6、GND和P3.7。数据引脚连接到微控制器的PORT1。
摄氏度温度计电路的工作
环境温度由LM35温度传感器感测,该温度传感器以每摄氏度10mV的速率产生与温度成比例的输出电压。该模拟电压被馈送到模数转换器(ADC0804),该转换器是一个8位ADC,工作原理为逐次逼近转换。
模数转换器ADC0804被配置为连续读取输入模拟信号,并在其数字输出引脚处连续产生数字输出。为了使ADC0804能够连续读取模拟输入值,我们需要将INTR’引脚和WR’引脚连接在一起。此外,为了在ADC0804的数字输出引脚处持续提供数字数据,必须将CS’和RD’引脚拉低。
模数转换器连续接收来自LM35的模拟信号并将其转换为数字值。ADC0804的数字输出采用8位二进制数据的形式,这些数据也可以连续使用。
8051微控制器接收该数字数据并执行简单的数学计算。该计算将从ADC0804接收的数字数据转换为温度(摄氏度)。
现在,微控制器将把这些数据发送到LCD并显示出来
现在,微控制器将把这些数据发送到LCD并显示出来。由于ADC持续从LM35温度传感器读取模拟数据,并通过数字引脚将其发送至微控制器,因此温度将随时更新,并显示在LCD上。
编写摄氏温度计电路代码的算法步骤
用C语言编写代码需要遵循以下算法。
从ADC0804读取数据。
对该接收数据进行小的计算。
通过发送正确的命令初始化LCD。
向LCD发送包含温度读数的数据
摄氏度温度计电路的应用
它可用于汽车等移动场所,以跟踪温度。
它可用于根据温度控制电机、加热器等负载的切换。
它也可以在家里用来获取温度读数。
电路的缺点
它需要额外的模数转换。
该电路只能测量摄氏度值。