作业1 按键控制电机笔记1

没完成计算器的抓紧时间;这段时间,做一个电机控制电路,51单片机,5个按键(正转,反转,加速,减速,停止),L298驱动直流电机,protues仿真@全体成员

问题:

一开始用那个电机MOTOR_DC不能马上反转,先得慢慢正转到0,再开始反转。然后换了一个电机MOTOR就好了。

一开始设置电机停止没用,ENA=0  1  没用。

想用数码管显示速度,但是不太行。。而且数码管用P0引脚不亮。。。

void Timer0_init()//100us
{
	TMOD &= 0xF0;		//设置定时器模式
	TMOD |= 0x01;		//设置定时器模式
	TL0 = 0x9C;		//设置定时初值
	TH0 = 0xFF;		//设置定时初值
	ET0=1;
	EA=1;	
	TR0=1;
}
void Timer0() interrupt 1
{
	TL0 = 0x9C;		//设置定时初值
	TH0 = 0xFF;		//设置定时初值
	Counter++;
	Counter%=100;
	if(Counter<Compare)//如果小于占空比
	{
		IN1=1;
	}
	else
	{
		IN1=0;
	}
}
void main()
{
	ENA=1;
	IN1=0;
	IN2=0;//一开始让电机停止
	Timer0_init();
	Compare=50;
	while(1)
	{
		
		if(k0==0)//正转
		{
			delay(100);
			while(!k0);
			IN1=1;
			IN2=0;
		}
	  else if(k1==0)//反转
		{
			delay(100);
			while(!k1);
			IN1=0;
			IN2=1;
		}
		else if(k2==0)//加速
		{
			delay(100);
			while(!k2);
			Compare=Compare+10;
		}
		else if(k3==0)//减速
		{
			delay(100);
			while(!k3);
			Compare=Compare-10;
		}
		if(k4==0)//停止
		{
			delay(100);
			while(!k4);
			ENA=0;
			TR0=0;
			IN1=0;
			IN2=0;								
		}	
		 
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值