• 大小: 26.49 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-12-10
  • 语言: 其他
  • 标签: G代码  

资源简介

直接用单片机实现G代码的翻译,用51单片机控制数控机床。

资源截图

代码片段和文件信息

#include 
#include 
#include
   char XOYSTEP=1;
   long FMXEYE;
   char chabu_bz;
   void weizhi(void)    //确定直线位?
{                
 if(x1>0&&y1>0)
   {if(x1>y1) XOY=1;
    if(x1==y1)XOY=2;
    if(x1 if(x1<0&&y1>0)
   {if(fabs(x1)    if(fabs(x1)==y1)XOY=5;
    if(fabs(x1)>y1) XOY=6;}
 if(x1<0&&y1<0)
   {if(fabs(x1)>fabs(y1)) XOY=7;
    if(fabs(x1)==fabs(y1))XOY=8;
    if(fabs(x1) if(x1>0&&y1<0)
   {if(x1    if(x1==fabs(y1))XOY=11;
    if(x1>fabs(y1)) XOY=12;}
 if(x1>0&&y1==0) XOY=13;
 if(x1==0&&y1>0) XOY=14;
 if(x1<0&&y1==0) XOY=15;
 if(x1==0&&y1<0) XOY=16;
}


 void xoy1()                     /*插补函数*/
 {if(FM>=0) {x1=x1+STEP;FM=FM-YE;chabu_bz=0x00;}
 else {x1=x1+STEP;y1=y1+STEP;FM=FM+XE-YE;chabu_bz=0x80;}
 }
 void xoy2()
 {x1=x1+STEP;y1=y1+STEP;chabu_bz=0x80;}

 void xoy3()
 {if(FM>=0) {x1=x1+STEP;y1=y1+STEP;FM=FM-YE+XE;chabu_bz=0x80;}
 else {y1=y1+STEP;FM=FM+XE;chabu_bz=0x40;}
 }
 void xoy4()
 {if(FM>=0) {x1=x1-STEP;y1=y1+STEP;FM=FM+fabs(XE)-YE;chabu_bz=0xa0;}
  else {y1=y1+STEP;FM=FM+fabs(XE);chabu_bz=0x40;}
 }
 void xoy5()
  {x1=x1-STEP;y1=y1+STEP;chabu_bz=0xa0;}

 void xoy6()
  {if(FM>=0) {x1=x1-STEP;FM=FM-YE;chabu_bz=0x20;}
   else {x1=x1-STEP;y1=y1+STEP;FM=FM+fabs(XE)-YE;chabu_bz=0xa0;}
 }
 void xoy7()
 {if(FM>=0) {x1=x1-STEP;FM=FM-fabs(YE);chabu_bz=0x20;}
  else {x1=x1-STEP;y1=y1-STEP;FM=FM+fabs(XE)-fabs(YE);chabu_bz=0xb0;}
 }
 void xoy8()
  {x1=x1-STEP;y1=y1-STEP;chabu_bz=0xb0;}

 void xoy9()
 {if(FM>=0) {x1=x1-STEP;y1=y1-STEP;FM=FM+fabs(XE)-fabs(YE);chabu_bz=0xb0;}
   else {y1=y1-STEP;FM=FM+fabs(XE);chabu_bz=0x50;}
 }
 void xoy10()
  {if(FM>=0) {x1=x1+STEP;y1=y1-STEP;FM=FM-fabs(YE)+XE;chabu_bz=0x90;}
   else { y1=y1-STEP;FM=FM+XE;chabu_bz=0x50;}
  }
 void  xoy11()
   {x1=x1+STEP;y1=y1-STEP;chabu_bz=0x90;}
  
 void  xoy12()
 {if(FM>=0) {x1=x1+STEP;FM=FM-fabs(YE);chabu_bz=0x00;}
 else {x1=x1+STEP;y1=y1-STEP;FM=FM-fabs(YE)+XE;chabu_bz=0x90;}
 }
 void xoy13()
 { x1=x1+STEP;chabu_bz=0x00;}
 void xoy14()
 { y1=y1+STEP; chabu_bz=0x40;}
 void xoy15()
 { y1=x1-STEP; chabu_bz=0x20;}
 void xoy16()
 { y1=y1-STEP; chabu_bz=0x50;}


void ChaBu()          //插补主程序
{ char k=0;            //定义变量
    FM=0;             //偏差置0 
    XE=x2-x1;  YE=y2-y1;
OutP=0;    InP=0;
              
    weizhi();              //调用函数确定直线位置
   for(;;)                 //根据所确实直线位置进行插补
  { switch(XOY)
    {case 1:xoy1();break;
     case 2:xoy2();break;
     case 3:xoy3();break;
     case 4:xoy4();break;
     case 5:xoy5();break;
     case 6:xoy6();break;
     case 7:xoy7();break;
     case 8:xoy8();break;
     case 9:xoy9();break;
     case 10:xoy10();break;
     case 11:xoy11();break;
     case 12:xoy12();break;
     case 13:xoy13();break;
     case 14:xoy14();break;
     case 15:xoy15();break;
     case 16:xoy16();break;
    }
     k++;
     if(k==1)ChaBuBuf[InP]=chabu_bz;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        320  2004-10-14 13:39  1C51\all.h

     文件       3343  2004-10-14 16:07  1C51\ChaBu.c

     文件         32  2004-10-11 16:37  1C51\ChaBu.h

     文件       6100  2004-10-14 16:08  1C51\ChaBu.LST

     文件      22133  2004-10-14 16:08  1C51\ChaBu.OBJ

     文件       1430  2004-10-11 16:28  1C51\Main.c

     文件        407  2004-10-11 12:24  1C51\main.h

     文件       3390  2004-10-14 16:08  1C51\Main.LST

     文件       4091  2004-10-14 16:08  1C51\Main.OBJ

     文件       5115  2002-04-16 15:32  1C51\STARTUP.A51

     文件      11665  2004-10-14 16:08  1C51\STARTUP.LST

     文件        749  2004-10-14 16:08  1C51\STARTUP.OBJ

     文件      12466  2004-10-14 16:08  1C51\Xi.hex

     文件         68  2004-10-14 16:08  1C51\Xi.lnp

     文件      18231  2004-10-14 16:08  1C51\Xi.M51

     文件       2458  2009-12-15 08:20  1C51\Xi.Opt

     文件          0  2009-12-15 08:20  1C51\Xi.plg

     文件       1839  2009-12-15 08:20  1C51\Xi.Uv2

    .......      2612  2004-10-14 17:15  1C51\Xi_Opt.Bak

    .......      2113  2004-10-14 15:51  1C51\Xi_Uv2.Bak

     目录          0  2009-12-15 08:20  1C51

----------- ---------  ---------- -----  ----

                98562                    21


评论

共有 条评论