在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 以32位MCU-HY16F198實(shí)現(xiàn)AC電流量測(cè)應(yīng)用

            以32位MCU-HY16F198實(shí)現(xiàn)AC電流量測(cè)應(yīng)用

            作者: 時(shí)間:2015-03-30 來(lái)源:電子產(chǎn)品世界 收藏

              軟件說(shuō)明

            本文引用地址:http://www.biyoush.com/article/271787.htm

              程序流程圖

              函式使用說(shuō)明 :

              1. void AC_DataCount(int index, int ADC_Data) : 把量測(cè)到的ADC Data轉(zhuǎn)換成AC Data。

              int index : 代表所量測(cè)到的ADC Data資料筆數(shù)。

              int ADC_Data : 使用 ADC所量測(cè)到的ADC Data數(shù)值。

              2. long long AC_Algorithm(void) : AC Data透過(guò)交流信號(hào)算法計(jì)算出電流數(shù)值。

              一、 范例程序

              /*----------------------------------------------------------------------------*/

              /* MAIN function */

              /*----------------------------------------------------------------------------*/

              int main(void)

              {

              long long AC_Value;

              DisplayInit();

              ClearLCDframe();

              Delay(10000);

              DisplayHYcon();

              Delay(1000);

              MCUSTATUSbits._byte = 0;

              Count=0;

              InitalADC();

              SYS_EnableGIE(7,0x1FF); //Enable GIE(Global Interrupt)

              while(1)

              {

              if(MCUSTATUSbits.b_ADCdone) //b_ADCdone=1 execute below

              {

              MCUSTATUSbits.b_ADCdone=0;

              AC_Value = AC_Algorithm(); // To do AC algorithm and to show current value

              AC_Value=AC_Value/0.5770; // Using 60HZ gain value, calibrate at 2000mA

              LCD_DATA_DISPLAY(AC_Value); //Display AC Value

              Count=0;

              DrvADC_CombFilter(0);

              DrvADC_ClearIntFlag();

              DrvADC_EnableInt();

              DrvADC_CombFilter(1);

              }

              }

              return 0;

              }

              /*--------------------------------------------------------------------*/

              /* ADC Interrupt Subroutines */

              /*--------------------------------------------------------------------*/

              void HW2_ISR(void)

              {

              int ADCData;

              if(DrvADC_ReadIntFlag())

              {

              DrvADC_ClearIntFlag();

              ADCData=DrvADC_GetConversionData();

              AC_DataCount(Count++,ADCData); // AC Algorithm : to get ADCData

              if(Count>=AC_DataLen) //to do 4096 times

              {

              DrvADC_DisableInt();

              MCUSTATUSbits.b_ADCdone=1;

              }

              }

              }

              /*--------------------------------------------------------------------*/

              /* ADC Initialization Subroutines */

              /*--------------------------------------------------------------------*/

              void InitalADC(void)

              {

              //Set ADC input pin

              DrvADC_SetADCInputChannel(ADC_Input_AIO1,ADC_Input_AIO0); //Set the ADC positive/negative input voltage source.

              DrvADC_InputSwitch(OPEN); //ADC signal input (positive and negative) short(VISHR) control.

              DrvADC_RefInputShort(OPEN); //Set the ADC reference input (positive and negative) short(VRSHR) control.

              DrvADC_Gain(ADC_PGA_Disable,ADC_PGA_Disable); //Input signal gain for modulator.

              DrvADC_DCoffset(0); //DC offset input voltage selection (VREF=REFP-REFN)

              DrvADC_RefVoltage(VDDA,VSSA); //Set the ADC reference voltage.

              DrvADC_FullRefRange(1); //Set the ADC full reference range select.

              //0: Full reference range input

              //1: 1/2 reference range input

              DrvADC_OSR(10); //10 : OSR=32

              DrvADC_CombFilter(ENABLE); //Enable OSR

              DrvADC_ClkEnable(0,1); //Setting ADC CLOCK ADCK=HS_CK/6 & Rising edge is high

              //Set VDDA voltage

              DrvPMU_VDDA_LDO_Ctrl(E_VDD3V);

              DrvPMU_BandgapEnable();

              DrvPMU_REFO_Enable();

              DrvPMU_AnalogGround(ENABLE); //ADC analog ground source selection.

              //1 : Enable buffer and use internal source(need to work with ADC)

              //Set ADC interrupt

              DrvADC_EnableInt();

              DrvADC_ClearIntFlag();

              DrvADC_Enable();

              }

              二、 參考文獻(xiàn)

              [1] http://www.winson.com.tw/Data%20Sheet/.pdf, Hall Sensor Datasheet

              [2] http://www.hycontek.com/attachments/MSP/DS-_TC.pdf, 纮康科技 Datasheet.

              [3] http://www.hycontek.com/attachments/MSP/UG-HY16F198_TC.pdf, 纮康科技HY16F198 User Guide.

            adc相關(guān)文章:adc是什么



            上一頁(yè) 1 2 下一頁(yè)

            關(guān)鍵詞: HY16F198 WCS1800

            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉