PCF8591 can not read it

I was doing touch and Infrared module PCF8591 is read, which I have not read the changing light . The program I wrong? Ask Nancy brought me up.
include

#include "Wire.h"
#define PCF8591 (0x90 >> 1)
byte adcvalue0, adcvalue1, adcvalue2, adcvalue3;
//////////////////////
int CP1bar = 3; // CP1bar ( Pin 13 ) of 74HC4017 / 74HCT4017 is connected to 13th Pin of Arduino
int CP0 = 2;      // CP0 ( Pin 14 ) of 74HC4017 / 74HCT4017 is connected to 12th Pin of Arduino
int MR = 1;

void setup

Wire.begin();
 Serial.begin(9600);
   pinMode(CP1bar, OUTPUT);   
  pinMode(CP0, OUTPUT);
  pinMode(MR, OUTPUT);

void loop

digitalWrite(CP1bar, LOW);   // Send LOW voltage to CP1bar
  digitalWrite(MR, LOW);         // Send LOW voltage to MR
  digitalWrite(CP0, LOW);        // Send LOW voltage to CP0

  delay(500);
 
 Wire.beginTransmission(PCF8591);
 Wire.write(0x04);
 Wire.endTransmission();
 Wire.requestFrom(PCF8591, 5);
 

 adcvalue0=Wire.read();
 adcvalue1=Wire.read();
 adcvalue2=Wire.read();
 adcvalue3=Wire.read();
 
 Serial.print(adcvalue0);
 Serial.print(" ,");
 Serial.print(adcvalue1); 
 Serial.print(" ,");
 Serial.print(adcvalue2); 
 Serial.print(" ,");
 Serial.print(adcvalue3); 
 Serial.println();
  digitalWrite(CP1bar, LOW);   // Send LOW voltage to CP1bar
  digitalWrite(MR, LOW);         // Send LOW voltage to MR
  digitalWrite(CP0, LOW);        // Send LOW voltage to CP0

  delay(500);

Why do you ask for 5 values, and then read only 4?