【毕业设计】2-基于单片机控制的直流电机调速系统设计(原理图+仿真+答辩论文+答辩PPT)

文章目录

  • 【毕业设计】2-基于单片机控制的直流电机调速系统设计(原理图+仿真+答辩论文+答辩PPT)
    • 资料下载链接
    • 任务书
    • 设计说明书
      • 摘要
      • 设计框架架构
      • 设计说明书及设计文件
      • 源码展示

资料下载链接

资料链接
包含此题目毕业设计全套资料:
原理图工程
仿真工程
源代码工程
答辩论文,配套设计参考设计说明书,字数:18077
答辩PPT

任务书

主要研究内容:
1.单片机;2.直流电机,液晶显示器LCD。
设计思路:
查阅相关文献资料学习单片机、直流电机,液晶显示器LCD,编程实现单片机控制的直流电机调速系统设计功能,LCD显示速度,模式等。
方法和要求:
1.查阅相关文献资料学习单片机、直流电机,液晶显示器LCD;
2.学习Keil软件,用汇编语言或者C语言编程实现单片机控制的直流电机调速系统设计功能;
3.学习Proteus软件,进行仿真或实物实现单片机控制的直流电机调速系统设计功能。
4.撰写毕业论文。

设计说明书

摘要

基于单片机控制直流电机调速系统设计的研究意义在于可以通过按键对直流电机进行有效的控制。通过单片机定时器实现PWM。通过按键来调节PWM占空比实现对直流电机调速。在工业的使用环境中,在许多复杂噪音多的环境中可以对直流电机无干扰的进行控制。所以对单片机控制直流电机调速系统研究意义深远。
基于单片机的直流电机调速系统,主要由直流电机及驱动模块;按键模块;LCD1602显示模块;单片机最小系统这几部分组成。通过按键来控制直流电机的转速。在本次设计中,一共分为10个挡位。通过按键来控制PWM占空比以实现对直流电机的调速。LCD1602则显示当前速度挡位信息。本论文从一开始构思系统实现的功能,然后设计硬件电路对元器件选型,设计电路、对单片机编写程序,程序需要不停的调试,在调试过程中寻找最佳的控制点,最后利用PROTEUS软件仿真实现直流电机调速的功能,通过软件自带的模拟示波器显示占空比波形。
在最后也对整个系统做了详细的测试记录,在不同的工作环境中的工作情况,通过观察模拟示波器的占空比方波观察是否已达到此系统的设计要求。最后根据参数来对系统进行改进。最后达到自己想要的设计成果。

设计框架架构

前 言 1
第一章 绪论 2
第一节 研究背景 2
第二节 研究意义 2
第三节 研究现状 3
第四节 本文的主要研究内容 4
第二章 基于单片机的直流调速系统方案 5
第一节 元器件的选择 5
一、单片机的选择 5
二、显示器选择 5
三、电机调速方式选择 6
第二节 系统结构总框图 6
第三节 本章小结 7
第三章 系统硬件电路设计 8
第一节 LCD1602显示电路设计 8
第二节 单片机最小系统模块电路 9
一、89C52单片机介绍 9
二、复位电路设计 9
四、晶振电路设计 10
三、单片机最小系统设计 11
第三节 按键电路设计 11
第四节 直流电机驱动电路设计 12
第五节 电源电路设计 13
第六节 直流电机调速系统总电路设计 13
第七节 本章小结 14
第四章 基于单片机的直流调速系统的软件设计 15
第一节 Keil软件介绍 15
第二节 基于单片机的直流调速系统软件总设计 15
第三节 PWM软件设计 16
第四节 LCD1602显示模块软件设计 18
第五节 按键模块软件设计 19
第六节 本章小结 21
第五章 基于单片机的直流调速系统的测试结果分析 22
第一节 Proteus软件介绍 22
第二节 仿真与验证 23
一、仿真总电路设计 23
二、仿真结果 24
三、系统仿真测试及总结 27
第三节 本章小结 28
总 结 30
致 谢 31
参考文献 32
附 录 34
一、英文原文 34
二、英文翻译 36
三、源代码 38

设计说明书及设计文件


字数:18077

源码展示

#include<reg51.h>
#include<intrins.h>            //包含头文件
#define LCD1602 P0
#define uchar unsigned char
#define uint unsigned int        //宏定义sbit dj=P1^0;//电机控制端接口
sbit SN=P1^1;//使能继电器动作
//按键接口/
sbit key1=P3^5;//设置温度
sbit key2=P3^6;//温度加
sbit key3=P3^7;//温度减
//
sbit RS = P2^7;
sbit EN = P2^6;
signed int period = 0;//PEM period
uchar dang;//档位显示
uchar Mode=0;
uchar SMODE=0;//调节占空比
uchar time=0;//定时器加数
uchar d1,d2,d3;//显示数据暂存变量
uchar code tab1[]={"  Speed Control"};
uchar code tab2[]={"SPEED:"};
void delay(uint ms)     //延时函数,大约延时
{uchar x;for(ms;ms>0;ms--)for(x=50;x>0;x--);
}
///********液晶写入指令函数与写入数据函数,以后可调用**************/
void write_1602com(uchar com)//****液晶写入指令函数****
{RS=0;//数据/指令选择置为指令
//  rw=0; //读写选择置为写LCD1602=com;//送入数据
//  delay(10);EN=1;//拉高使能端,为制造有效的下降沿做准备delay(10);EN=0;//en由高变低,产生下降沿,液晶执行命令
}
void write_1602dat(uchar dat)//***液晶写入数据函数****
{RS=1;//数据/指令选择置为数据
//  rw=0; //读写选择置为写LCD1602=dat;//送入数据
//  delay(10);EN=1; //en置高电平,为制造下降沿做准备delay(10);EN=0; //en由高变低,产生下降沿,液晶执行命令
}
void lcd_init()//***液晶初始化函数****
{uchar a,b;write_1602com(0x38);//设置液晶工作模式,意思:16*2行显示,5*7点阵,8位数据write_1602com(0x0c);//开显示不显示光标write_1602com(0x06);//整屏不移动,光标自动右移write_1602com(0x01);//清显示write_1602com(0x80);//时间显示固定符号写入位置,从第1个位置后开始显示for(a=0;a<15;a++){write_1602dat(tab1[a]);//写显示时间固定符号,两个冒号delay(3);}    write_1602com(0x80+0x40);//时间显示固定符号写入位置,从第1个位置后开始显示for(b=0;b<6;b++){write_1602dat(tab2[b]);//写显示时间固定符号,两个冒号delay(3);}
}
void display()
{if(period == 100)
{write_1602com(0x80+0x40+10);write_1602dat((period /100)+0x30);write_1602com(0x80+0x40+11);write_1602dat(0x30);
}
else
{
write_1602com(0x80+0x40+10);
write_1602dat((period /10)+0x30);
}
}
void KEY()
{//加
if(key1==0){delay(10);if(key1==0)   {period +=10;if(period >90)period = 100;}             while(key1==0);       }//减少if(key2==0){delay(10);if(key2==0){period =period - 10;if(period <=0)period=0;}while(key2==0);}}
void init()
{TMOD=0x01;//???0????1
TH0=0xff;//(65536-10)/256;//?????
TL0=0xf7;//(65536-10)%256;//0.01ms
EA=1;//????
ET0=1;//????0??
TR0=1;//?????0
}
void main()       //主函数
{uchar dj;dj=0;          //电机TR0=0;delay(500);lcd_init();init();while(1)            //进入while循环{  KEY();//按键扫描函数display();     //调用显示函数// zi_dong();}
}
void T0_time() interrupt 1
{
TR0=0;
TH0=0xff;//(65536-10)/256;//
TL0=0xf7;//(65536-10)%256;//0.01ms
TR0=1;
time++;
if(time>=100) //1khz
time=0;
if(time < period) //
dj=1;
else dj=0;
}

【毕业设计】2-基于单片机控制的直流电机调速系统设计(原理图+仿真+答辩论文+答辩PPT)相关推荐

  1. 【电路】基于单片机智能睡眠枕系统设计-基于单片机音乐喷泉制作设计-基于单片机智能温控风扇调速系统设计-基于单片机智能自动循迹小车控制系统设计-基于数字电路的4人投票系统设计(仿真,报告)毕设课设资料

    1620基于单片机智能睡眠枕系统设计-文档+PPT+PCB图+原理图+源码 智能睡眠枕主要由lcd屏幕.蓝牙.压力传感器.蜂鸣器.单片机等等组成,用户可通过四个独立按键进行操控(四个按键从左至右为1. ...

  2. 电机调速设计并用matlab仿真,基于MATLAB的双闭环调速系统设计与仿真

    名称 基于MATLAB的双闭环调速系统设计与仿真 设计内容和意义 摘要 转速.电流双闭环控制直流调速系统是性能很好.应用最广的直流调速系统.根据晶闸管的特性,通过调节控制角α大小来调节电压.基于设计题 ...

  3. 基于51单片机的PWM控制马达电机调速正反转(仿真+源码+全套资料)

    资料编号:117 仿真图proteus 7.8 程序编译器:keil 5 编程语言:C语言 采用51单片机,用PWM控制电机脉冲频率应控制在25HZ-35HZ之间 定时1ms,1个周期30ms,脉冲频 ...

  4. 基于51单片机的L298N直流电机调速系统Proteus仿真程序

    基于51单片机的L298N直流电机调速系统Proteus仿真程序 本此设计选择STC89C52单片机作为主控芯片,选取带有光电编码器的直流电机作为被控对象,利用单片机的T0定时器产生PWM信号并送到直 ...

  5. matlab仿真限幅发散,基于模糊控制的直流电机调速系统MATLAB仿真_贾东耀

    基于模糊控制的直流电机调速系统MATLAB 仿真 贾东耀,曾智刚 (广东工业大学,广州市 510090) 摘 要:采用Fuzzy-PI 控制策略进行直流电机的调速系统设计,它克服了简单模糊控制和传统P ...

  6. 基于扰动观测器的直流电机调速系统,(售出不退慎拍!) 有计算公式,仿真模型

    基于扰动观测器的直流电机调速系统,(售出不退慎拍!) 有计算公式,仿真模型,仿真结果,ad电路图,程序 YID:69149648154053996月黑风高好办事儿

  7. 电机调速matlab仿真书,双闭环直流电机调速的matlab仿真.doc

    双闭环直流电机调速的matlab仿真.doc 双闭环直流电机调速系统的设计与MATLAB仿真1.1 双闭环调速系统的工作原理1.1.1 转速控制的要求和调速指标生产工艺对控制系统性能的要求经量化和折算 ...

  8. 同步电机调速matlab,基于matlab的永磁同步电机调速系统的仿真word格式

    基于matlab的永磁同步电机调速系统的仿真word格式 摘 要本文首先介绍了永磁同步电机的国内外发展状况,然后介绍了永磁同步电机的结构及原理,接着建立了永磁同步电机的数学模型,并在此基础上用MATL ...

  9. 基于matlab/simulink的交流电机调速系统建模与仿真,基于MATLABSIMULINK的交流电机调速系统建模与仿真...

    基于MATLAB/SIMULINK的交流电机调速系统建 模与仿真 摘要:根据直接转矩控制原理,利用MATLAB/SIMULINK软件构造一个交流电机 调速系统.该系统能够很好地模拟真实系统,实现高效的 ...

最新文章

  1. Java并发编程——volatile
  2. 完全二叉树最小深度_树与二叉树递归c++
  3. nginx 文件说明(非文件配置说明)
  4. ASP.NET Core分布式项目实战(运行Consent Page)--学习笔记
  5. OSCON上最受欢迎的Docker演讲
  6. LeetCode 632. 最小区间(排序+滑动窗口)
  7. python审计分析_【干货】Python自动化审计及实现
  8. OceanBase数据库开发和运维漫谈
  9. ie浏览器样式兼容写法_IE浏览器兼容问题-----html和css的兼容写法
  10. RabbitMQ 基本概念介绍-----转载
  11. C# 判断字符串为空的4种方法及效率
  12. 庖丁解牛Linux内核分析01:操作系统工作原理基础
  13. 基于MATLAB的一维条码识别
  14. 研究生论文写作心得体会
  15. dvr服务器系统,DVR监控软件 V1.0
  16. 可移动磁盘双击打不开怎么办
  17. Atom处理器喜迎周岁生日 主频达2GHz
  18. react中的 .d.ts
  19. mybatis-plus过滤不查询某一字段
  20. nexmo发送成功,但没有收到短信

热门文章

  1. FFmpeg总结(三)AV系列结构体之AVCodecContext
  2. 21天学通C语言-学习笔记(3)
  3. HTTP Status 500 - Error instantiating servlet class com.oymn.web.LoginServlet
  4. dubbo教程总结(springboot+dubbo)
  5. 序列二次规划求解非线性优化问题
  6. php 日记账余额,现金日记账,每天自动汇总(含年终福利)
  7. SVN的使用教程总结
  8. Eclipse 字体推荐
  9. 单片微型计算机原理与应用第三版课后答案,单片微型计算机原理及应用 - 课后习题答案 - 山东理工...
  10. 电脑入门必懂的常识5