基于51单片机的步进电机控制系统(速度,方向,步数)原理图、流程图、物料清单、仿真图、源代码 您所在的位置:网站首页 步进电机有几种型号 基于51单片机的步进电机控制系统(速度,方向,步数)原理图、流程图、物料清单、仿真图、源代码

基于51单片机的步进电机控制系统(速度,方向,步数)原理图、流程图、物料清单、仿真图、源代码

2024-06-28 08:25| 来源: 网络整理| 查看: 265

基于51单片机的步进电机控制系统(速度,方向,步数)原理图、流程图、物料清单、仿真图、源代码

基于51单片机的步进电机(速度,方向,步数)

步进电机控制 1、设计矩阵键盘,10个数字键设定电机转动步数 2、设置命令按键,控制电机启动、停止、正转、反转、加速、减速、 3、通过单片机引脚驱动步进电机

请添加图片描述

请添加图片描述 请添加图片描述 请添加图片描述 请添加图片描述 请添加图片描述

在这里插入图片描述

#include "reg51.h" #define uchar unsigned char #define uint unsigned int sbit L1=P1^0;//电机 sbit L2=P1^1; sbit L3=P1^2; sbit L4=P1^3; uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uint step=0,step_set=0,start=0;//电机控制 uchar speed=0,speed_set=0;//速度 uchar fang=0;//方向 uchar cixu=0; void delay(uint i)//延时 { while(i--); } void disp()//显示 { P0=0;//显示步数 P2=0; P0=smgduan[step_set/1000]; delay(100); P0=0; P2=1; P0=smgduan[step_set%1000/100]; delay(100); P0=0; P2=2; P0=smgduan[step_set%100/10]; delay(100); P0=0; P2=3; P0=smgduan[step_set%10]; delay(100); P0=0;//显示速度 P2=4; P0=smgduan[speed_set]; delay(100); P0=0;//显示方向 P2=7; if(fang)//左 P0=0x38; else//右 P0=0x0e; delay(100); } uchar key_scan()//按键检测 { uchar i,j; i=0; j=0; P3=0x0f; if(P3!=0x0f) { switch(P3) { case 0x0e:i=1;break; case 0x0d:i=5;break; case 0x0b:i=9;break; case 0x07:i=13; } P3=0xf0; switch(P3) { case 0xe0:j=0;break; case 0xd0:j=1;break; case 0xb0:j=2;break; case 0x70:j=3; } while(P3!=0xf0); } return i+j; } void main() { uchar i,j; P1=0x01; TMOD|=0X01; TH0=0XD8; TL0=0XF0; ET0=1;//打开定时器0中断允许 EA=1;//打开总中断 TR0=1;//打开定时器 while(1) { for(j=0;j0)&&(i0) speed_set--; } if(i==16)//减速 { if(speed_set


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有