background image

可以通过直接传送或应答握手的方式与主机进行数据通信,但由于握手方式占用其它端
口,而单片机的端口数量有限,所以,计算机与单片机的通信常采用直接传送的方式。

    

 

软件设计

    软件部分的设计主要包括下位机按 MCU 的接收程序、脉冲控制程序以及上位机的串口
发送程序。上位机与下位机之间进行数据通信。上位机的程序主要通过 Windows 可视化编
程 VC

 

++实现。

    下位机程序主要负责接受 PC 发来的数据,按照要求产生控制脉冲,具体流程为:首先
对要使用的串口进行初始化,然后 P2 输出口清零,接着进入住程序的死循环,等待中断
触发。接收一个字节的数据,RI=1,接着将 RI 清零。当单片机接收完数据后,标志位置
1。将缓存中的数据存入控制的变量中,以便控制时使用(具体操作时先法数据帧再发启
动帧)。

 

结语

       结合以上介绍的基于 A3967SLB 的步进电机控制系统,在 VC++环境下,利用
MSComm 控件实现了 PC 与单片机之间的串行通信。实验结果表明,用这种方式实现上位
机对基于 A3967SLB

 

的步进电机的控制系统进行精确的驱动可行有效。

    本系统中,利用 PC 的丰富软硬件资源和强大的系统功能,可进行一些数据处理、显示
等工作;而从控制器 AT89C52 则用于实时控制。另外,该系统为开放式结构,便于系统

 

升级。