向X轴负方向运行的点动开关,按扭3是向X轴正方向运行的点动开关,按扭4是向Y轴负方向运行的点动开关,按扭5是向Y轴正方向运行的点动开关,按扭6是复位开关,按扭7是执行绘制圆弧开关。
图38
人机界面图
34
本章小节
本章着重介绍了数控工作台控制系统的硬件设计。CPU板介绍了CPU的选择及其外围的接口设计和控制流程;驱动系统介绍了步进电机和电磁铁的驱动电路设计;此外还叙述了人机界面各个按扭和LED的意义。
1321
f四、控制系统软件设计
41
总体方案
对于AT89S51的程序设计,由于所需实现的功能较简单,采用汇编的形式。编译器采用Keil702b。该编译器是51系列单片机程序设计的常用工具,既可用汇编,也支持C语言编译。同时具有完善的调试功能。
42
主流程图
CTLEQU3FF8HPAEQU3FF9H上电复位PBEQU3FFAHPCEQU3FFBHCMDEQU02HP160,吸合电磁铁,绘笔抬起ORG0000HAJMPMAINORG0003H外部中断,8155初始化AJMPINT0IS;外部中断0入口ORG000BHAJMPTM0IS;定时器0中断入口ORG0013H开外部中断,开总中断AJMPINT1IS;外部中断1入口ORG001BHAJMPTM1IS;定时器1中断入口等待中断ORG0100HMAIN:ANLP1,0EFHSETBIT0;外中断负跳沿触发图41SETBIT1MOVA,CTLMOVDPTR,AMOVXDPTR,CMD;A口输入,B口输出,C口输入SETBEX0;允许外中断0SETBEX1;允许外中断1SETBPX0SETBPX1;设置优先级SETBEA;开总中断LOOP:AJMPLOOP;等待中断在等待中断的过程中,如果有中断到来,先检查中断0的状态,是中断0则进入中断0的中断服务INT0IS,是中断1则进入中断1的中断服务INT1IS。中断服务0是由4个行程开关触发的,它触发后通过单片机读取PA口内容,然后将结果反馈到PB口的LED上。1421
f中断服务1有6个中断源,这六个中断源分别是手动X正方向运行,手动X负方向运行,手动Y正方向运行,手动Y负方向运行,复位和绘制圆弧。
43
INT0中断服务流程图
INT0IS:PUSHACCPUSHDPTLPUSHDPTHPUSHPSWMOVA,PAMOVDPTR,AMOVXA,DPTR;读PA口内容MOVR2,AMOVA,PBMOVDPTRAMOVDPTRR2MOVA,R2CPLA;A取反ANLA,03H;屏蔽高6位JZA,TM2CSETBP10SETBP11SETBP12TM2C:MOVA,R2CPLAANLA,0CHJZA,RETINSETBP13SETBP14SETBP15RETIN:POPPSWPOPDPTHPOPDPTLPOPACCRETI
图42
1521
f44
INT1中断服务流程图
INT1IS:CLREX1MOVA,DPTRPUSHACCJNBACC4,RSTPUSHPSWJNBACC0,XENPUSHDPTLJNBACC1,XENPUSHDPTHJNBACC2,YENCLRP16JNBACC3,YENMOVA,PCJNBACC5,ARCMOVDPTR,ALOOP1:POPDPTHMOVXA,DPTR;读PC口内容POPDPTLMOVR1,APOPPSWANLR1,0FHPOPACCMOVAr