只给程序中的几行核心代码:
int addr=0x7ff8,b;
for(n=0;n<8;n++)
{
b=addr+n;
XBYTE[b]=0; //启动A/D转换
while(!INT0);
while(INT0); //等待A/D转换
a[n]=XBYTE[b];
}
我不理解的是那两个while循环!当启动A/D后,WR写信号发出,当转换完成后,ADC0809发出信号给int0,然后单片机发出读信号RD给ADC0809的OE。第一个while信号是把int0变成高电平吗?第二个while循环是等待转换结束ADC0809发出EOC信号?还有,第二个while(INT0)一定要有吗?为什么有些程序里在启动AD和读取AD的代码中间只有一个while(!INT0)?最后一个问题,关于XBYTE,请问这是数组还是什么,它的具体用法是什么?
int addr=0x7ff8,b;
for(n=0;n<8;n++)
{
b=addr+n;
XBYTE[b]=0; //启动A/D转换
while(!INT0);
while(INT0); //等待A/D转换
a[n]=XBYTE[b];
}
我不理解的是那两个while循环!当启动A/D后,WR写信号发出,当转换完成后,ADC0809发出信号给int0,然后单片机发出读信号RD给ADC0809的OE。第一个while信号是把int0变成高电平吗?第二个while循环是等待转换结束ADC0809发出EOC信号?还有,第二个while(INT0)一定要有吗?为什么有些程序里在启动AD和读取AD的代码中间只有一个while(!INT0)?最后一个问题,关于XBYTE,请问这是数组还是什么,它的具体用法是什么?