您当前的位置:五五电子网电子知识电子制作自动控制-单片机实例-1602LCD显示步进电机键控正反转实验(C语言) 正文
实例-1602LCD显示步进电机键控正反转实验(C语言)

实例-1602LCD显示步进电机键控正反转实验(C语言)

点击数:7478 次   录入时间:03-04 11:41:11   整理:http://www.55dianzi.com   自动控制-单片机
     else 
  {data_temp1=data_temp1+0x30;}

   data_temp2=data_temp%10;       //低位
     data_temp2=data_temp2+0x30;
 }

/********************************************************/
/*
/*数据显示子程序
/*
/********************************************************/
void  data_dis()
{
    data_temp = snum;        //显示圈数
    data_conv();
       lcd_pos(0x44); 
       lcd_wdat(data_temp1);
       lcd_pos(0x45); 
       lcd_wdat(data_temp2);
    
    data_temp = rate;         //显示速率
    data_conv();
       lcd_pos(0x4d); 
       lcd_wdat(data_temp1);
       lcd_pos(0x4e); 
       lcd_wdat(data_temp2);
}
/********************************************************
/*
/* 显示运行方向符号
/*
/********************************************************/
void  motor_DR()
  {
       if(direction==1)           //正转方向标志
        { for(m=0;m<2;m++)
          { 
      lcd_pos(0x0c+m);      //显示方向符号
            lcd_wdat(0x3e);
     }
   }
        else
         { for(m=0;m<2;m++)       //反转方向标志
           { 
          lcd_pos(0x0c+m);     //显示方向符号 
             lcd_wdat(0x3c);
     }
   }
  }

/********************************************************
/*
/* 显示运行状态
/*
/********************************************************/
void  motor_RUN()
 {
      if(on_off==1)
    { TR0=1; 
      lcd_pos(0);     //设置显示位置为第一行的第1个字符
         m = 0;
         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; }

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


本文关键字:步进电机  C语言  自动控制-单片机电子制作 - 自动控制-单片机

《实例-1602LCD显示步进电机键控正反转实验(C语言)》相关文章>>>