for(j=0,P0=m;j++;j<8) { ST=0;ST=1;ST=0; while(EOC==0); OE=1; n=P1; putc_to_SerialPort(n); m++;} } /*******主程序*******/ void main() { TMOD=0X20; //T1工作于模式2 SCON=0X50; //串口工作于方式1 PCON=0X00; //波特率不加倍 TH1=0XFD; TL1=0XFD; TI=RI=0; IE=0X90; //允许串口中断 TR1=1; //启动定时器1 while(1) { Delay(100); Adcon(); } } /********从机串口接受中断函数********/ void serial_INT() interrupt 4 { if(RI) { RI=0; int i,c; uchar val; c=SBUF; i=c&0X08; //判断接收到的第四位是否为1,如果为1,则按选定的通道采集,否则就是循环采集 switch(i) { case 0: Adcon();break; case 8: P0=c; ST=0;ST=1;ST=0; 41 while(EOC==0); OE=1; val=P0; putc_to_SerialPort(val); break; 42