网站大量收购独家精品文档,联系QQ:2885784924

基于单片机的直流电机控制设计性实验报告.doc

基于单片机的直流电机控制设计性实验报告.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于单片机的直流电机控制设计性实验报告

设计题目:直流电机控制电路设计 一 设计目的 1掌握单片机用PWM实现直流电机调整的基本方法,利用单片机对PWM信号的软件实现方法。MCS一51系列典型产品8051具有两个定时器。PWM信号软件实现的核心是单片机内部的定时器,通过控制定时器初值从而可以实现从8051的任意输出口输出不同占空比的脉冲波形。。#include reg51.h sbit K1 =P1^0 ; 增加键 sbit K2 =P1^1 ; 减少键 sbit K3 =P1^2 ; 转向选择键 sbit PWMUOT =P3^0 ; PWM波输出 sbit turn_around =P3^1 ; 转向控制输出 sbit BEEP =P3^2 ; 蜂鸣器 unsigned int PWM; void Beep(void); void delay(unsigned int n); void main(void) { TMOD=0x11; //设置T0、T1为方式1,(16位定时器) TH0=0 ; 65536us延时常数{t=(65536-TH)/fose/12} TL0=0; TH1=PWM ; //脉宽调节,高8位 TL1=0; EA=1; //开总中断 ET0=1; //开T0中断 ET1=1; //开T1中断 TR0=1 ; // T0定时允许 while(1) { if(K3==0K1==1K2==1) // 转向 { turn_around=!turn_around; } while(K3==0); //检测K3是否释放 do{ PWM++ ; if(PWM0xfe)//防止PWMS计数溢出 { PWM=0xff; } if(PWM==0xff)Beep() ; 响 delay(3000); } while(K1==0K2==1); do{ PWM-- ; if(PWM1) { PWM=1; } if(PWM==1)Beep() ; delay(3000); } while(K1==1K2==0); } } void timer0() interrupt 1 using 2 // 定时器0中断服务程序 { TR1=0 ; //T1禁止 TH0=0 ; //置T0定时常数 TL0=0 ; TH1=PWM ; //置T1定时常数 TL1=0; TR1=1 ; //T1允许 PWMUOT=0 ;// PWM波输出0 } void timer1() interrupt 3 using 3 //定时器1中断服务程序 { TR1=0 ; //T1禁止 PWMUOT=1 ; //PWM波输出1 } void Beep(void) //蜂鸣器子程序 { unsigned char i; for (i=0;i100;i++) { delay(100); BEEP=!BEEP; } BEEP=1; delay(100); } void delay(unsigned int n) { while(n--) ; } 六 Proteus仿真截图 七 实验结果 此次试验通过仿真系统进行了仿真,按下相应的开关,可实现控制直流电机的加速、减速及转向。 八 实验结论与心得 通过软件的设计及运行,实验达到了预期的结果,

文档评论(0)

shenlan118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档