已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验三 数控系统综合实验一、实验目的掌握数控机床微机控制系统的结构原理,熟悉单片微机数控系统的外部扩展及步进电机的控制。二、实验内容和要求1设计数控系统接口框图2参考相应程序控制数控工作台。修改、调试程序改变数控工作台工作状态。三、实验主要仪器设备和材料:1AMC51单片机综合开发装置一台1 IBMPC微机一台2 XY数控工作台,连接线若干4、 实验结果: 1.数控系统接口框图: 2.程序设计流程图:3.源程序:全部程序见附录补充部分:KEYB_1: SETB XW ;X,Y轴都正向运动CLR XPSETB YWCLR YPMOV STATE,#5RET KEYB_2: CLR XW ;Y轴反向运动SETB YWSETB YPMOV STATE,#4RETKEYB_3: SETB XW ;X轴正向,Y轴反向运动CLR XPSETB YWSETB YPMOV STATE,#7RETKEYB_4: SETB XW ;X轴反向运动SETB XPCLR YWMOV STATE,#2RETKEYB_6: SETB XW ;X轴正向运动CLR XPCLR YWMOV STATE,#1RETKEYB_7: SETB XW ;X,Y轴都反向运动SETB XPSETB YWSETB YP MOV STATE,#6RETKEYB_8: CLR XW ;Y轴正向运动SETB YWCLR YPMOV STATE,#3RETKEYB_9: SETB XW ;X轴反向,Y轴正向运动SETB XPSETB YWCLR YPMOV STATE,#8RET五、附录DISP0 EQU 39H ;显示缓冲区0DISP1 EQU 3AH ;显示缓冲区1DISP2 EQU 3BH ;显示缓冲区2TCER EQU 40H ;2ms计数单元TCER1 EQU 41H ;100ms计数单元XSTAT EQU 52H ;X状态字YSTAT EQU 53H ;Y状态字SM_OUT EQU 55H ;输出状态SM_OUTX EQU 65H ;输出状态SM_OUTY EQU 75H ;输出状态SPEED EQU 56H ;速度档次SDATA EQU 57H ;速度值STEPH EQU 58H ;步数高位STEPL EQU 59H ;步数低位MODE EQU 60H ;模式状态STEPX EQU 61H ;步数值缓冲区STATE EQU 62H ;运动方向状态DIRLOP EQU 63H ;显示循环次数区XP EQU 02H ;X轴方向位YP EQU 03H ;Y轴方向位XW EQU 04H ;X轴工作YW EQU 05H ;Y轴工作RUN EQU 06H ;运行控制位ORG 0000HSTART: AJMP MAIN ORG 000BH ;定时器0中断 AJMP TINT0 ;驱动脉冲控制 ORG 001BH ;定时器1中断 AJMP TINT1 ;定时显示控制 ORG 0030H ;程序初始化MAIN: MOV R0,#39H MAIN_0: MOV R0,#0 INC R0 CJNE R0,#41H,MAIN_0 MOV XSTAT,#0 MOV YSTAT,#0 MOV SM_OUT,#0 MOV SM_OUTX,#0 MOV SM_OUTY,#0 MOV SDATA,#0 MOV STEPH,#0 MOV STEPL,#0 MOV SPEED,#0 MOV MODE,#0MOV TCER1,#0 MOV STATE,#0 CLR XW CLR YW CLR RUN CLR P2.6 ;关闭扩展端口 CLR P3.6 MOV TMOD,#11H ;设定两个计数器的工作方式 MOV IE,#10011010B ;设置中断 MOV SCON,#0 ;设置串口工作方式(显示) MOV IP,#02H ;设置T0为中断优先 MOV TH0,#0FCH ;让T0定时2ms MOV TL0,#18H MOV TH1,#0ECH ;让T0定时100ms MOV TL1,#78H SETB TR0 ;启动两个计数器 SETB TR1MAIN_1: ACALL KEY ;调用键盘子程序 NOP NOP SJMP MAIN_1TINT1: MOV TH1,#0ECH ;定时中断1程序,定时显示 MOV TL1,#78H PUSH ACC PUSH PSW ACALL TRANS ACALL DISP POP PSW POP ACC RETIKEY: MOV P2,#0FFH ;检测有否键按下NOPNOPJNB P2.0,K1JNB P2.1,K2JNB P2.2,K3JNB P2.3,K4JNB P2.4,K5JNB P2.5,K6GOKBACK: RETK6GO: LJMP K6K1: ACALL DL10MS ;K1键功能JB P2.0,KBACKJ1: JNB P2.0,J1MOV A,MODE ;在模式3时步数加1CJNE A,#2,K11MOV STEPX,#1LJMP ADD1K11: SETB RUN ;启动运行控制位CJNE A,#0,KEYB_1GO ;模式2时跳入键功能1LJMP KEYB_6 ;模式1时跳入键功能6KEYB_1GO:LJMP KEYB_1K2: ACALL DL10MS ;K2键功能JB P2.1,KBACKJ2: JNB P2.1,J2MOV A,MODE ;模式3时步数加10CJNE A,#2,K21MOV STEPX,#10LJMP ADD1K21: SETB RUNCJNE A,#0,KEYB_7GO ;模式2时跳入键功能7LJMP KEYB_4 ;模式1时跳入键功能4KEYB_7GO:LJMP KEYB_7K3: ACALL DL10MS ;K3键功能JB P2.2,KBACKJ3: JNB P2.2,J3MOV A,MODE ;模式3时步数加100CJNE A,#2,K31MOV STEPX,#100LJMP ADD1K31:SETB RUNCJNE A,#0,KEYB_3 ;模式2时跳入键功能3LJMP KEYB_8 ;模式1时跳入键功能8K4: ACALL DL10MS ;K4键功能JB P2.3,KBACKJ4: JNB P2.3,J4MOV A,MODE ;模式3时步数加1000CJNE A,#2,K41LJMP ADD2K41:SETB RUNCJNE A,#0,KEYB_9GO ;模式2时跳入键功能9LJMP KEYB_2 ;模式1时跳入键功能2KEYB_9GO: LJMP KEYB_9K5: ACALL DL10MS ;K5键功能JB P2.4,KBACKJ5: JNB P2.4,J5MOV STATE,#0 ;运动状态清零CLR RUN ;控制位清0MOV A,MODE ;改变控制模式ADD A,#1CJNE A,#2,K52 ;模式3时步数清零MOV STEPL,#0MOV STEPH,#0MOV STEPX,#0K52: CJNE A,#3,K51MOV A,#0K51: MOV MODE,A ;清空输出状态CLR XWCLR YWMOV SM_OUT,#0MOV SM_OUTX,#0MOV SM_OUTY,#0RETK6: ACALL DL10MS ;K6键功能JB P2.5,KBACK1J6: JNB P2.5,J6MOV A,SPEED ;改变转速ADD A,#1CJNE A,#5,K61MOV A,#0K61: MOV SPEED,AMOV DPTR,#TABSP ;查找转速定时控制值MOVC A,A+DPTRMOV SDATA,AKBACK1: RETKEYB_1: SETB XW ;X,Y轴都正向运动CLR XPSETB YWCLR YPMOV STATE,#5RET KEYB_2: CLR XW ;Y轴反向运动SETB YWSETB YPMOV STATE,#4RETKEYB_3: SETB XW ;X轴正向,Y轴反向运动CLR XPSETB YWSETB YPMOV STATE,#7RETKEYB_4: SETB XW ;X轴反向运动SETB XPCLR YWMOV STATE,#2RETKEYB_6: SETB XW ;X轴正向运动CLR XPCLR YWMOV STATE,#1RETKEYB_7: SETB XW ;X,Y轴都反向运动SETB XPSETB YWSETB YP MOV STATE,#6RETKEYB_8: CLR XW ;Y轴正向运动SETB YWCLR YPMOV STATE,#3RETKEYB_9: SETB XW ;X轴反向,Y轴正向运动SETB XPSETB YWCLR YPMOV STATE,#8RETADD1: MOV A,STEPL ;步数加法程序1(双字节)CLR CADD A,STEPXMOV STEPL,AMOV A,STEPHADDC A,#0MOV STEPH,ARETADD2: MOV A,STEPL ;步数加法程序2(双字节) CLR CADD A,#232MOV STEPL,AMOV A,STEPHADDC A,#3MOV STEPH,ARETDELAY: MOV 70H,#0FFH ;键盘防抖动延时子程序DELAY1: DJNZ 70H,DELAY1RETDL10MS: MOV 71H,#14H ;20ms延时程序DL10MS1: ACALL DELAYDJNZ 71H,DL10MS1RETTINT0: MOV TH0,#0FCH ;定时中断0程序 MOV TL0,#18H PUSH ACC PUSH PSW PUSH 01H CLR P2.6 ;扩展端口选通(输出低电平) CLR P3.6 ;74LS273需脉冲上升悬选通 INC TCER MOV A,TCER CJNE A,SDATA,TINT0R ;转速控制 MOV TCER,#0 JNB RUN,TINT0R ;判断控制位是否为1 MOV A,STEPL ;判断步数寄存器内容是否为1 JNZ TNT MOV A,STEPH JZ TINT0RTNT:DJNZ STEPL,MOTO ;步数寄存器内容减1并跳入电机驱动 MOV A,STEPH JZ MOTO MOV STEPL,#0FFH DJNZ STEPH,TNT ;检查步数寄存器高字节是否为0MOTO:JNB XW,TINT_1 ;判断进入步进电机驱动程序 ACALL XPD ;进入X轴驱动程序TINT_1: JNB YW,TINT0R ACALL YPD ;进入Y轴驱动程序TINT0R: MOV P1,SM_OUT ;输出驱动波形,并退出中断 MOV P0,SM_OUTNOP NOP NOP NOP NOP SETB P2.6 ;扩展端口选通(输出高电平) POP 01H POP PSW POP ACC RETIXPD: MOV R1,#XSTAT ;读出X轴状态 MOV C,XP ;读出X轴方向 AJMP PPDXYPD: MOV R1,#YSTAT ;读出Y轴状态 MOV C,YP ;读出Y轴方向 SJMP PPDY PPDX: JC PPD2X CJNE R1,#03H,PPD3X ;检查是否超步MOV R1,#0AJMP PPD3XPPD2X: CJNE R1,#00H,PPD4X MOV A,R1MOV R1,#02H MOV DPTR,#SM_TABX ;查表得驱动波形值 MOVC A,A+DPTR MOV SM_OUTX,A ADD A,SM_OUTY MOV SM_OUT,A RET PPD4X: MOV A,R1 ;反转驱动程序 DEC R1 MOV DPTR,#SM_TABX MOVC A,A+DPTR MOV SM_OUTX,A ADD A,SM_OUTY MOV SM_OUT,A RETPPD3X: MOV A,R1 ;正转驱动程序 INC R1 MOV DPTR,#SM_TABX MOVC A,A+DPTR MOV SM_OUTX,A ADD A,SM_OUTY MOV SM_OUT,A RETPPDY: JC PPD2Y CJNE R1,#03H,PPD3Y MOV R1,#0AJMP PPD3YPPD2Y: CJNE R1,#00H,PPD4Y MOV A,R1 MOV R1,#02H MOV DPTR,#SM_TABY MOVC A,A+DPTR MOV SM_OUTY,A ADD A,SM_OUTX MOV SM_OUT,A RETPPD4Y: MOV A,R1 DEC R1 MOV DPTR,#SM_TABY MOVC A,A+DPTR MOV SM_OUTY,A ADD A,SM_OUTX MOV SM_OUT,A RETPPD3Y: MOV A,R1 INC R1 MOV DPTR,#SM_TABY MOVC A,A+DPTR MOV SM_OUTY,A ADD A,SM_OUTX MOV SM_OUT,A RETTRANS: MOV R5,#16 ;二转十(BCD)码进制转换程序(双字节)MOV R6,STEPH ;步数寄存器高位存入R6MOV R7,STEPL ;步数寄存器低位存入R7CLR A ;清空步数显示缓冲器MOV DISP0,AMOV DISP1,AMOV DISP2,ALOOP: CLR C ;把步数寄存器的高位移到CMOV A,R7RLC AMOV R7,AMOV A,R6RLC AMOV R6,AMOV A,DISP2 ;步数缓冲寄存器低位加C并乘2A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论