采用中断方式可大大节省CPU的时间,当转换结束,EOC发出一个信号向单片机提出中断请求,单片机响应中断请求,由外部中断1的中断服务程序读A/D转换结果,并启动ADC0809的下一次转换,外部中断1采用跳沿触发方式。
程序如下:
INT1: SETB INT1 ;外部中断1初始化编程
SETB EA ;CPU开中断
SETB EX1 ;选择外中断为跳沿触发方式
MOV DPTR, #7FF8H ;端口地址送DPTR
MOV A, #00H
MOVX @DPTR, A ;启动0809对IN0通道转换
„ ;完成其他工作
中断服务程序:
PINT1:MOV DPTR,
#7FF8H ;读取A/D结果送内部RAM单元30H
MOVX A, @DPTR MOV 30H, A
MOV A, #00H ;启动对IN0的转换
MOVX @DPTR,A
RETI
ADC0809与51