【毕业设计】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

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...