切换到宽版
爱科技/爱创意/爱折腾/爱极致;技术知识分享平台,点击进入新版数码之家网站
  • 4845阅读
  • 8回复

[工仪]实现51单片机直线插补 [复制链接]

上一主题 下一主题
离线peiruijun
 

发帖
158
M币
93
专家
3
粉丝
35
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2014-12-02
实现51单片机直线插补,!!
下一步要用VB做上位机.不指望读G代码,能画个简单图形就成,加油加油!!!


视频:
flash: http://www.tudou.com/programs/view/lKUnbcWykIE/


好多说看不懂,其实就是控制X轴和Y轴走直线
比如当前作为原点,再给出一个坐标点(x2,y2),然后在两点之间画出一条直线,

视频中X走完全程时,Y正好走到一半,这样画出的是
22.5度的直线,  那如果X走完全程,同时Y也走完全程画出的就是45度的直线, 这样说明白吗?

基本上任何角度的都可以画
这就是我理解的直线插补

以后画图形,包括画圆,圆弧都会被拆解成直线段

使用这一过程就会画出来


代码   部分

void out1c2(long xM_stepsX,long xM_stepsY)
    //            脉冲数-2^31, 2^31
    {
    char    cha;
    double     cha2;                        //直线斜率
    char     xM_dirX;                       //前进方向,(1正方向,-1反方向)
    char     xM_dirY;                       //前进方向,(1正方向,-1反方向)

    xM_dirX        = xM_stepsX/labs(xM_stepsX);    //取得前进方向
    xM_dirY        = xM_stepsY/labs(xM_stepsY);    //取得前进方向
    xM_stepsX    = labs(xM_stepsX);
    xM_stepsY    = labs(xM_stepsY);


[ 此帖被peiruijun在2014-12-03 09:11重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共5条打赏M币+15
离线wcg659377727

发帖
1856
M币
686
专家
6
粉丝
86
只看该作者 1楼 发表于: 2014-12-02
请登录后查看
离线kiiir00t

发帖
1894
M币
1894
专家
3
粉丝
75
只看该作者 2楼 发表于: 2014-12-02
请登录后查看
离线qyz1211
发帖
250
M币
512
专家
0
粉丝
8
只看该作者 3楼 发表于: 2014-12-02
请登录后查看
离线devcang

发帖
18104
M币
9149
专家
20
粉丝
97
只看该作者 4楼 发表于: 2014-12-03
请登录后查看
离线peiruijun

发帖
158
M币
93
专家
3
粉丝
35
只看该作者 5楼 发表于: 2014-12-03
回 wcg659377727 的帖子
请登录后查看
离线peiruijun

发帖
158
M币
93
专家
3
粉丝
35
只看该作者 6楼 发表于: 2014-12-03
回 devcang 的帖子
请登录后查看
离线tang5275

发帖
803
M币
837
专家
3
粉丝
25
只看该作者 7楼 发表于: 2014-12-03
请登录后查看
离线yunhai13
发帖
1
M币
-497
专家
0
粉丝
1
只看该作者 8楼 发表于: 2017-12-28
请登录后查看
快速回复
限80 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个