A/D转换应用举例
设有一个8路模拟量输入的巡回监测系统,采样数据依次存放在外部RAM 0A0H~0A7H单元中,按图9.10所示的接口电路,ADC0809的8个通道地址为0FEF8H~0FEFFH.其数据采样的初始化程序和中断服务程序(假定只采样一次)如下:
初始化程序:
MOV R0, #0A0H ;数据存储区首地址
MOV R2, #08H ;8路计数器
SETB IT1 ;边沿触发方式
SETB EA ;中断允许
SETB EX1 ;允许外部中断1中断
MOV DPTR, #0FEF8H ;D/A转换器地址
LOOP: MOVX @DPTR, A ;启动A/D转换
HERE: SJMP
HERE ; 等待中断
中断服务程序:
DJNZ R2, ADEND
MOVX A, @DPTR ;数据采样
MOVX @R0, A ;存数
INC DPTR ;指向下一模拟通道
INC R0 ;指向数据存储器下一单元
MOVX @DPTR, A
ADEND: RETI
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)