全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > LED照明 >

基于51单片机的直流电机调速实验

时间:2023-06-25 11:47

人气:

作者:admin

标签: 基于  电机    单片机  直流 

导读:基于51单片机的直流电机调速实验-PWM:即脉冲宽度调制,在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效的获得所需要的模拟量,常用于电机调速,灯光亮度调节...

一、实验原理

PWM:即脉冲宽度调制,在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效的获得所需要的模拟量,常用于电机调速,灯光亮度调节等。

该实验和之前LED呼吸灯(定时器实现),实验原理本质上是相同的,可以结合之前的文章进行理解学习,这里就不再赘述了。(下图引用LED呼吸灯实验)

图片

二、关键代码

void Timer0_Routine() interrupt 1
{
  TL0 = 0x66;    
  TH0 = 0xFF;    
  Counter++;
  Counter%=100;  //计数值变化范围限制到0~99
  if(Counter< Compare)  //计数值小于比较值        
  {
    Motor=1;    //输出1               马达转动   (ULN2003芯片是一个7路反向器电路,即当输入端为高电平时ULN2003输出端为低电平)
  }
  else        //计数值大于比较值
  {
    Motor=0;    //输出0               马达停止
  }




sbit Motor=P1^0;


unsigned char Counter,Compare;  //计数值和比较值,用于输出PWM
unsigned char KeyNum,Speed;
//主函数
void main()
{
  Timer0_Init();
  while(1)
  {
    KeyNum=Key();
    if(KeyNum==1)
    {
      Speed++;
      Speed%=4;
      if(Speed==0){Compare=0;}  //改变比较值,改变PWM占空比
      if(Speed==1){Compare=60;}
      if(Speed==2){Compare=75;}
      if(Speed==3){Compare=100;}
    }
  }
}

通过定时器来实现一定周期的PWM波,再通过改变比较值Compare来改变高电平的占空比,进而改变电机的转速。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信