5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 47277|回复: 259
打印 上一主题 下一主题

打印口驱动CNC切割程序,免费送了!

[复制链接]
跳转到指定楼层
楼主
发表于 2007-4-5 20:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
3年前的作品,记得当时是不服老外的东西诸多限制,一横心做出来的。

本想只提供给好友使用,不想外传,所以还加了密^o^

刚翻老底找了出来,共享出来造福大家了^o^

要的留电邮。安装后报序列号取授权码。:loveliness:


[ 本帖最后由 sgyyj 于 2007-4-5 20:38 编辑 ]

评分

参与人数 1威望 +2 收起 理由
论坛老模友 + 2 【发贴鼓励】感谢分享,希望继续努力发更多 ...

查看全部评分

欢迎继续阅读楼主其他信息

沙发
 楼主| 发表于 2007-4-5 20:50 | 只看该作者

回复 #1 sgyyj 的帖子

==============调整切割参数===============



==============更改驱动模式=====================



[ 本帖最后由 sgyyj 于 2007-4-5 20:54 编辑 ]
3
发表于 2007-4-5 20:50 | 只看该作者
4
发表于 2007-4-5 20:52 | 只看该作者
东西好,人更好!
5
发表于 2007-4-5 20:55 | 只看该作者
厉害!bstvjsshi@yahoo.com.cn   谢谢了
6
发表于 2007-4-5 20:56 | 只看该作者
固定翼的啊,我玩电直,没什么用吧。。。。。。
我是新手,不要见笑,嘿嘿:em15: :em15:
7
发表于 2007-4-5 20:59 | 只看该作者
不错,如果有机械部分就更好了,呵呵。
8
 楼主| 发表于 2007-4-5 21:04 | 只看该作者

回复 #7 loves123 的帖子

机械部分大家都在做了(如蓝猫的),国外的bb001、MM2001等等都可以兼容,其它的可以自己设置,只要是并口能驱动的就可以用:em15:

[ 本帖最后由 sgyyj 于 2007-4-5 21:31 编辑 ]
9
 楼主| 发表于 2007-4-5 21:08 | 只看该作者
tony37241@126.combstvjsshi@yahoo.com.cn  程序已经发出,查邮件。

Y轴 、Y轴单位意思有点BT,应该是 xx   步 /  cm  ,反过来看就是:loveliness:
10
发表于 2007-4-5 21:28 | 只看该作者
11
发表于 2007-4-5 21:45 | 只看该作者
先谢谢。

grgoahead@gmail.com
12
 楼主| 发表于 2007-4-5 22:08 | 只看该作者
因为当时没找到UNC5084,所以用了2051单片机做的驱动替代了:loveliness:

这是我自己用的驱动电路图



源程序:

;copyright by yyj (sgyyj@yahoo.com.cn)
;2004-2-5 应茂名李剑峰要求,做CNC切割接口,因为买不到UNC5084 步进马达驱动
;2004-4-4 测试自制CNC切割软件 ,CPU 2051 CK = 6 Mhz
;        P1口直接驱动L3803 N-mosfet, P1.0-P1.3 为马达1 , P1.4-P1.7为马达2
;2004-4-9 加入50%/25%的PWM在没输入时,自动降电流,取消CLK输出功能改为TEST脉冲输出
DOG  EQU 7FH ;看门狗计数
TEST  EQU P3.7 ;测试脉冲输出
STEP1  EQU P3.2 ;马达1步脉冲
DIREC1  EQU P3.4 ;马达1方向
STEP2  EQU P3.3 ;马达2步脉冲
DIREC2  EQU P3.5 ;马达2方向
HALF_KEY EQU P3.1    ;全步/半步选择
PWM_K  EQU P3.0 ;50%PWM /25%PWM 选择
LOOP1  EQU 70H
LOOP2  EQU 71H
CLK  EQU 72H
PWM_DL  EQU 73H ;PWM运行延迟
PWM_FLAG EQU 20H ;允许PWM运行
OUT  EQU 21H ; PWM时 输出状态 1=FET ON ,0=FET OFF
RUN  EQU 22H
#CLK_LOOP EQU #2
#PWM_TM  EQU #4 ;PWM运行延迟时间 * 0.131s
        ORG   000H
REST: LJMP RST
;--INT0--中断
ORG 003H
        LJMP INT0
DB 80H,0E7H
;---T0---CLK PWM发生器/测试脉冲发生器 中断处理-------
ORG 00BH
T001: LJMP T0
DB 30H,0A5H
;--INT1--中断
ORG 013H
LJMP INT1
DB 07H,67H
;---T1---中断
ORG 01BH
        LJMP T1
        DB 32H,1FH,0BH,8AH,37H,0E0H,7CH,65H,0D9H,1EH,9AH,6CH,9AH,,0F5H,32H
ORG 030H
T0: DJNZ R7,T003
MOV R7,#5
CPL TEST
T003: JNB PWM_FLAG,T0100 ;PWM_FLAG=0则不处理,直接输出TEST周期方波
DJNZ CLK,T0100
MOV CLK,#CLK_LOOP
JB OUT,T021  ;ON-->0FF = 256*2us=512us
SETB OUT
JB PWM_K,T011  ;OFF-->ON = 512*2us / 128*2us
MOV TH0,#80H
        RETI
T011: MOV TH0,#0H
        RETI
T021: CLR OUT
T0100: RETI
DB 08H,0CH,04H,06H,02H,03H,01H,09H,32H
DB 09H,0CH,06H,03H,32H
;-----0.131 s 看门狗中断处理-   33s 后复位----
ORG 060H
T1: DJNZ DOG,T101
CLR IE.7
RRST: MOV DPTR,#RST
PUSH DPL
PUSH DPH
T101: DJNZ PWM_DL,T102
MOV PWM_DL,#PWM_TM
SETB PWM_FLAG
T102: RETI
;============= RESET ===========
RST: CLR IE.7  ;禁止中断
MOV P1,#00000000B; P1 =0,关闭 MOSFET
        MOV TCON,#05H     ;停止 T0,T1 , INT0,INT1  跳变触发
MOV P3,#11111111B
        MOV TMOD,#12H   ; T1: 16位定时器,T0: 8位自装入定时器
MOV IP,#0AH ; T0,T1 中断优先
MOV TH0,#0
MOV TL0,#0
MOV PSW,#0
        MOV SP,#28H     ;SP = 28 H 开始
MOV DPTR,#MAIN
PUSH DPL
PUSH DPH
RETI
;--------------主程式-------------
MAIN:  CLR FO
MOV TCON,#55H           ;启动 T0、T1
MOV IE,#8FH  ;INT0,INT1,T0、T1可以中断 ,DOG在没有输入步进信号33 秒后启动复位
MOV R3,#88H  ;初始输出值
CLR RUN
MOV PWM_DL,#PWM_TM
MOV CLK,#CLK_LOOP
MAIN1: JNB RUN,MAIN1
MOV DOG,#0
MOV TL1,#0
MOV TH1,#0
CLR PWM_FLAG  ;关闭PWM
MAIN2: JNB PWM_FLAG,MAIN2 ;PWM_FLAG=0 则不处理
JNB OUT,MA10
MOV P1,R3
SJMP MAIN2
NOP
NOP
NOP
MA10: MOV P1,#0
SJMP MAIN2
ORG 300H
;-----------INT0 马达1步脉冲下沿触发-----
INT0: JNB FO,INT000
LCALL START
INT000: JNB DIREC1,INT001
INC LOOP1
        SJMP INT002
INT001: DEC LOOP1
INT002: JNB HALF_KEY,INT010 ;低电平为 HALF方式
MOV DPTR,#DATA1
ANL LOOP1,#3  ;4 STEP
SJMP INT011
INT010: MOV DPTR,#DATA11
ANL LOOP1,#7  ;8 STEP
INT011: MOV A,LOOP1
MOVC A,@A+DPTR
MOV R1,A
MOV A,R3
ANL A,#0F0H
ORL A,R1
SJMP OUT_END
DB 97H
;-----------INT1 马达2步脉冲下沿触发-----
ORG 330H
INT1: JNB FO,INT100
LCALL START
INT100: JNB DIREC2,INT101
INC LOOP2
SJMP INT102
INT101: DEC LOOP2
INT102: JNB HALF_KEY,INT110 ;低电平为 HALF方式
MOV DPTR,#DATA2
ANL LOOP2,#3  ;4 STEP
SJMP INT111
INT110: MOV DPTR,#DATA21
ANL LOOP2,#7  ;8 STEP
INT111: MOV A,LOOP2
MOVC A,@A+DPTR
MOV R2,A
MOV A,R3
ANL A,#0FH
ORL A,R2
OUT_END:MOV P1,A
SETB RUN
MOV R3,A  ;R3保留输出值
POP A
POP B
MOV DPTR,#MAIN1
PUSH DPL
PUSH DPH
RETI
START: CLR FO
MOV A,#88H
SJMP OUT_END
RETI
DATA1: DB 09H,0CH,06H,03H ; TWO PHASE  4 STEP
DATA11: DB 08H,0CH,04H,06H,02H,03H,01H,09H ;HALF PHASE 8 STEP
DATA2: DB 090H,0C0H,060H,030H ; TWO PHASE  4 STEP
DATA21: DB 080H,0C0H,040H,060H,020H,030H,010H,090H ;HALF PHASE 8 STEP
NOP
RETI
        ORG 07FDH
LJMP REST

[ 本帖最后由 sgyyj 于 2007-4-5 22:11 编辑 ]
13
发表于 2007-4-5 22:38 | 只看该作者
谢谢楼主,请发一份给我。
邮箱wm45043@yahoo.com.cn
14
发表于 2007-4-5 22:45 | 只看该作者
收藏一份看看. cdch@163.com
15
发表于 2007-4-6 09:16 | 只看该作者
16
 楼主| 发表于 2007-4-6 09:26 | 只看该作者
为避免大家麻烦,正在将加密狗去除,时间久了,自己做的事情都忘了,要点时间更新。:loveliness:
17
发表于 2007-4-6 09:31 | 只看该作者
真是好人请给我1份
tang0868@sina.com
谢了
谢谢
再谢谢
18
 楼主| 发表于 2007-4-6 09:56 | 只看该作者
加密加到我都糊涂了,修改太耗精力,还是麻烦大家好了,天下没完全免费的午餐嘛:em19: :em19:
大家就劳动劳动。
19
发表于 2007-4-6 11:10 | 只看该作者
我的ID:YDZ-117377-D5A9469
用户名称:YeYongJun

[ 本帖最后由 tang0868 于 2007-4-6 11:16 编辑 ]
20
发表于 2007-4-6 12:22 | 只看该作者
感谢楼主。   ccoc@!63.com
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表