第七章_MCS_51单片机扩展技术(缩)567
(2)查询传送方式 单片机启动0809后,延迟10us,检测EOC,若EOC=0则A/D转换没有结束,继续检测EOC,直到EOC=1。当EOC=1时,A/D转换已经结束,单片机读取A/D转换结果。 在这种方式下,EOC必须接到8051的一条I/O线上。 (3)中断传送方式 单片机启动A/D转换后可以做其它工作,当A/D转换结束时,EOC由0---1经过非门传到INT端,8051收到中断请求信号,若8051开着中断,则进入中断服务程序,在中断服务程序中单片机读取A/D转换的结果。 在这种方式下, EOC必须经过非门接到8051的中断请求输入线INT0或INT1上,89C51的中断触发方式为下降沿触发。 INT0 4、ADC0809的应用 ADC芯片主要用于进行数据采集。举例说明数据采集程序的编制方法。 (1)查询方式单路数据采集 (2)中断方式单路数据采集 (3)定时方式多路数据采集 用ADC0809的IN7通道连续采集40个数据,存于内RAM中以50H为起始地址的单元中。试编程。 图 MOV R0,#50H ;内RAM首地址 MOV R7,#8 ;采集40个数据 MOV R2,#07H ;通道IN7地址号 MOV DPTR,#0000H ;0809的地址 UP:MOV A,R2 MOVX @DPTR,A ;送通道号、启动A/D转换 JNB P1.0,$ ;查询A/D转换是否结束 MOVX A,@DPTR ;读取A/D转换结果 MOV @R0,A ;存入内RAM INC R0 ;修改内RAM单元地址 DJNZ R7,UP SJMP $ (1)查询方式单路数据采集 用ADC0809的IN7通道连续采集40个数据,存于内RAM中以50H为起始地址的单元中。试编程。 图 ORG 0000H LJMP MAIN ORG 0003H LJMP AINT MAIN: MOV IE,#81H MOV R0,#50H MOV R7,#40 MOV R2,#07H MOV DPTR,#0000H MOV A,R2 MOVX @DPTR,A ;送通道号、启动A/D转换 SJMP $ ;等待中断 AINT: MOVX A,@DPTR MOV @R0,A ;存入内RAM INC R0 ;修改内RAM单元地址 DJNZ R7,AINT0 RETI AINT0: MOV A,R2 MOVX @DPTR,A ;再次启动A/D转换 RETI (2)中断方式单路数据采集 用ADC0809的IN7---IN0通道分别采集8个数据,存于内RAM中以50H为起始地址的单元中。试编程。 图 MOV R0,#50H ;内RAM首地址 MOV R7,#8 ;采集8个通道 MOV R2,#00H ;通道首地址号 MOV DPTR,#0000H ;0809的地址 UP:MOV A,R2 MOVX @DPTR,A ;启动A/D转换 LCALL D1MS ;等待A/D转换结束 MOVX A,@DPTR ;读取A/D转换结果 MOV @R0,A ;存入内RAM INC R2 ;修改通道地址 INC R0 ;修改内RAM单元地址 DJNZ R7,UP SJMP $ (3)定时方式
原创力文档

文档评论(0)