【毕业设计】17-基于单片机的矿井提升机_步进电机控制装置设计(原理图+仿真+源代码+实物图+答辩论文+答辩PPT)
创始人
2024-03-02 16:34:39
0

typora-root-url: ./

【毕业设计】17-基于单片机的矿井提升机_步进电机控制装置设计(原理图+仿真+源代码+实物图+答辩论文+答辩PPT)

文章目录

    • typora-root-url: ./
  • 【毕业设计】17-基于单片机的矿井提升机_步进电机控制装置设计(原理图+仿真+源代码+实物图+答辩论文+答辩PPT)
    • 设计说明书
      • 摘要
      • 设计框架架构
      • 设计说明书及设计文件
      • 源码展示

设计说明书

摘要

本设计对系统的设计背景以及使用环境分析,确定系统的功能以及硬件设计框架。以AT89C51单片机作为系统的控制核心,主要包括主控模块、电机控制驱动模块、电源模块、按键模块组成、数码管显示模块。当系统开始工作时,通过按键来对系统实现加速、减速、正转、反转的控制。加速、减速需要主控模块启动内部的定时器调节运行占空比,控制电机的工作状态。当定时时间完成后,控制系统发出切换命令实现电机控制。在系统运行时,通过数码管显示系统的正反转、速度信息,方便操作人员熟知系统的工作方式。
资料链接
原理图工程文件
实物图
仿真模型工程文件
仿真截图
搭建视频
答辩论文低重复率文档,22233字
英文文献及翻译
答辩PPT
visio流程图

设计框架架构

前 言… 1

第一章 绪论… 2

第一节 矿井机研究背景… 2

第二节 国外矿井机发展… 3

第三节 国内矿机提升机的发展情况… 4

第四节 本文的主要研究内容… 4

第五节 本章小节… 5

第二章 矿井提升机装置方案设计… 6

第一节 系统设计功能分析… 6

第二节 主要元器件选型… 7

一、主控芯片选择… 7

二、电机选择… 7

三、显示器选择… 8

第三节 矿井提升机装置设计分析… 8

第四节 本章小结… 9

第三章 系统硬件设计… 10

第一节 单片机最小系统电路设计… 10

一、单片机介绍… 10

二、单片机复位电路… 11

三、晶振电路… 11

四、单片机最小系统电路原理图… 12

第二节 电源电路设计… 12

第三节 独立按键电路设计… 13

第四节 步进电机控制电路设计… 13

第五节 数码管显示电路设计… 15

第六节 系统总电路图… 15

第七节 本章小结… 16

第四章 系统软件设计… 17

第一节 Keil软件介绍… 17

第二节 系统软件总设计… 17

第三节 独立按键软件设计… 18

第四节 步进电机控制软件设计… 19

第五节 数码管显示软件设计… 20

第六节 本章小结… 21

第五章 矿井提升机装置系统仿真… 22

第一节 Proteus软件介绍… 22

第二节 系统仿真… 22

一、仿真电路连接… 22

二、功能仿真… 23

三、系统综合测试… 28

第三节 本章小结… 29

总 结… 30

致 谢… 31

参考文献… 32

附 录… 34

一、英文原文… 34

二、英文翻译… 37

三、源代码… 40

设计说明书及设计文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

源码展示

//数码管位 高位-----低位
//四个按键控制步进电机:正转,反转,加1,减1
//上电时电机启动,数码管上显示速度最小档1,加减档位均能通过数码管显示出来,电机采用单双八拍方式
//电机转速一共10档,通过按键调节转速 
//电机正转时最高位数码管显示0,反转时显示1  
#include
#define uchar unsigned char
#define uint unsigned int
#define led P0//数码管段选
#define haha P2
sbit s1 = P1^0;sbit s2 = P1^1;sbit s3 = P3^0;sbit s4 = P3^1;//按键定义,s1正转,s2反转,s3加1,s4减1
sbit wei3 = P2^3;sbit wei2 = P2^2;sbit wei1 = P2^1;sbit wei0 = P2^0;//数码管位选定义
sbit a = P2^7;sbit b = P2^6;sbit c = P2^5;sbit d = P2^4;//脉冲信号输入端定义uchar code tab[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//共阳数码管驱动信号0---9,不显示
uchar code time_counter[10][2]={{0xda,0x1c},{0xde,0xe4},{0xe1,0xec},{0xe5,0xd4},{0xe9,0xbc},  //9.7 ----1ms{0xed,0xa4},{0xf1,0x8c},{0xf5,0x74},{0xf9,0x5c},{0xfc,0x18}};
uchar code qudong[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90};	 
uchar num1 = 0;//控制取励磁信号变量						  
uchar num2 = 8;
int jishu;//时间计算
#define Imax 14000    //此处为晶振为11.0592时的取值, 
#define Imin 8000    //如用其它频率的晶振时,
#define Inum1 1450    //要改变相应的取值。
#define Inum2 700 
#define Inum3 3000 
//解码变量
unsigned char Im[4]={0x00,0x00,0x00,0x00};//全局变量
uchar f;
unsigned long m,Tc;
unsigned char IrOK;char k=0;//加减档位控制,1为最小档
bit flag1 = 0,start=0,mode=0;//初始正转,正反转标志
uchar buf[4]={0,10,0,0};//数码管显示缓存,正转,不显示,不显示,显示0档位,高----低  
//================================定时器0/1初始化函数================================
void T0_T1_init()
{TMOD = 0x11;//定时器0/1均工作于方式1,16位计时方式TH0 =0;TL0 =0;//定时器0TH1 = time_counter[k-1][0];TL1 = time_counter[k-1][1];//定时器1,定时10ms用于步进电机转速控制TR0 = 0;TR1 = 1;ET0 = 1;IT1=1;//下降沿有效EX1=1;//外部中断1开ET1= 1;//开定时器中断EA = 1;//开总中断
}
//================================ms级延时函数=======================================
void delay1m(uint x)
{uint i,j;for(i=0;i

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...