⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad.c

📁 IARAVR多项功能测试+protues调试例程
💻 C
字号:
#define AD_C
#include "includes.h"
#include<math.h>
unsigned char  adc_mux = 0x00 ;
int  U_Temp;
int  I_Temp;

/******************************************************************************/
/******************************************************************************/
void init_adc(void)
{	
    AD_RESET; 
    ADMUX =(adc_mux&0x1f)|(1<<REFS0)|(1<<REFS1);  //参考电压为内部2.56
    SET_ADCLK_64 ;//64分频,AD时钟187.5KHz
    _EINT;
    UBRRH = 25;
    UBRRL = 25;
    UCSRB=0x18;    
    UCSRC=0x86;	 
}

/******************************************************************************/

/******************************************************************************/
 //ADC完成中断
//#pragma vector = interrupt_handler adc_isr:iv_ADC  
// define the interrupt handler

#pragma vector=ADC_vect
    __interrupt void adc_isr( void )
{
    switch(AD_OBJ)
    {
      case(VA):
        Next_ADchanle;
        U_Temp = ADC - UA_ref;
        UA_sum+= U_Temp*U_Temp;
        AD_Statue = CONVERTING;
      break;
      case(IA):
        I_Temp = ADC - IA_ref;
        IA_sum+= I_Temp*I_Temp; 
        PA_sum+= U_Temp*I_Temp; 
        AD_Statue = PAUSE;
      break;
      
      case(VB):
        Next_ADchanle;
        U_Temp = ADC - UB_ref;
        UB_sum+= U_Temp*U_Temp;
        AD_Statue = CONVERTING; 
      break;
      case(IB):
        I_Temp = ADC - IB_ref;
        IB_sum+= I_Temp*I_Temp; 
        PB_sum+= U_Temp*I_Temp; 
        AD_Statue = PAUSE;
      break;
      
      case(VC):
        Next_ADchanle;
        U_Temp = ADC - UC_ref;
        UC_sum+= U_Temp*U_Temp; 
        AD_Statue = CONVERTING;
      break;
      case(IC):
        I_Temp = ADC - IC_ref;
        IC_sum+= I_Temp*I_Temp; 
        PC_sum+= U_Temp*I_Temp; 
        AD_Statue = PAUSE;
      break;
      
      default:
        AD_Statue=FINISHED;
      break;
    }
}

void AD_cal(void)
{
   PowerMeter.Va=UA_sum;//sqrt((UA_sum>>7))*25.0244;
   PowerMeter.Vb=UB_sum>>7;
   PowerMeter.Vc=UC_sum>>7;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -