How STC89C52 uses PCF8591 to collect pulse sensor analog signals

Dear,
I bought a pulse sensor, but the buyer's supporting MCU routine is STC12 (this MCU has its own AD), and my STC89C52 does not seem to have its own AD! And the AD module on my learning board is driven by PCF8591, I don’t know how to use PCF8591 to collect analogue signals.
I have searched the PCF8591 AD conversion code and its datasheet pdf at the same time on the Internet, but I can’t understand where it is the program code to collect the analog signal from the outside.
The following program is the AD conversion program of PCF8591 I am looking for, can anyone help me look at it?
#include
#include

#define uchar unsigned char
#define uint unsigned int
#define Write_PCF8591 0x90
#define Read_PCF8591 0x91
#define Control_Byte 0x40
#define LED P3

sbit SCL=P2^0;
sbit SDA=P2^1;

uchar num,temp;

void delayms(uint z)
{
uint x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);
}

void delay()
{
nop();nop();
nop();nop();
nop();nop();
nop();nop();
}

void init_IIC()
{
SDA=1;
delay();
SCL=1;
delay();
}

void start()
{
SDA=1;
delay();
SCL=1;
delay();
SDA=0;
delay();
}

void stop()
{
SDA=0;
delay();
SCL=1;
delay();
SDA=1;
delay();
}

void ack()
{
uchar i=0;
SCL=1;
delay();
while((SDA==1)&&(i<250)) i++;
SCL=0;
delay();
}

void noack()
{
SDA=1;
delay();
SCL=1;
delay();
SCL=0;
delay();
}

void Write_Byte(uchar dat)
{
uchar i;
for(i=0;i<8;i++)
{
SCL=0;
delay();
if(dat&0x80)
{
SDA=1;
}
else
{
SDA=0;
}
dat=dat<<1;
SCL=1;
delay();
}
SCL=0;
delay();
SDA=1;
delay();

}

uchar Read_Byte()
{
uchar i,dat;
SCL=0;
delay();
SDA=1;
delay();
for(i=0;i<8;i++)
{
SCL=1;
delay();
dat=dat<<1;
if(SDA)
{
dat++;
}
SCL=0;
delay();
}
return dat;
}

void DAC_PCF8591(uchar add,uchar dat)
{
start();
Write_Byte(add);
ack();
Write_Byte(Control_Byte);
ack();
Write_Byte(dat);
ack();
stop();
}

uchar ADC_Read(uchar add0,uchar add1,uchar chl)
{
uchar dat;
start();
Write_Byte(add0);
ack();
Write_Byte(Control_Byte|chl);
ack();
start();
Write_Byte(add1);
ack();
dat=Read_Byte();
noack();
stop();
return dat;
}

void main()
{
init_IIC();
while(1)
{
DAC_PCF8591(Write_PCF8591,num);
num++;
delayms(30);
temp=ADC_Read(Write_PCF8591,Read_PCF8591,0);
LED=temp;
}
}
I hope to tell me where the above program is receiving analog signals, so that I can pass the pulse sensor signal to STC89C52.

Thanks in advance!

Please edit your post, select all code and click the </> button to apply so-called code tags and next save your post. It makes it easier to read, easier to copy and prevents the forum software from incorrect interpretation of the code.

Because you did not use code tags, e.g. the #include are missing the details of which files you did include.

Maybe a silly question but how does this relate to Arduino?

Sorry, also, thanks for your correction!
I have gotten it with my tutor!
Good listening!
KA