基于Labview上位机的51单片机(也有stm32版本)步进电机控制系统(上位机代码+下位机源码+ad原理图+51完整开发环境)

该博客介绍了使用LabVIEW2018结合VISA串口通信,实现实时监控和控制STC89C51/52单片机驱动的步进电机。步进电机的状态和数据通过串口传输至上位机,以曲线形式展示并存储,同时具备数据回放功能。用户可通过按键控制电机正反转和速度,并提供了相应的C语言代码实现。
摘要由CSDN通过智能技术生成

功能说明:
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
祝好!

资料连接:
stc51版本
stm32版本

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

amusen.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值