131 1300 0010
其他
当前位置: 首页>> 元件技术>>其他>>
  • 导航栏目
  • 二极管
  • 整流桥
  • MOS管
  • 其他
  • STC单片机ADC采样程序设计
    STC单片机ADC采样程序设计
  • STC单片机ADC采样程序设计
  •   发布日期: 2019-06-10  浏览次数: 1,349

    #include“STC12C4052AD.h”

    typedefstruct

     

    {

    BOOLRun;//BOOL量作为定时采样标志,比如每隔3秒,置位一

    次该标志

    BYTECurch;//当前通道

    BYTEtempCvData[6];//转换结果临时缓冲

    BYTECvTimes;//采样次数采样4次,去最大最小,保留4个取平均值

    BYTEADData[MAX_ADCH];//MAX_ADCH保存各通道最终采样数据

    STC单片机ADC采样程序设计

    }STADC;

    STADCADC;

    voidInitADC()

    {

    Uint16i;

    ADC_CONTR=0xC0;//ADC模块加电,420周期转换一次

    for(i=0;i《20000;i++);//ADC电源开启后,延时

    //设置P口外AD模式

    P1M0=0x03;//ADC0/1高阻输入

    P1M1=0x00;

    EADC_SPI=1;//开放ADCSPI总中断

    ADC_DATA=0;

    AUXR=EADCI;//开放ADC中断

    MEMSet(&ADC,0,sizeof(STADC));

    //启动0号通道

    ADC.Curch=0;

    ADC_CONTR|=ADC.Curch;//设置下一通道

    ADC.Run=TRUE;//标志ADC正在转换

    ADC_CONTR|=ADC_START;//启动AD转换器

    }

    voidADCISR()interruptADC_VECTOR

    {

    ADC_CONTR&=ADC_STOP;//stopAD

    ADC.Run=FALSE;

    ADC.tempCvData[ADC.CvTImes]=ADC_DATA;//取转换值

    ADC_DATA=0;

    ADC.CvTImes++;

    ADC.CvTImes%=6;

    if(ADC.CvTImes!=0)

    {

    ADC_CONTR|=ADC_START;//启动AD转换器

    ADC.Run=TRUE;

    }

    ADC_CONTR&=ADC_FLAG;//清除ADC_FLAG中断标志

    }

    voidProc_ADC()

    {

    Uint16CvSum=0,i;

    BYTEMaxCv=0,MinCv=0;

    if(ADC.Run||ADC.CvTimes!=0)//AD还在进行,等待

    return;

    for(i=0;i《6;i++)

    {

    if(ADC.tempCvData[i]》MaxCv)

    MaxCv=ADC.tempCvData[i];

    if(ADC.tempCvData[i]MinCv=ADC.tempCvData[i];

    }

    for(i=0;i《4;i++)

    CvSum+=ADC.tempCvData[i];

    CvSum=CvSum-MaxCv-MinCv;

    ADC.ADData[ADC.Curch]=(CvSum》》2);

    ADC.Curch++;

    ADC.Curch%=MAX_ADCH

    ADC_CONTR&=0xF8;//先清除当前通道值

    ADC_CONTR|=ADC.Curch;//设置下一通道

    ADC.Run=TRUE;//标志ADC正在转换

    for(i=0;i《500;i++);//通道切换延时100us左右

    ADC_CONTR|=ADC_START;//启动AD转换器

    }


  • ·上一篇:
    ·下一篇:
  • 其他关联资讯
    深圳市日月辰科技有限公司
    地址:深圳市宝安区松岗镇潭头第二工业城A区27栋3楼
    电话:0755-2955 6626
    传真:0755-2978 1585
    手机:131 1300 0010
    邮箱:hu@szryc.com

    深圳市日月辰科技有限公司 版权所有:Copyright©2010-2023 www.szryc.com 电话:13113000010 粤ICP备2021111333号