sonhh
级别: 略有小成
精华主题: 0
发帖数量: 210 个
工控威望: 422 点
下载积分: 1857 分
在线时间: 584(小时)
注册时间: 2007-05-16
最后登录: 2024-11-09
查看sonhh的 主题 / 回贴
楼主  发表于: 2010-02-22 14:07
我给大家一个陶瓷印花机程序,希望对大家有用
附件: 印花机.rar (5 K) 下载次数:878
网站提示: 请不要用迅雷下载附件,容易出错
本帖最近评分记录:
  • 下载积分:+1(xdhxdh)
  • 下载积分:+1(gang.liu9)
    xinyan
    级别: 略有小成
    精华主题: 0
    发帖数量: 100 个
    工控威望: 424 点
    下载积分: 2028 分
    在线时间: 193(小时)
    注册时间: 2009-01-26
    最后登录: 2024-05-09
    查看xinyan的 主题 / 回贴
    1楼  发表于: 2011-06-11 20:38
    陶瓷厂印花机单片机C语言程序
    #include <REG52.H>


    sbit  P0_0=P0^0;   sbit  P1_0=P1^0;    
    sbit  P0_1=P0^1;   sbit  P1_1=P1^1;
    sbit  P0_2=P0^2;   sbit  P1_2=P1^2;
    sbit  P0_3=P0^3;   sbit  P1_3=P1^3;  
    sbit  P0_4=P0^4;   sbit  P1_4=P1^4;
    sbit  P0_5=P0^5;   sbit  P1_5=P1^5;
    sbit  P0_6=P0^6;   sbit  P1_6=P1^6;
    sbit  P0_7=P0^7;   sbit  P1_7=P1^7;  
      

    sbit  P2_0=P2^0;   sbit  P3_0=P3^0;
    sbit  P2_1=P2^1;   sbit  P3_1=P3^1;
    sbit  P2_2=P2^2;   sbit  P3_2=P3^2;
    sbit  P2_3=P2^3;   sbit  P3_3=P3^3;
    sbit  P2_4=P2^4;   sbit  P3_4=P3^4;
    sbit  P2_5=P2^5;   sbit  P3_5=P3^5;
    sbit  P2_6=P2^6;   sbit  P3_6=P3^6;
    sbit  P2_7=P2^7;   sbit  P3_7=P3^7;
      

    void main (void)
    {
       unsigned char flag=0,flag1=0,flag2=0,flag3=0;
       TimerInit();
       P1_4=0;
      while(1)
      {
       if(P0_6==0) P1_5=0;
       if(P0_7==0) P1_5=1;    //电机

       if((P0_1==0) && (flag==0) )   {TimerOn(1,10);flag=0;} //flag 定时器隔离

       if(P0_1==1) {TimerOff(1);flag=0;}

      if((Timer[1].TF==1)&& (P0_4==0) &&(P1_2==1) &&(P1_3==1)) {flag1=1; }   //flag1 来砖记忆。
        // if(Timer[1].TF==1)  {flag1=1;}       //快速印花
      
        
        if((P0_4==0) &&(P1_2==1) &&(P1_3==1)&&(flag1==1))

       {P1_4=1;_nop_();P1_0=0; }               //离合启动

      if((P1_0==0)&&(P0_3==0))
    {
         Delay(1);
        if((P1_0==0)&&(P0_3==0))  flag2=1;    //flag2接近开关前沿


    }
      
      if((P0_3==1)&&(flag2==1))
      { Delay(1);
        
       if((P0_3==1)&&(flag2==1)) {flag3=1;flag2=0;} //flag3 接近开关后沿

       }

      if((P0_4==1) ||(P1_2==0)||(P1_3==0) ||(flag3==1))
          
        {
         P1_0=1;_nop_(); flag3=0;flag1=0;  
      if((P0_1==1)||(Timer[1].TF==0))  P1_4=0;        //连续印花不制动
      }    //离合停止    


      if((P0_0==0) &&(P0_3==1)&&(P1_2==1)&&(P1_0==1))         //升版
      {
       Delay(1);

       if((P0_0==0) &&(P0_3==1)&&(P1_2==1)&&(P1_0==1))        //升版后制动
       {P1_3=1;_nop_();P1_2=0;P1_4=0;}

      }
          if(P0_0==1)   P1_2=1;
       if(P0_0==0)   P1_3=1;

      if((P0_0==1) &&(P0_4==1)&&(P1_3==1))
      {
        Delay(1);
        if((P0_0==1) &&(P0_4==1)&&(P1_3==1))
        {
          P1_2=1;_nop_();P1_3=0;                     //降版
        }
      }
      if((P1_3==0)  &&(P0_4==0))  {TimerOn(2,10);}   //降版停延时

      if(Timer[2].TF==1) {P1_3=1;TimerOff(2);}

      if(P0_1==0)  {TimerOn(3,5);}      //夹砖延时
      if(P0_1==1)  {TimerOff(3);}

      if((Timer[3].TF==1) && (P0_2==0)&&(P0_5==1))   P1_1=0;  //夹砖
      else          P1_1=1;






    用单片机代替昂贵的PLC,改造陶瓷厂设备已开发成功,目前已完成了 印花机、翻坯机、进出窑的单片机程序。