РР#include <reg51.h>Р#include <absacc.h> //定义绝对地址访问Р#define uchar unsigned charР#define IN0 XBYTE[0x0000] //定义 IN0 为通道 0 的地址Рstatic uchar data x[8] _at_ 0x20; //定义 0x20 开始的数组,存放结果Рuchar xdata *ad_adr; //定义指向通道的指针Рuchar i=0;Рvoid main(void)Р{Р IT0=1; //初始化Р EX0=1;Р EA=1;Р i=0;Р ad_adr=&IN0; //指针指向通道 0Р *ad_adr=i; //启动通道 0 转换 (4 分)Р while(1); //等待中断Р}Рvoid int_adc(void) interrupt 0 //中断函数Р{Р x[i]=*ad_adr; //接收当前通道转换结果Р i++;Р ad_adr++; //指向下一个通道 (4 分)Р if (i<8)Р { *ad_adr=i; } //8 个通道未转换完,启动下一个通道返回Р elseР { EA=0;EX0=0; } //8 个通道转换完,关中断返回Р} (2 分)РРРР 第 8 页