L298N驱动模块---51单片机代码

L298N驱动模块详解与代码

在这里插入图片描述

使能:开关
跳线帽:内部有金属接线,使用跳线帽在使能时,该开关短路,使能关闭
注意:电机与51单片机的接地点应接到一处
另:因为51单片机的电源是5v,可以将模块上的5V输出给到51单片机,就可以不用再另给51单片机连接一个电源
在这里插入图片描述

使能:开关
跳线帽:内部有金属接线,使用跳线帽在使能时,该开关短路,使能关闭
pwm频率:每秒钟信号从高电平到低电平再回到高电平的次数(频率高低与输出响应的速度相关)
占空比:高电平持续时间占总周期的比例
程序设计:
//此程序的目的是进行占空比为30%的一个使用pwm调速法控制的电机 pwm频率为1000hz也就是1ms,我们选择一次定时中断用时0.01ms,一共要100次中断才达到1ms,设置初值方面,因为晶振频率约为12mhz,所以一个机械周期约为1us也就是0.001ms,以此对应设置初值。

#include<reg52.h> 
void main()
{
        ENA = 1;
	IN1 = 0;
	IN2 = 1;   //正转
	set();
	while(1)
	{			
	}			
}
void set()
{
	TMOD=0x01;//定时器0工作方式1
	TH0=a;//(65536-100)/256;//赋初值定时
	TL0=b;//(65536-100)%256;//0.01ms
	EA=1;//开总中断
	ET0=1;//开定时器0中断
	TR0=1;//启动定时器0 
} 
void tim0() interrupt 1
{
	TR0=0;//赋初值时,关闭定时器
	TH0=a;//(65536-10)/256;//赋初值定时
	TL0=b;//(65536-10)%256;//0.01ms
	TR0=1;//打开定时器
 
	time++;
	if(time>=100)  //1khz
	  time=0;   
	if(time<=30)   //占空比%30,可改
	  IN1 = 0,IN2 = 1;  
	else 
      IN1 = 1,IN2 = 0;
}

0,IN2 = 1;
else
IN1 = 1,IN2 = 0;
}


此处也可以使用定时中断方式2,但需要修改初值可以被256整除.
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Loading_create

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值