利用实验板上的ADC0809做A/D转换器,利用实验板上的电位器W1提供模拟量输入.编制程序,将模拟量转换成二进制数字量,用发光二极管显示.
二.实验目的
1.掌握A/D转换与单片机的接口方法.
2.了解A/D芯片ADC0809转换性能及编程.
3.通过实验了解单片机如何进行数据采集.
三.实验电路及连线

CS0809接8000H. 模块电位器V-OUT点(即中心抽头)接至ADC0809的IN0(通道0).EOC连P3.2(INT0).将单片机的P1.0~P1.7接至八位发光二极管L1 -- L8.
四.实验说明
ADC0809是八位逐次逼近法A/D转换器,每采集一次一般需100us.中断方式下,A/D转换结束后会自动产生EOC信号,经一级74LS14反向后与8031的INT0相接.
本示例程序采取了中断处理来正确读取A/D转换的结果.用户也可以用延时来保证A/D转换完成.读取结果由P1口送至八位发光二极管显示.
五.实验程序框图

六.实验程序
A_DPORT EQU 8000H ;0809通道0地址
ORG 0000H
LJMP START
ORG 0003H
LJMP INT_0
ORG 0040H
START:
MOV SP,#60H
MOV R7,#0FFH ;初始化
SETB IT0
SETB EA
SETB EX0 ;INT0 允许
A_D:
MOV DPTR,#A_DPORT
MOVX @DPTR,A ;启动 A_D
CJNE R7,#00H,$ ;等待 A_D 转换结束
CPL A
MOV P1,A ;数据输出
MOV R7,#0FFH ;清读数标志
SJMP A_D
INT_0:
MOVX A,@DPTR ;读 A_D 数据
MOV R7,#00H ;置读数标志
RETI
END