Quantcast
Channel: MSP 低功耗微控制器论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 3634

电流为啥稳不住

$
0
0

void main(void) 
{
 uint v,i,dv,temp;
 uint flag=1;
 WDTCTL = WDTPW + WDTHOLD;    //关狗
 IO_init();
 Initclc();
 LcdReset();
 show_1602();               //初始化液晶
 ADC_Initiate(); //初始化ADC12
 TBCCR2=280;
 Init_timeB();
 xs_zkb(TBCCR2);  
 
 while(flag)
 {
  if(keyin != 0x0f)       //键值有改变
   {
    delay();        //延时消抖
    if(keyin != 0x0f)   //再次检测按键状态
    {  
     temp=keyin;  
     while(keyin != 0x0f);   //等待按键被放开
     switch(temp)    //转换键值   
     {
      case 0x07:
                ADC12CTL0 |= ADC12SC;
                i=mszh(result[1]);
                I=100;//启动ADC12
                flag=0;
                break;
      default:
                break;
     }
  }     
 }
}   
                while(1)
                {
                 if(i<I)
                 {
                  //dv=I-i;
                   TBCCR2+=1;
                 //  Disp1Char(15,1,'A');
                  //TBCCR2+=piadjiust(dv);
                 }
                 else if(i>I)
                 {
                 // dv=i-I;
                   TBCCR2-=1; 
                 //  Disp1Char(15,1,'B');
                 // TBCCR2-=piadjiust(dv);
                 }
                 ADC12CTL0 |= ADC12SC; //启动ADC12
                 xs_VandI();//显示电压电流
                 v=mszh(result[0]);//电压采样值
                 i=mszh(result[1]);//电流采样值
                 Init_timeB();//输出方波
                 xs_zkb(TBCCR2);
                
                 /**********
                 if((v<=320)&(i<=200))
                 {
                  if(keyin != 0x0f)       //键值有改变
                  {
                   delay();        //延时消抖
                   if(keyin != 0x0f)   //再次检测按键状态
                   {  
                    temp=keyin;  
                    while(keyin != 0x0f);   //等待按键被放开
                    switch(temp)    //转换键值   
                    {
                     case 0x0b:
                               I=I+10;xianshi(I);
                               break;
                     case 0x0d:
                               I=I-10;
                               break;
                     default:
                               break;
                     }
                    }
                   }
                  }
                  else
                  {
                    TBCCR2=280;
                  }*****************/
                 }
   
}

这是程序的主程序,我在电路中实际测时,不知道为啥电流稳不住,占空比1s就加没了


Viewing all articles
Browse latest Browse all 3634

Trending Articles