51单片机的步进电机控制系统(仿真+程序+报告+原理图)

您所在的位置:网站首页 步进电机实验报告心得 51单片机的步进电机控制系统(仿真+程序+报告+原理图)

51单片机的步进电机控制系统(仿真+程序+报告+原理图)

2024-01-09 05:35| 来源: 网络整理| 查看: 265

1、主要功能

该系统由AT89C51单片机+数码管模块+步进电机模块+按键模块构成。

可实现功能: 1、按键控制步进电机正反转、加减速、停止; 2、2个发光二极管显示正反转,1位7段LED数码管显示当前转速档位(共9个档位); 3、4个红色LED,指示电机的转速。

2、仿真

protues 仿真使用的是8.10版本,由于该软件版本迭代原因,不能确保其他版本软件能够正常运行,请安装好对应软件(版本一致或者高于这个版本都可以)

在这里插入图片描述

3、程序代码

只是放上来了部分代码,仅供参考。

在这里插入图片描述

// 公众号:今天也不想打工 // 回复:“51步进电机”获取 //----------------------------------------------------------------- // Timer0 初始化,模式1,允许中断,1ms定时 // Timer0 用于按键扫描 //----------------------------------------------------------------- void T0_Init() { TMOD &= 0xF0; TMOD |= 0x01; //T0工作于模式1,16位定时器 TH0 = (65536 - 1000) >> 8; //1ms定时 TL0 = (65536 - 1000) & 0xFF; ET0 = 1; //允许T0中断 TR0 = 1; //启动T0 } //----------------------------------------------------------------- // Timer1 初始化,模式1,允许中断 // Timer1 用于改变步进电机转速 //----------------------------------------------------------------- void T1_Init() { TMOD &= 0x0F; TMOD |= 0x10; //定时器1工作于模式1,16位定时器 TH1 = Timer[speed][0]; TL1 = Timer[speed][1]; //定时器1,定时用于步进电机转速控制 ET1 = 1; //允许T1中断 PT1 = 1; //定时器1优先级高 TR1 = 0; //关闭定时器1 } //----------------------------------------------------------------- // 主程序 //----------------------------------------------------------------- void main() { T0_Init(); //定时器0初始化 T1_Init(); //定时器1初始化 FWD_LED = 0; //正转指示灯亮,默认初始化是正转 delay_ms(500); //延时500ms,待各个模块上电稳定 EA = 1; //开启中断 while(1) { KeyService(); //按键服务程序 } } 4、原理图

在这里插入图片描述

5、报告

内含4.5k字,17页的相关报告一份,纯手打,内容一致

在这里插入图片描述

6、常见问题汇总

里面包含了我对各个模块的详细解析,可以结合代码一起理解。如果正巧老师问题多,这个可以帮到你哦。(不定时更新,讲解模块也会越来越多)

在这里插入图片描述

7、资源获取

在这里插入图片描述

本项目包含的所有文件都可以在gzh:今天也不想打工,回复“51步进电机”获取! 希望可以帮到你哈!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3