本项目展示了使用温度传感器和的摄氏刻度的设计、开发和操作。该电路包含模拟温度传感器,它的优点是提供与摄氏温度成正比的输出,而不需要进行校准。
该项目还包括8位模数转换器ADC0804,它使用逐次逼近的转换技术。ADC0804由单片机控制,单片机处理其输出,在LCD显示器上显示结果温度读数。这篇文章详细介绍了单片机程序、电路设计和电路操作。
电路背后的原理
该电路的工作原理是模拟到数字的转换。温度由模拟温度传感器()感知,这个模拟值通过ADC(ADC0804)转换为数字值。然后由一个()处理数字信号,在显示屏幕(16×2 LCD)上显示摄氏温度读数。
摄氏刻度的电路图
使用和LM35的摄氏刻度电路图
所需元件
8051(AT89C51)
8051开发板
8051编程器
16 x 2 LCD显示器
10KΩ电位器
adc0804 - adc ic
10KΩ 电阻器 (1/4 瓦)
150pF电容(陶瓷盘型) - 代码: 151
LM35 - 温度传感器
连接线
Keil µVision IDE
威勒软件
如果你没有8051开发板,你可能需要以下组件
11.0592 MHz 石英晶体
2个33pF电容
2个10KΩ电阻(1/4瓦)
10µF电容(极化)。
按键
摄氏刻度温度计电路设计
电路设计主要包括设计单片机电路,将ADC、LM35和LCD与单片机AT89C51接口。
单片机电路设计
振荡器电路。振荡器电路包括一个振荡频率为11.0592 MHz的晶体振荡器和两个陶瓷电容,每个电容为33pF,以确保稳定性。
复位电路。复位电路的设计是使用一个按钮,一个10KΩ的电阻和一个10μF的电解质电容,以确保复位脉冲宽度为100ms,复位电压为1.2V。
EA引脚:由于我们没有使用任何外部存储器,EA引脚使用一个10KΩ电阻被拉高。
连接ADC和LM35
LM35温度传感器IC和ADC0804 ADC IC构成了电路的输入部分。LM35由三个引脚组成。LM35的VOUT与ADC0804集成电路的模拟输入引脚VIN(+)(引脚6)相连。
ADC0804的第20针(VCC)连接到+5V电源。ADC0804的1、2、7、8和10脚(CS'、RD'、VIN(-)、AGND和GND)连接到GND。ADC0804的时钟引脚CLKR和CLKIN(引脚19和4)之间连接了一个10KΩ电阻。一个150pF的陶瓷电容连接在CLKIN(针脚4)和GND之间。引脚3和5即WR'和INTR'被连接在一起。
ADC0804的8个数据输出引脚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上并显示出来。由于ADC不断从LM35温度传感器中读取模拟数据,并通过数字引脚将其发送给微控制器,温度将随时更新,并在LCD上显示。
编写摄氏刻度温度计的电路代码的算法步骤
以下是用C语言编写代码时需要遵循的算法。
从ADC0804读取数据。
对收到的数据进行一个小的计算。
通过发送适当的命令来初始化LCD。
向LCD发送包含温度读数的数据
摄氏刻度温度计电路的应用
它可以用在像汽车这样的移动场所,以保持温度的跟踪。
它可以用来控制负载的开关,如电机,基于温度的加热器。
它也可用于家庭,以获得温度读数。
该电路的局限性
它需要额外的模拟到数字转换。
这个电路只能测量摄氏度的数值。