MOV R0,#30H ;设立数据存储区指针
MOV R2,#08H ;设置8路采样计数值
SETB IT0 ;设置外部中断0为边沿触发方式
SETB EA ;CPU开放中断
SETB EX0 ;允许外部中断0中断
MOV DPTR,#0FEF8H ;送入口地址并指向IN0
LOOP: MOVX @DPTR,A ;启动A/D转换,A的值无意义
HERE: SJMP HERE ;等待中断
中断服务程序:
MOVX A,@DPTR ;读取转换后的数字量
MOV @R0,A ;存入片内RAM单元
INC DPTR ;指向下一模拟通道
INC R0 ;指向下一个数据存储单元
DJNZ R2,INT0 ;8路未转换完,则继续
CLR EA ;已转换完,则关中断
CLR EX0 ;禁止外部中断0中断
RETI ;中断返回
INT0: MOVX @DPTR,A ;再次启动A/D转换
RETI ;中断返回
大家好 我现在想用KEIL 观察DPTR对外部程序寄存器 数据寄存器的 具体使用
所以 用汇编 里面 红色的是错误的 地方! |