• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > AD采樣程序的設計

    AD采樣程序的設計

    作者: 時間:2012-08-31 來源:網絡 收藏
    通過采樣某點的,與預設定值作比較,得出下一步MCU該如何工作。

    例如:當檢測到某點的電壓,大于預設定值,則產生,通過單片機控制減小輸入的、斷電、鳴叫,等一系列保護電路措施...

    1.主函數:

    void main(void)
    {
      // USER CODE BEGIN (MAIN_Main,2)
    uword temp1=0,temp2=0,temp3=0,temp4=0;

    // USER CODE END

    MAIN_vInit();

    // USER CODE BEGIN (MAIN_Main,3)

    // USER CODE END

    while(1)
    {

    // USER CODE BEGIN (MAIN_Main,4)
    ADC_vStartSeqReqChNum(0,0,0,3);
    temp1=ADC_uwGetResultData0();
    temp1=temp1*10+24;
    temp1=temp1/48;
    temp2=temp1/10;
    temp3=temp1%10;
    temp4=temp24|temp3;
    P3_DATA=temp4;
    // USER CODE END

    }

    } // End of function main

    2.ADC函數:

    在檢測到某點電壓大于或小于與設定值,單片機產生中斷,產生相應措施。

    void ADC_vIsr(void) interrupt ADCINT
    {

    // USER CODE BEGIN (ADC_Isr,2)
    uword i=0,j=0;
    // USER CODE END

    SFR_PAGE(_su0, SST0); // switch to page 0

    // Check Interrupt Request 0 Flag
    if (((IRCON1 0x08) != 0)) //判斷中斷0標志位是否置位
    {
    IRCON1 = ~(ubyte)0x08; // 置位了,清除該標志位, 為下次做準備


    // USER CODE BEGIN (ADC_Isr,3)
    for(i=0;i1000;i++) //八個發光二極管間隔亮,延時時間約0.45s
    for(j=0;j500;j++)
    P3_DATA=0xaa;
    for(i=0;i1000;i++)
    for(j=0;j500;j++)
    P3_DATA=0x55;
    // USER CODE END
    }


    // Check Interrupt Request 1 Flag
    if (((IRCON1 0x10) != 0)) //判斷中斷1標志位是否置位
    {
    IRCON1 = ~(ubyte)0x10; //置位了,清除該標志位,為下次做準備


    // USER CODE BEGIN (ADC_Isr,4)

    for(i=0;i1000;i++) //八個發光二極管高低半間隔亮,
    for(j=0;j500;j++)
    P3_DATA=0xf0;
    for(i=0;i1000;i++)
    for(j=0;j500;j++)
    P3_DATA=0x0f;
    // USER CODE END
    }


    // USER CODE BEGIN (ADC_Isr,5)

    // USER CODE END

    SFR_PAGE(_su0, RST0); // restore the old SCU page
    } // End of function ADC_vIsr



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 婺源县| 鄯善县| 佛学| 海兴县| 噶尔县| 孟连| 沾化县| 余庆县| 抚宁县| 逊克县| 山东省| 沅陵县| 繁峙县| 宜宾县| 全椒县| 嘉义县| 天津市| 巩留县| 镇江市| 赤壁市| 栖霞市| 娄烦县| 岳阳市| 光山县| 楚雄市| 泸水县| 德安县| 耿马| 焉耆| 麟游县| 吴忠市| 同德县| 阜平县| 葫芦岛市| 东平县| 丰顺县| 布尔津县| 象山县| 广德县| 泸水县| 宝清县|