第8章AT89C51系统接口技术 [例83]用査询方式分别对8路模拟信号轮流采样 次,并依次把结果转存到以30H为首址的数据存储区, 程序如下: MAIN MOVR1,#30H;置数据区首址 MOV DPTR,#0FFF8H;指向IN0 MOV R#08H ;置通道数 LOOP: MOVX QDPTR, A 启动AD转换 MOV R6#O5H 软件延时 DLAY NOP DJNZ R6 DLAY
第8章 AT89C51系统接口技术 [例8.3] 用查询方式分别对8路模拟信号轮流采样一 次,并依次把结果转存到以30H为首址的数据存储区, 程序如下: MAIN: MOV R1,#30H ;置数据区首址 MOV DPTR,#0FFF8H ;指向IN0 MOV R7,#08H ;置通道数 LOOP:MOVX @DPTR,A ;启动A/D转换 MOV R6,#05H ;软件延时 DLAY: NOP DJNZ R6,DLAY
第8章AT89C51系统接口技术 WAIT.JNb P3.2 WAIT 查询EOC是否为高,高则转换结束 MOVX A,@DPTR;读取转换结果 MOV@R1,A;存取数据 INC DPTR 指向下一个通道 INC RI 指向下一个存储单元 D小NZR7,LOOP;巡回检测八个通道 RET
第8章 AT89C51系统接口技术 WAIT:JNB P3.2,WAIT ;查询EOC是否为高,高则转换结束 MOVX A,@DPTR;读取转换结果 MOV @R1,A ;存取数据 INC DPTR ;指向下一个通道 INC R1 ;指向下一个存储单元 DJNZ R7,LOOP ;巡回检测八个通道 RET
第8章AT89C51系统接口技术 [例84]利用中断方式分别对8路模拟信号轮流采集 次,转换结果依次存放在首址为30H的片内数据区 程序如下: ORG 0000H AJMP MAIN ORG 0003H AJMP PINTI MIAN:MOVR1,#30H;置数据区首址 MOV DPTR,#OFEF8H;指向IN0 MOV R7#08H
第8章 AT89C51系统接口技术 [例8.4] 利用中断方式分别对8路模拟信号轮流采集 一次,转换结果依次存放在首址为30H的片内数据区, 程序如下: ORG 0000H AJMP MAIN ORG 0003H AJMP PINT1 MIAN:MOV R1,#30H ;置数据区首址 MOV DPTR,#0FEF8H ;指向IN0 MOV R7,#08H
第8章AT89C51系统接口技术 SETB ITO SETB EXO ;开中断 SETB EA LOOP: MOVX aDPTR A 启动AD转换 PINT1∶MOⅴXA,@DPTR;读取数据 MOV ORI, A ;存取数据
第8章 AT89C51系统接口技术 SETB IT0 SETB EX0 ;开中断 SETB EA LOOP:MOVX @DPTR,A ;启动A/D转换 PINT1:MOVX A,@DPTR ;读取数据 MOV @R1,A ;存取数据
第8章AT89C51系统接口技术 INC RI ;更新存储单元 INC DPTR 更新通道 DJNZ R DONE CLR EXO ;关中断 CLR EA RETI ;中断返回 DONE adPtRA RETI
第8章 AT89C51系统接口技术 INC R1 ;更新存储单元 INC DPTR ;更新通道 DJNZ R7,DONE CLR EXO ;关中断 CLR EA RETI ;中断返回 DONE: MOVX @DPTR,A RETI