STC12C5A60S2

[复制链接]
 楼主| 497205974 发表于 2016-12-23 17:20 | 显示全部楼层 |阅读模式
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口吗?
 楼主| 497205974 发表于 2016-12-23 17:21 | 显示全部楼层
调用的时候参数channel为0
xyz549040622 发表于 2016-12-23 19:51 | 显示全部楼层
对照数据手册,看看通道0对应的是哪个IO就OK了。
ningling_21 发表于 2016-12-24 14:59 | 显示全部楼层
好像是P1口
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部