本帖最后由 lx911gt 于 2014-5-26 09:22 编辑
做实验玩,AD转换,用两个通道,而且是得同时工作,选的是AN0和AN1,转换出的结果在1602上显示出来,X=个数,Y=个数,按理说拔下两个其中任何一个电位器后X或Y应该等于0的吧(参考电压我也选过了VSS,VDD),现在的问题是拔下其中一个另外一个还是能显示出来数值,并且根据一个电位器变化数值也跟着变(不知道说没说清楚,就是一个电位器拨动后XY都有数值出来,其中一个数值肯定是不对的)我知道应该是我程序的问题,
while(1)
{
ADCON0=0x01; //选择AN0,
asm("NOP"); //略作延时
asm("NOP");
asm("NOP");
asm("NOP");
GODONE = 1;
while(GODONE) continue;
Ydata=ADRESH;
lcd_write_char(1,1,'Y');
lcd_write_char(2,1,'=');
lcd_write_char(3,1,(Ydata/100)+0x30); //百位
lcd_write_char(4,1,(Ydata%100)/10+0x30); //十位
lcd_write_char(5,1,(Ydata%10)+0x30); //个位
ADCON0=0x05; //AN1
asm("NOP"); //略作延时
asm("NOP");
asm("NOP");
asm("NOP");
GODONE = 1;
while(GODONE) continue;
Xdata=ADRESH;
lcd_write_char(10,1,'X');
lcd_write_char(11,1,'=');
lcd_write_char(12,1,(Xdata/100)+0x30); //百位
lcd_write_char(13,1,(Xdata%100)/10+0x30); //十位
lcd_write_char(14,1,(Xdata%10)+0x30); //个位
}
麻烦大神们帮帮忙,小弟想实现的是两组AD同时工作又互相不存在联系,比如拔下X,1602显示的X就应该=0,现在显示出数值了,这个地方我不是很明白,大神门教教我哈:lol |