一、思路
使用LM35温度传感器进行温度采集,将采集到的电压值(模拟量)经过ADC0808芯片转换成数字信号经数据总线传入8086的寄存器中。
二、8086接线方式
8086的接线方式如上图所示。74LS138的八个输出端可以当作使能信号使用,由A5、A6、A7三条地址线决定。
三、LM35温度采集
LM35温度传感器可以将摄氏度温度值转换成电压值。1口为VCC,接入5V电压,3口接地,2口为输出电压,通过下图的接线可以在电压表中得出输出的电压值(2点的电势)。
四、ADC0808模数转换
模拟量无法通过总线传输,需要把模拟量转换为数字量,此处使用了ADC0808芯片。接线方式如下:
对接线方式进行解释:IN0-IN7为芯片的8个输入通道,通过ADD A、ADD B、ADD C三个端口的电位决定。此处使用IN7输入通道,因此将IN7与温度采集部分的输出电压(点2)相连,ADD A、ADD B、ADD C三个端口全部接入高电位,即111。
LM传感器的输出公式为V=0.01×T(伏特)。环境温度为29℃时,输出电压为0.29V。即ADC0808的输入电压(模拟信号)为0.29V。要使其输出数字量为温度值,(0.29×100=29)要将VREF(+)设置为2.56V,VREF(-)设置为0V。
此时,ADC0808的输出公式为:
ADC0808输出的值为采集到的电压的值乘100,最终得出采集到的温度摄氏度值。
OE为使能。此处使用了IO0(非)为使能信号。
五、汇编语言编码
要通过汇编语言代码选中ADC0808对应的使能端,将其8位三态锁存缓冲器OUT1-OUT8的值(即输出值)通过IN指令存入8086的寄存器。此处使能端对应的地址是00h。
mov dx,00h;选中
in al,dx;将输出值存入al寄存器
此处将ADC0808输出的数据总线连接了数码管,可以发现当温度为29℃时,采集到的电压值为0.29V,输出的数字量为29,在数码管中显示为1DH。