新人求教51单片机PCF8591的一个有关问题

新人求教51单片机PCF8591的一个问题!
我想问switch(AD_CHANNEL)  这个AD_CHANNEL是哪个通道我怎么知道啊? 怎么选择是哪个通道的? 我只知道控制字符能控制是哪个通道,但是怎么是先判断是哪个通道再写控制字符的?   谢谢了!

main()
{  char i,j;
while(1)
{/********以下AD-DA处理*************/  
switch(AD_CHANNEL)
   {        
                                                       //  四个通道又是起什么作用呢???
     case 0: ISendByte(PCF8591,0x41);
             D[0]=IRcvByte(PCF8591)*2;  //ADC0 模数转换1  放大2倍显示 case0是用来读取8591第一通                    道所采集到模拟量的值
    break;       //0x41是控制字节  D[0]=IRcvByte(PCF8591)*用来读取AD转换的数据 

  case 1: ISendByte(PCF8591,0x42);
             D[1]=IRcvByte(PCF8591)*2;  //ADC1  模数转换2    4个模拟输入在该单片机中只用到两个
    break;  
  case 2: ISendByte(PCF8591,0x43);
             D[2]=IRcvByte(PCF8591)*2;  //ADC2 模数转换3
    break;  
   
  case 3: ISendByte(PCF8591,0x40);
             D[3]=IRcvByte(PCF8591)*2;  //ADC3   模数转换4
    break;  
  case 4: DACconversion(PCF8591,0x40, D[4]/4); //DAC   数模转换
          break;
   }
        D[4]=400;  //数字--->>模拟输出
    D[4]=D[0];  //   把模拟输入 采样的信号 通过数模转换输出 即把D0 转化成模拟量输出 
   if(++AD_CHANNEL>4) AD_CHANNEL=0;
------解决方案--------------------
这有什么不明白的? AD_Channel 存的就是通道号啊。取值范围0 - 4,0 - 3 分别对应 ADC0 - ADC3,4 则做DA转换。你是不明白 switch 语句吗?就是根据变量的值跳到相应的 case 去执行