uint get_AD_result(uchar channel)
{
char inflag = 0x00;
channel &= 0x07; //0000,0111 清0高5位
ADC_CONTR = 0x80; //打开A/D转换器电源
delay_ms(10);
P1ASF = P1ASF|channel; //选择A/D当前通道
ADC_CONTR |= ADC_SPEED;
ADC_CONTR |= channel; //选择模拟输入通道
ADC_RES = 0x00; // AD转换结果寄存器
ADC_RESL = 0x00; // AD转换结果寄存器低
AUXR1 |= 0X04; //A/D转换结果高2位存放在ADC_RES,低8位存放在ADC_RESL
ADC_CONTR|=0x08; //A/D开始
while(inflag==0x00) //判断A/D转换是否结束
{
inflag=ADC_CONTR&0x10; // 判断 ADC_FLAG 是否为 1;
}
ADC_CONTR=ADC_CONTR&0xE7;//清0,停止A/D转换 ADC_FLAG = 0;
return(ADC_RES<<8|ADC_RESL);
}
这段代码它输入电压进行A/D转换它的输入是P0^0口吗? |