数控冲控制程序.docx
- 文档编号:3756499
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:15
- 大小:21.45KB
数控冲控制程序.docx
《数控冲控制程序.docx》由会员分享,可在线阅读,更多相关《数控冲控制程序.docx(15页珍藏版)》请在冰豆网上搜索。
数控冲控制程序
;---------------------------------------------------------------
;数控冲控制程序DY0820RS.ASM
;CUP:
AT89C55,24MHZ
;时间:
2003年3月24日,2003.9.28(10.30.00)修改
;T0----插补定时中断定时器(MAX:
15KHZ)
;T1----固定循环定时器(1mS)
;T2----串行通讯波特率发生器
;---------------------------------------------------------------
;...............................................................
;1寄存器的使用.
;...............................................................
;0区--主程序使用,
;1区--定时中断程序使用
;2区--运算子程序使用
;3区—T0子程序
;...............................................................
;2.位标志区.AXLENUM轴编号存放区
;ERRAX=1自检错误
;ERRAX=0自检无错误
;...............................................................
;
(1)T2控制位;
TR2EQU00
TF2EQU00
ET2EQU0ADH
;
(2)其他位标志
DIE_OKBIT00H;模台定位完成,置1
POIN_FLGBIT01H;精定位活塞退出,置1
HAND_FLGBIT02H;手动运行,置1
MODE_FLGBIT03H;工作模式改变,置1
KB_FLGBIT04H;
T_P_FLGBIT05H;传送程序,置1
STOP_FLGBIT06H;收到停止命令,置1
ENT_FLGBIT07H;接收到回车符,置位ENT_FLG=1
RUN_FLGBIT08H;(=1),----执行程序
REI_FLGBIT09H;(=1)----要求传送一段程序
STAR_FLGBIT0AH;(=0)----还未开始执行当前程序
OK_FLGBIT0BH;(=0)----当前程序为执行完毕
X_ENDBIT0CH;=1,X运行结束
Y_ENDBIT0DH;=1,Y运行结束
S_P_ENDBIT0EH;单程序段运行结束标志。
T0_STABIT0FH;T0启动标志
T0_FLGBIT10H;T0一段代码运行完成,置1
;对G00等,X_BUF,Y_BUF的值一次送
;到X_DAT,Y_DAT中,在T0中断服务程
;序中进行运动,对G14等,需将它们
;分若干次送到X_DAT,Y_DAT,每送一
;步,X_BUF,Y_BUF减去一个数F,完成
;每完成一次运动,进行一次冲压。
T0_OKBIT11H
POS_FLGBIT12H;求运动量时的符号位,=1,正
X_POSBIT13H;X轴正转,=1
Y_POSBIT14H;Y轴正转,=1
I_POSBIT15H
J_POSBIT16H
DAT_POSBIT17H;坐标数据为正,=1
DEMO_FLGBIT18H;演示标志
IN1_FLGBIT19H
IN2_FLGBIT1AH
IN3_FLGBIT1BH
IN4_FLGBIT1CH
MS2_FLGBIT1DH
DX_POSBIT1EH
DY_POSBIT1FH
PRX_FLGBIT20H;前一步X的运动方向
PRY_FLGBIT21H;
R_FLGBIT22H
L_FLGBIT23H
S_FLGBIT24H
Z_FLGEQU25H
;---------------------------------------------------------------
S_PC_CMBIT26H;向PC发送的是应答信号标志
BELCUBZBIT27H;除数为零标志
P_BZ_XBIT28H;X轴正转标志
P_BZ_YBIT29H;Y轴正转标志
P_BZ_MBIT2AH;模台正转标志
P_BZ_ABIT2BH;A正转标志
P_BZ_BBIT2CH;B正转标志
P_BZ_CBIT2DH;C正转标志
S_R_FLGBIT2EH;单程序段运行标志
CZS1_NBIT2FH
CZS2_NBIT30H
FST_FLGBIT31H;快速定位运动标志
RAM_ERRBIT32H;RAM错误
TST_FLGBIT33H;测试程序执行标志
CMD_FLGBIT34H;=1,PC即有命令送来
RS_FLGBIT35H;=1,PC机有数据送来
F_T_FLGBIT36H;已开始程序传送
HALT_FLGEQU37H;暂停标志
F_T_ENDEQU38H;文件传送结束
CUN_FLGEQU39H
EOF_FLGBIT3AH
RUN_ENDBIT3BH;
QZ_OKBIT3CH;取指令结束
END_FLGBIT3DH;程序运行结束
END_GFUNBIT3EH;GFUN运行结束标志
GFUN_STABIT3FH;GFUN启动标志
GFUN_OKBIT40H
TPRG_FLGBIT41H;接到程序传送引导符号,=1
;收到EOF代码,=0
TPRG_OKBIT42H;程序传送完毕,=1
QZL_BZBIT43H;
XALENDEQU44H
YALENDEQU45H
ZLZX_OKEQU46H
SD_FLGEQU47H
HAND_STAEQU48H
X_POS_PEQU49H;
Y_POS_PEQU4AH
REF_MPOSEQU4BH
REF_MNEGEQU4CH
REF_MOKEQU4DH
FIST_REFEQU4EH
REF_FUNEQU4FH
;--------------------------------------------------------------
;3.AT89C52内RAM分配..
;从外RAM中取出加工程序时,每取一个数据值,先将其ASCII码转换成
;非压缩的BCD码暂存在运算子程序的第一操作数存放区“CZS1CFQ”中,
;然后调用ASCII码转换到二进制数子程序“BCD_BIN",将ASCII码转
;换成二进制数,在保存到相应的缓冲存储单元。
;堆栈设置在高128字节空间:
0D0H,占48字节。
;...............................................................
;
(1)内RAM地址分配
ERRBUFEQU20H;位标志区(20H---25H)6字节
;8*8=64个位地址,
;从28H开始,做内部RAM使用。
KBCTREQU30H;小键盘控制信号输出数据缓冲区,1字节
;D7--CLR2D3--NC
;D6--DWI控制D2--NC
;D5--LED显示D1--PM2
;D4--SYSOKD0--PM1
P1_BUFEQU31H;
L_TYPEEQU32H;插补用线型编号存放单元(32H)1字节
;L_TYPE=00H,快速定位,
;=01H,L1
;=02H,L2
;=03H,L3
;=04H,L4
;=05H,SR1
;=06H,SR2
;=07H,SR3
;=08H,SR4
;=09H,NR1
;=0AH,NR2
;=0BH,NR3
;=0CH,NR4
;=0DH,L_BY1
;=0EH,L_BY2
;=0FH,L_BY3
DISP_PEQU33H;显示数据地址指针,指示外RAM地址
DISP_PLEQU33H
DISP_PHEQU34H
DIE_CTREQU35H
CTR_NUMBEQU36H;运行的消息代码,EXE_SUB按该消息值
;进入不同的处理程序,而在处理程序
;中,依据下一步的处理过程,给
;CTR_NUMB设置新的数值,1字节
KB_BUFEQU37H;键盘控制器接收缓冲区,1字节
RS1_BUFEQU38H;串口1数据缓冲区,(38H)1字节
MODE_BUFEQU39H;工作方式存放区(39H)1字节
CODEBUFEQU3AH;命令代码缓冲区(3AH)1字节
DPTRBUFEQU3BH;DPTR暂存区(3BH---3CH)2字节
DPLBUFEQU3BH;地址指针缓冲区低字节(3BH)1字节
DPHBUFEQU3CH;地址指针缓冲区高位(3CH)1字节
PRG_ADREQU3DH;程序首地址(3DH----3EH)2字节
PRG_ADRLEQU3DH;程序首地址低字节(3DH)1字节
PRG_ADRHEQU3EH;程序首地址高字节(3EH)1字节
BCDSJGSEQU3FH;待转换的BCD个数(3FH)1字节
BINSJGSEQU40H;二进制数的字节数(40H)1字节
;输入端口缓存
IN1_BUFEQU41H;INPOT1输入状态存放区(41H)1字节。
IN2_BUFEQU42H;INPOT2输入状态存放区(42H)1字节。
IN3_BUFEQU43H;INPOT3输入状态存放区(43H)1字节。
IN4_BUFEQU44H;INPOT4输入状态存放区(44H)1字节。
;输出端口缓存
OT1_BUFEQU45H;OUTPOT1输出数据存放区(45H)1字节
OT1X_BUFEQU46H;OUTPOT1输出数据存放区(46H)1字节
OT1Y_BUFEQU47H;OUTPOT1输出数据存放区(47H)1字节
O1XYOT_BUFEQU48H;OUTPOT1输出数据存放区(48H)1字节
OT2_BUFEQU49H;OUTPOT1输出数据存放区(49H)1字节
OT2X_BUFEQU4AH;OUTPOT1输出数据存放区(4AH)1字节
OT2Y_BUFEQU4BH
O2XYOT_BUFEQU4CH
;定时器时间常数暂存区
T0_BUFEQU4DH;T0定时常数存储区(4DH,4EH)2字节
TL0_BUFEQU4DH;T0定时中断常数底八位存储区
TH0_BUFEQU4EH;T0定时中断常数高八位存储区
;坐标及代码数据存放区
FUN_CODEEQU4FH;G代码数据缓冲区(4FH)1字节.
;G00----G99
FUN_NUMBEQU50H;M代码数据缓冲区(50H)1字节。
;M00----M99
DETA_BUFEQU51H;轴运动当量1字节。
AXE_ADDREQU52H;轴坐标地址
X_BUFEQU53H;X轴数据缓存区(53H--55H)3字节
;与U不同时出现,故共用一组单元
Y_BUFEQU56H;X轴数据缓存区(56H--58H)3字节
;与V不同时出现,故共用一组单元
U_BUFEQU53H;U数据缓存区(53H--55H)3字节
;与X不同时出现,故共用一组单元
V_BUFEQU56H;V轴数据缓存区(56H--58H)3字节
;与Y不同时出现,故共用一组单元
I_BUFEQU59H;I数据缓存区(59H--5BH)3字节
J_BUFEQU5CH;J数据缓存区(5CH--5EH)3字节
R_BUFEQU5FH;R数据缓存区(5FH--61H)3字节
F_BUFEQU62H;F数据缓存区(62H--64H)3字节
;存放每次的移动量
L_BUFEQU65H;L数据缓冲区(65H--67H)3字节.
T_NUMBEQU68H;模台(刀具)编号,68H1字节
CUR_XEQU69H;当前X的坐标值(69H--6BH)3字节
CUR_YEQU6CH;当前Y的坐标值(6CH--6EH)3字节
T1_20MSEQU6FH;20毫秒定时计数器,T1每1毫秒加1
;5DH1字节
T1_100MSEQU70H;100毫秒1字节
SD_BUFEQU71H;速度值,在手动时,保存当量值,
;分别为:
1,10,100,1000
;自动时为速度倍率值,分别为0.1,
;---1.52字节
XYOT_BUFEQU73H;XY轴控制信号输出数据缓冲区1字节
X_DATEQU74H;X轴一次运动量,(74H--76H)3字节
;对G12,G13,G14,G15
;G16,每次传送的是F得值,置到将
;X_BUF,Y_BUF值全部送完。
每送一次
;X_BUF(Y_BUF)-F
;对G00等,一次将X_BUF,Y_BUF送到
;X_DAT,Y_DAT.
Y_DATEQU77H;X轴一次运动量,(77H--79H)3字节
;运算子程序操作数暂存区
CZS1CFQEQU7AH;第一操作数存放区,对于双操作数子
;程序,存放第一操作数。
对于单操作
;数子程序,存放操作数
;(7AH---81H)8字节
CZS1HEQU81H
CZS2CFQEQU82H;第二操作数存放区,对于双操作数子
;程序,存放第一操作数。
对于单操作
;数子程序,存放操作数
;(82H---89H)8字节
CZS2HEQU89H
JGCFQEQU8AH;暂时保存运算结果。
或作数据缓存。
;(8AH---91H)8字节
JGCFQHEQU91H
X_BAKEQU92H;I数据备份,(92H--94H)3字节
Y_BAKEQU95H;J数据备份,(95H--97H)3字节
TR_BUFEQU98H;刀具半径(98--9AH)3字节
LG_BUFEQU9BH;给定距离或孔数(9BH--9DH)3字节
BJ_BUFEQU9EH;一次进给距离或孔数(9EH--A0H)3字节
PRG_NUMBEQU0A1H;当前执行的指令编号(0A1,0A2H)2字节
ERR_CODEEQU0A3H;错误代码00A31字节
INFO_BUFEQU0A4H;信息,0A4H1字节
RS2_BUFEQU0A8H;串行口2数据缓冲区(0A8H--0AFH)
;8字节
RS3_BUFEQU0B0H;(0B0H--0B3H)步距4字节
FX_BUFEQU0B4H;(0B4H--0B6H)3字节
FY_BUFEQU0B7H;(0B7H--0B9H)
FXYOT_BUFEQU0BAH;(0BAH--0BDH)
FBUF_BUFEQU0BEH;(0BEH--0C0H)
MOVE_SDEQU0C1H;速度使得ASCII码(C1--C3H),3字节
;堆栈从0D0H开始
;
(2)外存地址分配
DISP_BUFEQU0100H;显示缓冲区
T_TABEQU0200H;刀具参数存放去
PRG_BUFEQU0300H;程序缓存区,接受一个程序段,存入。
;(88H----0B6H)47字节
FILE_STAEQU0300H
;串行口接收数据缓存区
;6字节
;---------------------------------------------------------------
;4输入输出端口定义
;---------------------------------------------------------------
;
(1)---------T2端口寄存器定义--------
T2CONEQU0C8H
T2MODEQU0C9H
RCAP2LEQU0CAH
RCAP2HEQU0CBH
TL2EQU0CCH
TH2EQU0CDH
;
(2)----------扩展外部I/O口定义------
INPOT1EQU0FF00H;D0--X轴正向限位
;D1--X轴负向限位
;D2--Y轴正向限位
;D3--Y轴负向限位
;D6--D4备用
;D7--滑块位置检测
INPOT2EQU0FF01H;制动器1制动器2开关量输入
;D3--D0:
X轴驱动器状态输入
;D7--D4:
Y轴驱动器状态输入
INPOT3EQU0FF02H;D4--D0:
模台位置编码开关输入
;D5--模台运动正向限位(正向最大为31
;实际使用在0--31之间,依据设备情况
;定,故限位用开关。
负向限位就是0,有
;编码开关确定,不必另设限位开关)
;D6--精定位开关
;D7--定位活塞退出检测开关
INPOT4EQU0FF11H;速度选择,控制方式选择,暂停,运行,停止
OTPOT1EQU0FF00H;D0--:
滑块控制,=1,允许冲压
;
OTP1MYEQU0FF01H;制动器、继电器等控制输出端口
OTP1MXEQU0FF02H;
OTP1XYEQU0FF03H;电机运行脉冲控制信号输出口
OTPOT2EQU0FF10H;
OTP2MYEQU0FF11H;
OTP2MXEQU0FF12H;D0:
料钳控制,=1,料钳闭合
;=0,料钳张开
;D1:
定位活塞,=1,定位活塞插入
;=0,定位活塞退出
OTP2XYEQU0FF13H;
;--------与小键盘的通讯端口-------------------------------------
INKBDATEQU0FFF8H;小键盘数据输入端口
OTKBDATEQU0FFF8H;小键盘数据输出端口
INKBSTAEQU0FFF9H;小键盘通讯端口状态输入端口
OTKBCTREQU0FFF9H;小键盘通讯端口控制信号输出端口
;---------------------------------------------------------------
;5,外部RAM地址指针存放PC机传来的文件
;---------------------------------------------------------------
;6.数据常数.
;
(1)脉冲当量
DETA_XEQU20;脉冲当量为0.02(20微米)
DETA_YEQU20;脉冲当量为0.02(20微米)
DETA_UEQU20
DETA_VEQU20;脉冲当量为0.02(20微米)
DETA_IEQU20;脉冲当量为0.02(20微米)
DETA_JEQU20
DETA_REQU20;脉冲当量为0.02(20微米)
DETA_LEQU20;脉冲当量为0.02(20微米)
DETA_FEQU20
;
(2)间隙补偿常数
X_NUMBEQU0
Y_NUMBEQU0
;(3)时间常数
T0_REFEQU65375;33MHZ晶振,58.2微秒,17.2KHZ
;T0_REFEQU65335;24MHZ晶振,100微秒
T1_VALEQU63535;2000*0.5=1000微秒
T0_VALEQU65335
CON_SDEQU1
T2_VAL1EQU64677;1200(33MHZ)
T2_VAL2EQU65321;4800(33MHZ)
T2_VAL3EQU65429;9600(33MHZ)
;(4)控制常数
ENB_PRESEQU01H;冲压控制
DIS_PRESEQU00H
I_E_VALEQU23H;命令前导符
XM_POSEQU00000001B;X轴正向运动
XM_NEGEQU00000101B;X轴负向运动
YM_POSEQU10000000B;Y轴正向运动
YM_NEGEQU10100000B;Y轴负向运动
PLUS0EQU00100100B;XY轴脉冲回0
MT_POSEQU00000001B;模台正向运动
MT_NEGEQU00000010B;模台反向运动
;(5)符号常数
C_XPOSEQU80H;X轴手动正向运动命令
C_XNEGEQU81H;X轴手动正向运动命令
C_YPOSEQU82H;Y轴手动正向运动命令
C_YNEGEQU83H;Y轴手动正向运动命令
C_MPOSEQU84H;模台手动正向运动命令
C_MNEGEQU85H;模台手动正向运动命令
C_LQPOSEQU86H;料钳手动开命令
C_LQNEGEQU87H;料钳手动闭命令
C_CYCTREQU88H;手动冲压运动命令
PRG_IRQEQU00H;请求传送程序代码
;(6)符号常数与ASCII码
SP_ENDEQU06H;ACK的ASCII码,程序段
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数控 控制程序