找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机智能小车电机PWM调速源码(延时)

[复制链接]
跳转到指定楼层
楼主
ID:330146 发表于 2019-3-20 10:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "reg52.h"  //定义51单片机特殊功能寄存器
//#include "intrins.h"
sbit IN1 = P0^0;
sbit IN2 = P0^1;
sbit ENA = P0^2;
sbit IN3 = P0^3;
sbit IN4 = P0^4;
sbit ENB = P0^5;
void delay(unsigned int z);
void delay_us(unsigned int aa);

void main()
{
while(1)
{
  unsigned int i,cycle = 0,T = 2048;
  IN1 = 1;
  IN2 = 0;
  for(i = 0;i < 200;i++)
  {
   delay(10);
   ENA = ~ENA;
  }
  IN3 = 1;
  IN4 = 0;
  for(i = 0;i < 200;i++)
  {
   delay(10);
   ENB = ~ENB;
  }
  IN1 = 0;
  IN2 = 1;
  for(i = 0;i < 100;i++)
  {
   delay(10);
   ENA = ~ENA;
  }
  IN3 = 0;
  IN4 = 1;
  for(i = 0;i < 200;i++)
  {
   delay(10);
   ENB = ~ENB;
  }
  IN1=1;  //自动加速正转
  IN2=0;
  IN3 = 1;
  IN4 = 0;
  while(cycle!=T)
  {
   ENA=1;
   ENB=1;
   delay_us(cycle++);
   ENA=0;
   ENB=0;
   delay_us(T-cycle);
  }
    IN1=0;  //自动减速反转
  IN2=1;
  IN3 = 0;
  IN4 = 1;
  while(cycle!=T)
  {
   ENA=0;
   ENB=0;
   delay_us(cycle++);
   ENA=1;
   ENB=1;
   delay_us(T-cycle);
  }
}
}
void delay(unsigned int z)
{
unsigned int x,y;
for(x = z;x > 0;x--)
   for(y = 110;y > 0;y--);
}
   
void delay_us(unsigned int aa)
{
while(aa--);
}

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

使用道具 举报

沙发
ID:1 发表于 2019-3-20 18:05 | 只看该作者
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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