单片机51---步进电机的设计(4相5线步进电机的驱动控制)

单片机51—步进电机的设计

禁止作为商用,仅供学习交流。

0.本文主要内容

本文主要介绍了为实现步进电机的控制,先在电脑编写程序,仿真成功后,在进行实物的制作,最终独立自主的完成51单片机的编程,硬件电路的设计,画原理图,画PCB板,购买电子元器件,PCB板的焊接和检测,实物的展示等工作。
个人的观点,这个设计的现实意义不大,因为步进电机真正特点是利用脉冲信号去控制步进电机转动的角度。主要用于房间空调器分体系列室内机导风板、暖风器导风板、移动空调、壁炉更洁宝和各种智能气阀(燃气热水器、燃气灶等)。转动的速度很慢不占优势。(为什么我做了呢?因为这是一个课程设计。哈哈)

1.主要功能

本设计可采用STC89C51/52、AT89S51/52或AT89C51/52单片机作为主控制器;
(1)按键功能:
• 按键1:正转
• 按键2:反转
• 按键3:速度加
• 按键4:速度减
• 按键5:暂停/开始
(2)LED使用:五个红色LED,一个为电源指示,四个指示电机的转速。

2.Proteus软件仿真

(1)硬件电路
在这里插入图片描述
四位数码管为共阴极的。
4相5线步进电机28YBJ-48 28BYJ48不熟悉,你可以不用管,你只要知道对它输送一定的脉冲波形他就可以转动就行了。
uchar code turn[ ]={0x02,0x06,0x04,0x0c,0x80,0x09,0x01,0x03};//正转脉冲顺序
uchar code durn[ ]={0x03,0x01,0x09,0x80,0x0c,0x04,0x06,0x02};//反转脉冲顺序
仿真文件在文末连接
(2)软件程序

/* Main.c file generated by New Project wizard
 *
 * Created:   周日 9月 19 2021
 * Processor: AT89C51
 * Compiler:  Keil for 8051
 */
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
#define out P2
uchar code turn[ ]={
   0x02,0x06,0x04,0x0c,0x80,0x09,0x01,0x03};
uchar code durn[ ]={
   0x03,0x01,0x09,0x80,0x0c,0x04,0x06,0x02};
uchar code smgduan[17]={
   0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//显示0~F的值
uchar i; //脉冲的第几个状态
uint dang=0;//挡位
uint fang;//转向
uint ci=0;//中断出发次数
uint dan;//备份挡位
uint fan;//备份转向
uchar gao;
uchar di;
sbit P34=P3^4;
sbit P35=P3^5;
sbit P36=P3^6;
sbit P37=P3^7;
void delayms(uint j)
{
   
    uchar a;
    for(;j>0;j--)//0.5ms
    {
   
        a=
  • 33
    点赞
  • 146
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值