功能说明:
1.步进电机运行状态通过VISA串口实时传输至上位机,上位机以曲线显示,并可存储数据。
2.上位机可发送步进电机运行角度、速度指令至下位机,控制步进电机。
3.按键控制电机正反转以及调速。
4.labview可以excel或txt格式存储电机运行数据,并读取复现运行曲线(数据回放功能)。
注意事项:
下位机处理器:STC89C51/STC89C52
上位机:Labview2018+VISA串口
按键控制步进电机
相关引脚连线中文注释:
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define MotorData P0 //步进电机控制接口定义
uchar phasecw[4] ={0x08,0x04,0x02,0x01};//正转 电机导通相序 D-C-B-A
uchar phaseccw[4]={0x01,0x02,0x04,0x08};//反转 电机导通相序 A-B-C-D
uchar motor_state=0; //0 停 1正转 2反转
uchar motor_speed=5; //5-25 快-慢
sbit key1=P1^1; //正转按键
sbit key2=P1^2; //反转按键
sbit key3=P1^0; //调速按键
主函数程序:
void
main(void)
{
Delay_xms(50); //等待系统稳定
Timer_Init(); //初始化定时器
while(1)
{
key_scan(); //扫描按键
if(motor_state==0) MotorStop(); //停止转动
else if(motor_state==1)MotorCW(motor_speed); //顺时针转动角度
else if(motor_state==2)MotorCCW(motor_speed);//逆时针转动角度
}
}
包含资料如下所示:
上位机运行截图:
全部资料链接见评论区,有问题请留言~
作者:amusen
时间:2022.4
祝好!