找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1138|回复: 0
打印 上一主题 下一主题
收起左侧

C51单片机直流电机pwm调试程序

[复制链接]
跳转到指定楼层
楼主
ID:411481 发表于 2018-12-10 16:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
sbitIN1=P1^0;
sbitIN2=P1^1;
sbitENA=P1^2;
voiddelay(unsigned int z);
voiddelay_us(unsigned int aa);
/******************主函数******************************/
voidmain()
{
while(1)
{
          unsigned int i, cycle=0,T=2048;
          IN1=1;//正转
          IN2=0;
          for(i=0;i<200;i++)
          {
          delay(10);//PWM占空比为50%,修改延时调整PWM脉冲
          ENA=~ENA;
          }
          IN1=0;//反转
          IN2=1;
          for(i=0;i<100;i++)
          {
          delay(20);// PWM占空比为50%,修改延时调整PWM脉冲
          ENA=~ENA;
          IN1=1;//自动加速正转
          IN2=0;
          while(cycle!=T)
          {
          ENA=1;
          delay_us(cycle++);
          ENA=0;
          delay_us(T-cycle);
          }
          cycle=0;
          IN1=0;//自动减速反转
          IN2=1;
          while(cycle!=T)
          {
          ENA=1;
          delay_us(cycle++);
          ENA=0;
          delay_us(T-cycle);
          }
          }

}
}
/*******************************Z秒延时函数*************************/
voiddelay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/*******************************微秒延时**************************/
voiddelay_us(unsigned int aa)
  {
while(aa--);
  }



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表