Proteus仿真实例_基于51单片机的三相步进电机控制系统(仿真文件+程序)24-51f-08

一.系统概述

步进电动机是一种数控电动机,其基本功能包括:
1. 控制通电方式:使用两个按键选择电动机的通电方式,可以是三相三拍或三相六拍。通电方式通过数码管显示。
2. 控制速度:
使用两个按键进行两档速度选择,可以控制电动机的转动速度。速度档位通过数码管显示。
3. 控制运行:
有启动键和停止键,用于启动或停止电动机的运行。
4. 其他控制功能:
通过发出脉冲信号控制电动机的角位移量,脉冲个数决定角度。脉冲信号的频率控制电动机的转动速度和加速度。控制脉冲的正负极性来实现电动机的正反转功能。

步进电动机通过脉冲信号控制角位移量,频率控制转速和加速度,极性控制转向。基本功能包括选择通电方式和速度档位,启动和停止控制。

二.仿真设计

1. 进入仿真后数码管左侧显示的速度,右侧显示工作模式,三相三拍是工作模式1,三相六拍是工作模式2,此时的速度是3档且模式为1。

2. 按下六拍按键后就会切换到六拍模式,数码管右侧就会显示模式2。

3. 按下速度加和速度减按键就能对速度进行调节。

三.程序设计

#include <REGX52.H>
#include <stdio.h>
#include "delay.h"
#include "key.h"
#include "Nixie.h"
#include "Timer0.h"

unsigned char KeyNum,j = 3;
unsigned char k = 1,l;	
void sssp(unsigned char i);
void sslp(unsigned char i);

void main()
{
	Timer0_Init();

	while(1)
	{
			KeyNum = Key();
			if(KeyNum == 1)
			{						
					k = 1;
			}
			if(KeyNum == 2)
			{						
					k = 2;
			}
			if(KeyNum == 3)
			{						
					j++;
					if(j > 5)
					{
							j = 5;
					}
			}
			if(KeyNum == 4)
			{						
					j--;
					if(j < 2)
					{
							j = 2;
					}
			}
			if(KeyNum == 5)
			{						
					if(k == 1)
					{
							
							l = 1;
					}
					if(k == 2)
					{
							
							l = 2;
					}
			}
			if(KeyNum == 6)
			{						
					l = 0;
			}
			if(l == 1)
			{					
					sssp(j);
			}
			if(l == 2)
			{					
					sslp(j);
			}			
					Nixie_SetBuf(5,k);
					Nixie_SetBuf(1,j);
				
	}
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小常硬件

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

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

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

打赏作者

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

抵扣说明:

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

余额充值