您当前的位置:五五电子网电子知识单片机-工控设备51单片机步进电机LCD显示可设定转数程序 正文
步进电机LCD显示可设定转数程序

步进电机LCD显示可设定转数程序

点击数:7754 次   录入时间:03-04 11:47:46   整理:http://www.55dianzi.com   51单片机
         while(cdis5[m] != ’\0’)
          { lcd_wdat(cdis5[m]);      //RUNNING
            m++;   }
            motor_DR();              //
    }  
      else  
    { TR0=0; P1 =0xf0; 
   lcd_pos(0);     //设置显示位置为第一行的第1个字符
         m = 0;
         while(cdis3[m] != ’\0’)
          { lcd_wdat(cdis3[m]);      //STOP
            m++;   }
            motor_DR();              //
   snum=snum1;             //
   number1=0;              //清圈数计数器
         }
  }

/********************************************************
*                                                       
*  主程序                                               
*                                                      
*********************************************************/

main()
 { 
         LCD_init_DIS();
  
   TMOD = 0x01;       //T0定时方式1
   TL0  = 0x33;
         TH0  = 0xf5;
   EA   = 1;
   ET0  = 1; 
   P1   = 0xf0; 
  
   while(1)
    {  
       if(K1==0)
    {
         beep();
      while(K1==0);       //等待键释放
      on_off=~on_off;       
         motor_RUN();  
        }   //K1 end
/********************************************************/
      if(K2==0)    
       {
      beep();
   if(snum_dr==1)
    { snum++;
        snum1=snum;
      if(snum==0x14)
            { snum_dr=~snum_dr;}
    }
   else  
     {snum--;
   snum1=snum;
      if(snum==0x01)
   { snum_dr=~snum_dr; }
     }
   
    } //K2  end
/********************************************************/
        if(K3==0)    
      {
      beep();
   direction=~direction; 
         motor_DR();
      }//K3 end

/********************************************************/
        if(K4==0)    
       {
      beep();
   if(rate_dr==1)
    { rate++;
      if(rate==0x10)
            { rate_dr=~rate_dr;}
    }
    else  
     { 
      rate--;
      if(rate==0x01)
   { rate_dr=~rate_dr; }
     }
  } //K4 end
    
/********************************************************/
      if(number1==snum1)   //与设定圈数是否相等  
     { number1=0; 
         on_off=0;
         TR0=0;
        snum=snum1;
   P1 =0xf0;
    motor_RUN();
    }         
         data_dis();
 }  // while(1) end
 }  //main end

/********************************************************/
/*
/*  定时器 0 中断 
/*
/********************************************************/

void  motor_onoff()  interrupt  1  
 {     
       TL0  = 0x33;
       TH0  = 0xf5; 
       q++;
    if(q < rate)
        { return; }
    else 
       {  q=0;    
       number++;                  //脉冲计数
        

上一页  [1] [2] [3] [4] [5]  下一页


本文关键字:步进电机  程序  51单片机单片机-工控设备 - 51单片机