数据采集与传输系统软件设计 单片机的
第3章 数据采集系统
§3.1 模数转换芯片ADC0809
ADC0809 采用双列直插式封装,共有28条引脚。
IN0-IN7 为八路模拟电压输入线,加在模拟开关上,用于输入被转换的模拟电压。
ADDA、ADDB 和ADDC 为地址输入线,用于选择IN0-IN7 上哪一路模拟电压送给比较器进行A/D 转换。
ALE 为地址锁存允许输入线,高电平有效。当ALE 线为高电平时,ADDA、ADDB和ADDC 三条地址线上地址信号得以锁存,经译码器控制八路模拟开关通路工作。
START 为“启动脉冲”输入线,上升沿清零,下降沿启动ADC0809 工作。 EOC为转换结束输出线,该线高电平表示AD 转换已结束,数字量已锁入“三态输出锁存器”。
D0-D7 为数字量输出线,D7 为最高位。ENABLE 为“输出允许”线,高电平时能使D0-D7 引脚上输出转换后的数字量。
§3.2 AT89C52对ADC0809的数据采集方法
单片机对ADC0809的数据采集可以采用查询和中断两种方式。
查询方式是在单片机把启动命令送到A/D转换器之后,循环对A/D转换器的状态进行查询,以检查A/D转换器变换是否已经结束,如查询到变换已经结束,则读入转换结束的数据,否则继续循环。
采用查询方式传送数据时,单片机应对EOC线状态进行查询,若为低电平表示A/D正在转换,当EOC由低电平转为高电平时表示A/D已转换完毕,此时可以读取数据。
在软件编写时,执行一条输出指令MOVX @DPTR,A 即可启动A/D转换,根据硬件电路的设置,8路模拟通道IN0-IN7的地址为7FF8H-7FFFH。将相应通道号送入DPTR,执行一条输入指令MOVX A,@DPTR,可读取转换结果。