武汉理工大学华夏学院
课 程 设 计 报 告 书
题    目:           
系    名:                 
专业班级:                 
姓    名:                     
学    号:               
汇编语言清华大学出版社指导教师:             
  2011    6    14 

摘要
本文主要讨论利用逐点比较法实现第一象限的直线插补。所谓逐点比较插补,就是刀具或绘图笔每走一步都要和给点轨迹上的坐标值进行比较,看这点在给点轨迹的上方还是下方,从而决定下一步的进给方向。对于本设计所要求的直线轨迹,如果该点在直线的上方,则控制步进电机向+X方向进给一步,如果该点在直线的下方,那么控制步进电机向+Y轴方向进给一步。如此,走一步、看一看,比较一次,决定下一步的走向,以便逼近给定轨迹,即形成逐点比较插补。
插补计算时,每走一步,都要进行以下四个步骤的计算过程,即偏差判别、坐标进给、偏差计算、终点判断。设计具体算法时,首先根据直线轨迹参数,计算出偏差计算公式及递推公式。由程序判断出偏差的正负号,从而决定坐标的进给方向,再根据递推公式计算出坐标进给后的偏差,若未到达终点,则返回偏差判别,如此循环。可以根据起点和终点的坐标位置,计算出总的进给步数Nxy,X或Y的坐标每进给一步,这个值就减一,若Nxy=0,就到达了终点,这就是终点判别的方法。

设计任务及要求
设计一个计算机控制步进电机系统,该系统利用PC机的并口输出控制信号,其信号驱动后控制X、Y两个方向的三相步进电机转动,利用逐点比较法插补绘制出各种曲线。
1)设计硬件系统,画出电路原理框图;
2)定义步进电机转动的控制字;
3)推导出用逐点比较法插补绘制出下面曲线的算法;
4)编写算法控制程序线;
5)撰写设计说明书。
每人选一个曲线,曲线均为第一象限,屏幕左下角为坐标原点,箭头表示曲线绘制的方向,直线参数为:起点、终点坐标。圆弧参数为:起点、终点坐标和半径。
直线一:                                直线二:
直线三                                  直线四
  圆弧一                                  圆弧二

1 设计任务和要求    1
2 设计步骤    1
2.1 硬件设计    1
2.1.1 接口示意图    1
2.1.2 方案论证    2
2.1.3 单片机与8255的接口    3
2.1.4 硬件接线原理图    3
2.1.5 元件清单    4
2.2 软件设计    5
2.2.1 软件设计原理    5
2.2.2 8255的初始化编程    6
2.2.3 步进电机走步控制程序    7
2.2.4 主程序    8
2.3 运行调试    9
2.3.1 系统安装调试    9
2.3.2 结果验证    9
3 课程设计体会    10
参考文献    10
附录一 芯片资料    11
附录二 源程序    12

逐点比较插补原理的实现
1 设计任务和要求
设计一个微型计算机控制步进电机系统,该系统利用微型机的并口输出控制信号,其信号驱动后控制X、Y两个方向的三相步进电机转动,利用逐点比较法插补原理绘制出如下图所示的目标曲线。
图1 目标曲线
2 设计步骤
  本设计大致可分为三个步骤:硬件设计、软件设计和系统的运行调试。
2.1 硬件设计
2.1.1 接口示意图
    两台三相步进电机控制接口如图2所示。