圆弧插补程序c语言,基于C语言的51单片机直线圆弧插补程序

经过几天的钻研和调试,终于在51单片机上实现了二轴联动,通过调用line(x1,y1,x2,y2,v)函数以及cytu(x1,y1,x2,a,b,r,v)和cyao(x1,y1,x2,a,b,r,v)三个命令便可实现任意圆弧和直线的插补,注意任意二字,比如直线命令,可以是水平线可以是竖直线,可以是从左往右也可从右往左,可以当做一个绘图仪使用,如果愿意进一步升级,简单修改加个Z轴做成数控铣床的控制器亦未尝不可。下面是整个源程序,有兴趣的可以参考参考。

#include

#include

#include

sbit mai0=P1^0;

sbit mai1=P1^1;

sbit shuru=P0^0;

sbit dir0=P1^6;

sbit dir1=P1^7;

void delay(unsigned int t){

unsigned int g;

while(t!=0){

for(g=0;g++;g<600);

t--;

}

}

void mc_p0(signed long m0,unsigned int n0)

{if(m0<0){

m0=-m0;

dir0=1;

}

else{dir0=0;}

while(m0--!=0){

mai0=0;

delay(n0/2);

mai0=1;

delay(n0

你可能感兴趣的:(圆弧插补程序c语言)