ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:113KB ,
资源ID:857765      下载积分:8 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wnwk.com/docdown/857765.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2023年基于51单片机的直流电机控制系统.doc)为本站会员(g****t)主动上传,蜗牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蜗牛文库(发送邮件至admin@wnwk.com或直接QQ联系客服),我们立即给予删除!

2023年基于51单片机的直流电机控制系统.doc

1、郑州轻工业学院课程设计说明书题目:基于51单片机的直流电机控制系统设计 姓 名: 院 系: 电气信息工程学院 专业班级: 电子信息工程专业 学 号: 指导教师: 成 绩: 时间: 2023 年 12 月 12 日至 2023 年 12 月 26 日郑州轻工业学院题目 基于51单片机的直流电机控制系统设计 专业、班级 电子信息工程08级1班 学号 姓名 主要内容、根本要求、主要参考资料等:主要内容:控制系统主要是以8051单片机为核心组成的控制系统, 本系统中的电机转速与电机两端的电压成比例, 而电机两端的电压与控制波形的占空比成正比, 因此, 由MCU内部的可编程计数器阵列输出PWM波, 以调

2、整电机两端电压与控制波形的占空比, 从而实现调速。根本要求:1、掌握汇编编程的原理和方法。 2、熟悉单片机根本特征和电路设计的方法。3、掌握直流电机的控制方法。4、熟练运用定时器设计PWM波控制直流电机。5、形成一篇设计文档。主要参考资料:1孙涵芳 徐爱卿.MCS-51/96系列单片机原理及应用M.北京:北京航空航天大学出版社,1977.2何立民.单片机应用技术选编M.北京:北京航空航天大学出版社,2023.3史国生.交直流调速系统M.北京:化学工业出版社,2023.161-174.完 成 期 限: 2023.12.12-2023.12.26 指导教师签名: 课程负责人签名: 2011年 12

3、月 11日本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。控制系统主要是以8051单片机为核心组成的控制系统, 本系统中的电机转速与电机两端的电压成比例, 而电机两端的电压与控制波形的占空比成正比, 因此, 由MCU内部的可编程计数器阵列输出PWM波, 以调整电机两端电压与控制波形的占空比,从而实现调速。关键词:8051单片机 PWM信号 直流电机目录第一章:设计任务5第二章:总体设计方案5第三章 系统硬件电路设计6第四章 系统的软件设计7第五章:程序8第六章:PCB图8第七章:元件清单8第八章:参考文献8第九章:心得体会8 第一章:设计任务任务:

4、单片机为控制核心的直流电机PWM调速控制系统设计的主要内容以及技术参数:功能主要包括:1) 直流电机的正转;2) 直流电机的反转;3) 直流电机的加速;4) 直流电机的减速;5) 直流电机的转速在数码管上显示;6) 直流电机的启动;7) 直流电机的停止;第二章:总体设计方案总体设计方案的硬件局部详细框图如图一所示。数码管显示按键控制8051单片机PWM电机驱动键盘向单片机输入相应控制指令,由单片机通过P1.0与P1.1其中一口输出与转速相应的PWM脉冲,另一口输出低电平,经过ULN2023芯片控制电路,实现电动机转向与转速的控制。电动机的运转状态通过数码管显示出来。电动机所处速度级以速度档级数

5、显示。正转时最高位显示“三 ,其它三位为电机转速;反转时最高位显示“F,其它三位为电机转速。每次电动机启动后开始显示,停止时数码管显示出“0000。 第三章 系统硬件电路设计整体框图如下第四章 系统的软件设计 本系统编程局部工作采用KELI-C51语言完成,采用模块化的设计方法,与各子程序做为实现各局部功能和过程的入口,完成键盘输入、按键识别和功能、PWM脉宽控制和数码管显示等局部的设计。单片机资源分配如下表:P0显示模块接口键盘中断P1键盘模块接口P1.0/P1.1PWM电机驱动接口系统时钟PWM脉宽控制:本设计中采用软件延时方式对脉冲宽度进行控制,延时程序函数如下:/xxxxxxxxxxx

6、xxxxxx延时函数xxxxxxxxxxxxxxxxxxxxxxxxx/delays()uchar i;for(i=5000;i0;i-);键盘中断处理子程序:采用中断方式,按下键,完成延时去抖动、键码识别、按键功能执行。要实现按住加/减速键不放时恒加或恒减速直到放开停止,就需在判断是否松开该按键时,每进行一次增加/减少一定的占空比。显示子程序:利用数组方式定义显示缓存区,缓存区有8位,分别存放各个数码管要显示的值。定时中断处理程序:采用定时方式1,因为单片机使用12M晶振,可产生最高约为65.5ms的延时。对定时器置初值B1E0H可定时20ms,即系统时钟精度可达0.02s。当20ms定时时

7、间到,定时器溢出那么响应该定时中断处理程序,完成对定时器的再次赋值,并对全局变量time加1,这样,通过变量time可计算出系统的运行时间。3、软件设计中的特点:对于电机的启停,在PWM控制上使用渐变的脉宽调整,即开启后由停止匀加速到默认速度,停止那么由于当前速度逐渐降至零。这样有利于保护电机。键盘处理上采用中断方式,不必使程序对键盘反复扫描,提高了程序的效率。第五章:程序见附件1第六章:PCB图见附件2第七章:元件清单见附件3 第八章:参考文献1孙涵芳 徐爱卿.MCS-51/96系列单片机原理及应用M.北京:北京航空航天大学出版社,1977.2何立民.单片机应用技术选编M.北京:北京航空航天

8、大学出版社,2023.3史国生.交直流调速系统M.北京:化学工业出版社,2023.161-174.第九章:心得体会本次课程设计虽然只有两周,但短短两周我掌握了汇编编程的原理和方法。熟悉了单片机根本特征和电路设计的方法。掌握了直流电机的控制方法。熟练了运用定时器设计PWM波控制直流电机。总之,收获很多。附件1/xxxxxxxxxxxx头文件xxxxxxxxx/#include #include #include /xxxxxxxxxxxxxxxxxxxxxxxxxx / /xxxxxxxx自定义变量xxxxxxxx/#define uint unsigned int /自定义变量#define

9、uchar unsigned char char gw,sw,bw,qw;uchar j; /定时次数,每次20msuchar f=5; /计数的次数sbit P10=P10; /PWM输出波形1sbit P11=P11; /PWM输出波形2sbit P12=P12; /正反转sbit P13=P13; /加速sbit P14=P14; /减速sbit P15=P15; /停止sbit P16=P16; /启动uchar k;uchar t; /脉冲加减/xxxxxxxxxxxxxxxxxxxxxxxxxx/x/xxxxxxxxx控制位定义xxxxxxxxxxxxxxxxxxxx/uchar

10、code smg12=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x73,0x71;/程序存储区定义字型码表char data led4=0x08,0x04,0x02,0x01; /位码uint x; /数码管显示的数值display(); /数码管显示 delays(); /延时函数key();displays();/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxx主函数xxxxxxxxxxxxxxxxxxxx/main (void) TMOD=0x51; /T0方式1

11、 定时计数T1方式1计数TH0=0xb1; /装入初值 20MSTL0=0xe0;TH1=0x00; / 计数567TL1=0x00;TR0=1; /启动 t0TR1=1; /启动t1gw=sw=bw=qw=0; /数码管初始化P0=0xc0;P2=1;while(1) /无限循环 display(); /数码管显示 key(); /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxx数码管显示xxxxxxxxxxxxxxxx/display()uchar i; gw=x%10; /求速度个位值,送到个位显示缓冲区sw=(x/10)

12、%10; /求速度十位值,送到十位显示缓冲区bw=(x/100)%10; /求速度百位值,送到百位显示缓冲区qw=x/1000; /求速度千位值,送到千位显示缓冲区for(i=0;i4;)P2=ledi;if(i=0) /显示个位P0=smggw;delays();else if(i=1) /显示十位P0=smgsw;delays();else if(i=2) /显示百位P0=smgbw;delays(); else if(i=3) /显示千位 if(k=0)/正转时显示三 P0=0x49; delays();else P0=0x71; /反转时显示F i+;/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxx延时函数xxxxxxxxxxxxxxxxxxxxxxxxx/delays()uchar i;

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2