4. INT1中断服务流程图
图6-3
INT1IS:CLR EX1 MOV A,@DPTR
PUSH ACC JNB ACC.4,RST PUSH PSW JNB ACC.0,X+EN
PUSH DPTL JNB ACC.1,X-EN
PUSH DPTH JNB ACC.2,Y+EN
CLR P1.6 JNB ACC.3,Y-EN
MOV A,PC JNB ACC.5,ARC
MOV DPTR,A LOOP1:POP DPTH MOVX A,@DPTR;读PC口内容 POP DPTL MOV R1,A POP PSW ANL R1,#0FH POP ACC MOV A,PB SETB EX1 MOV DPTR,A RETI MOV A,@DPTR;读PB口内容 ANL A,#0FH SWAP A ORL A,R1 MOV R2,A MOV A,PB MOV DPTR,A
MOVX @DPTR,R2;数据输入PB口 INC DPTL
1) 复位程序流程图
图6-4
DIRX EQU 30H
DIRY EQU 31H RST: CLR P1.6 RPA: MOV A,PA MOV DPTR,A
MOVX A,@DPTR ;读PA口内容 JNB ACC.0,ACC2
MOV DIRX,#00H ;表X电机反转 ACALL XMOTOR0 ;X电机反转一步 ACC2: JNB ACC.2,LOOP0
MOV DIRY,#00H ;表Y电机反转 ACALL YMOTOR0 ;Y电机反转一步 AJMP RPA LOOP0:AJMP LOOP1
2) X轴电机点动正转程序流程图
图6-5
X+EN: CLR P1.6 MOV A,PA MOV DPTR,A MOVX A,@DPTR JNB ACC.0,LOOP2 MOTOR0: MOV DIRX,#01H ACALL XMOTOR0 MOV A,PC MOV DPTR,A MOV A,@DPTR
JNB ACC.0,MOTOR0 LOOP2: AJMP LOOP1
这是X轴电机点动正转的程序,其他的X轴电机点动反转、Y轴电机点动正转、Y轴电机点动反转依次类推。
3) 绘制圆弧程序流程图
图6-6 逐点比较法画圆弧
逐点比较法原理:假设所画圆弧在第一象限,圆心坐标为(0,0),圆弧上点的
坐标为(X,Y),圆弧半径为R,每一点的坐标偏差为F=X*X+Y*Y-R*R,若F>0,应沿X轴负方向走一步,此时FX=(X-1)*(X-1)+Y*Y-R*R=F-2X+1,X=X-1;若F<0,应沿Y轴正方向走一步,此时FY=X*X+(Y-1)*(Y-1)-R*R=F+2Y+1,Y=Y+1。插补程序见附录。
4) 步进电机步进一步程序流程图
图6-7 步进电机步进一步程序流程图
DEF EQU 12H SJMP LP3 MOV DEF,#00H TAB: DB FEH
XMOTOR1:JNE DIRX,#01H,XMOTOR0 DB FCH JNE DEF,#05H,LP2 DB FDH CLR DEF DB F9H LP2: MOV A,DEF DB FBH INC DEF DB FAH LP3: MOV DPTR,#TAB MOVC A,@A+DPTR ANL P1,A ACALL DELAY RET
XMOTOR0:JNE DEF,#00H,LP4 MOV A,#05H MOV DEF,A LP4: MOV A,DEF DEC DEF
七、附录
参 考 文 献
[1] 郑学坚,周斌.微型计算机原理及应用.清华大学出版社,2003
[2] 李广弟,朱月秀,王秀山.单片机基础.北京航空航天大学出版社,2001 [3] 房小翠.单片微型计算机与机电接口技术.国防工业出版社,2002 [4] 王小明. 电动机的单片机控制. 北京航空航天大学出版社,2002 [5] 李建勇.机电一体化技术.科学出版社.2004
[6] 王爱玲,白恩远,赵学良.现代数控机床.国防工业出版社,2001 [7] 徐灏.机械设计手册(3).机械工业出版社,2003 [8] 张建民.机电一体化系统设计.北京理工出版社,2004 [9] 徐灏等.机械设计手册[M].北京:机械工业出版社,2000
[10] 濮良贵 ,记名刚.机械设计[M].北京:高等教育出版社,2003 [11] 吴振彪.机电综合设计指导[M].湛江:湛江海洋大学,1999
[12].杨入清.现代机械设计—系统与结构[M].上海:上海科学技术文献出版社,2000
[13].张立勋,孟庆鑫,张今瑜.机电一体化系统设计[M].哈尔滨:哈尔滨工程大学出版社,2000