【Proteus仿真】【32单片机-A010】步进电机控制系统设计
目录
一、主要功能
二、使用步骤
三、硬件资源
四、软件设计
五、实验现象
联系作者
一、主要功能
1、LCD显示当前挡位、方向等;
2、按键控制步进电机挡位、方向等。
二、使用步骤
系统运行后,LCD1602显示当前挡位、方向;
通过按键控制步进电机转动速度、方向。
三、硬件资源
1、32单片机核心模块
2、按键模块
3、ULN2003A驱动模块
4、LCD1602显示模块
四、软件设计
#include "delay.h"
#include "sys.h"
#include "1602.h"
#include "key.h"
#include "step.h"
#include "exti.h"u8 Key_num=0;//按键值
bool turn_flag=true;//转向
u16 Shift_num=0;//挡位
u16 Star_flag=0;//启动标志位
void key_san(void);//按键判断函数void Delay(int num)
{while(num--) ;
}
void display_data(void)///显示
{ LcdWriteCom(0x0C); //取消光标闪烁 LcdWriteCom(0x80+6); //第一行LcdWriteData((Shift_num+1)+0x30);LcdWriteCom(0x80+15); //第一行if(turn_flag==true) LcdWriteData('Z');elseLcdWriteData('F');LcdWriteCom(0x80+0x40+7); //第二行if(Star_flag==0) LcdWritestr("stop");elseLcdWritestr("star");
}int main()
{ delay_init(); //延时函数初始化LCD1602_Init(); //lcd函数初始化KEY_Init(); //按键函数初始化Step_Motor_GPIO_Init();NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 EXTIX_Init();//外部中断初始化 while(1) { if(Star_flag==0)MOTOR_STOP();//停止elsemotorNcircle(Shift_num,turn_flag);//n为步进电机转动的挡位,position为正转或者反转 }
}
五、实验现象
B站演示视频:【STM32单片机-A010】【Proteus仿真】步进电机控制系统仿真_哔哩哔哩_bilibili本项目使用Proteus8仿真STM32单片机步进电机控制系统使用LCD1602液晶、按键、ULN2003A驱动模块。系统运行后,LCD1602显示当前挡位、方向;通过按键控制步进电机转动速度、方向。主要功能如下:1、LCD显示当前挡位、方向等;2、按键控制步进电机挡位、方向等。, 视频播放量 0、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 0、转发人数 1, 视频作者 无忧电子设计, 作者简介 Q:215138327 V:Kinpar 承接51,32单片机设计定做,51,32单片机protues仿真,实物,程序等。,相关视频:【STM32单片机-A008】【Proteus仿真】MPX4115压力检测系统仿真,【51单片机-B003】【protues仿真】基于51单片机交通灯1仿真,基于STM32单片机DHT11温湿度检测系统仿真,基于STM32单片机DS18B20温度检测系统仿真,【51单片机-B002】【protues仿真】基于51单片机多功能计算器仿真,基于STM32单片机温湿度光敏检测系统仿真,【STM32单片机-A009】【Proteus仿真】矩阵按键系统仿真,51单片机 热电偶温度控制系统,【STM32单片机-A004】【Proteus仿真】超声波测距系统,基于54单片机波形发生器https://www.bilibili.com/video/BV1KfTvzLEcJ/
联系作者
作者B站链接:https://space.bilibili.com/3493294220773802
专注于51单片机、STM32、Proteus、物联网软件开发,PCB设计。