找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 846|回复: 2
收起左侧

stc12c5a60s2单片机的adc转换,怎么样才能取三次ad转换呀

[复制链接]
ID:1001384 发表于 2022-1-11 20:48 | 显示全部楼层 |阅读模式
怎么样才能取三次ad转换呀,我这样老是只能取到一个的转换值,取不到另外一个。

uint        adc10_start(uchar channel)        //channel = 0~7
{
        uint        adc;
        uchar        i;

        ADC_RES = 0;
        ADC_RESL = 0;

        ADC_CONTR = (ADC_CONTR & 0xe 0) | ADC_START | channel;

        i = 250;
        do{
                if(ADC_CONTR & ADC_FLAG)
                {
                        ADC_CONTR &= ~ADC_FLAG;
                        adc = (uint)ADC_RES;
                        adc = (adc << 2) | (ADC_RESL & 3);
                        return        adc;
                }
        }while(--i);
        return        1024;
}

void main(void)
{
         
        LCDInit();
  Init_Ds18b20();        
        DisplayString(0x0,0,"  Welcome...  ");
        DisplayString(0x0,1,"water quality");
        Delay1(500);
        WriteCmd(LCD_CLS);
        P1ASF = 0x07;  
        ADC_CONTR = ADC_360T | ADC_ON;
        DisplayString(0x0,0,"PH:");
        DisplayString(0x0,1,"TU:");
        
        while(1)
        {
               
        
                TU = adc10_start(2);
                Delay1(1000);               
                PH = adc10_start(3);
               
    Delay1(1000);               
                PH_Value_Conversion();
                TU_Value_Conversion();
               

回复

使用道具 举报

ID:301191 发表于 2022-1-11 23:35 | 显示全部楼层
顶一下
回复

使用道具 举报

ID:23606 发表于 2022-1-12 09:48 | 显示全部楼层
ADC_CONTR = 0;
ADC_CONTR = (ADC_CONTR & 0xe 0) | ADC_START | channel;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表