Proteus 8086模拟温度采集 使用LM35温度传感器

一、思路

        使用LM35温度传感器进行温度采集,将采集到的电压值(模拟量)经过ADC0808芯片转换成数字信号经数据总线传入8086的寄存器中。

二、8086接线方式

Proteus 8086模拟温度采集 使用LM35温度传感器_第1张图片

        8086的接线方式如上图所示。74LS138的八个输出端可以当作使能信号使用,由A5、A6、A7三条地址线决定

三、LM35温度采集

        LM35温度传感器可以将摄氏度温度值转换成电压值。1口为VCC,接入5V电压,3口接地,2口为输出电压,通过下图的接线可以在电压表中得出输出的电压值(2点的电势)。

Proteus 8086模拟温度采集 使用LM35温度传感器_第2张图片

四、ADC0808模数转换

        模拟量无法通过总线传输,需要把模拟量转换为数字量,此处使用了ADC0808芯片。接线方式如下:

Proteus 8086模拟温度采集 使用LM35温度传感器_第3张图片

        对接线方式进行解释:IN0-IN7为芯片的8个输入通道,通过ADD A、ADD B、ADD C三个端口的电位决定。此处使用IN7输入通道,因此将IN7与温度采集部分的输出电压(点2)相连,ADD A、ADD B、ADD C三个端口全部接入高电位,即111

Proteus 8086模拟温度采集 使用LM35温度传感器_第4张图片

         LM传感器的输出公式为V=0.01×T(伏特)。环境温度为29℃时,输出电压为0.29V。即ADC0808的输入电压(模拟信号)为0.29V。要使其输出数字量为温度值,(0.29×100=29)要将VREF(+)设置为2.56V,VREF(-)设置为0V。

        此时,ADC0808的输出公式为:

\large V_{out}=\tfrac{V_{in}-V_{REF(-)}}{V_{REF(+)}-V_{REF(-)}}\times 256=\tfrac{V_{in}-0}{2.56-0}\times 256=100V_{in}

        ADC0808输出的值为采集到的电压的值乘100,最终得出采集到的温度摄氏度值。

        OE为使能。此处使用了IO0(非)为使能信号。

五、汇编语言编码

        要通过汇编语言代码选中ADC0808对应的使能端,将其8位三态锁存缓冲器OUT1-OUT8的值(即输出值)通过IN指令存入8086的寄存器。此处使能端对应的地址是00h。

mov dx,00h;选中 
in al,dx;将输出值存入al寄存器

        此处将ADC0808输出的数据总线连接了数码管,可以发现当温度为29℃时,采集到的电压值为0.29V,输出的数字量为29,在数码管中显示为1DH

Proteus 8086模拟温度采集 使用LM35温度传感器_第5张图片

你可能感兴趣的:(proteus,单片机)