标题:
51单片机+L298N驱动直流电机并进行调速程序
[打印本页]
作者:
HMingS
时间:
2018-12-25 21:35
标题:
51单片机+L298N驱动直流电机并进行调速程序
51单片机 L298N驱动直流电机并进行调速
电路原理图如下:
0.png
(67.51 KB, 下载次数: 42)
下载附件
2018-12-25 21:44 上传
单片机源程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar pwm,num;
sbit EN=P1^0;
sbit IN1=P1^1;
sbit IN2=P1^2;
sbit key_zhengzhuan=P3^0;
sbit key_fanzhuan=P3^1;
sbit key_jiasu=P3^2;
sbit key_jiansu=P3^3;
sbit led_jiashu=P1^3;
sbit led_jianshu=P1^4;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void init()
{
TMOD=0x02;
TH0=210;
TL0=210;
TR0=1;
ET0=1;
EA=1;
}
void key_control()
{
if(key_zhengzhuan==0)
{
delay(5);
if(key_zhengzhuan==0)
{
// EN=0;
IN1=1;
IN2=0;
}
}
if(key_fanzhuan==0)
{
delay(5);
if(key_fanzhuan==0)
{
// EN=1;
IN1=0;
IN2=1;
}
}
if(key_jiasu==0)
{
delay(5);
if(key_jiasu==0)
{
if(pwm<250)
{
pwm++;
}
}
}
if(key_jiansu==0)
{
delay(5);
if(key_jiansu==0)
{
if(pwm>0)
{
pwm--;
}
}
}
}
void main()
{
init();
pwm=30;
while(1)
{
key_control();
}
}
void T0_time() interrupt 1
{
num++;
if(num==250)
num=0;
if(num<pwm)
EN=1;
else
EN=0;
}
复制代码
作者:
青海长云
时间:
2018-12-25 21:48
我也试试
作者:
Lpure
时间:
2021-2-7 19:04
测试成功了,感谢博主分享
作者:
许怀海
时间:
2022-10-19 20:36
为什么我的IN1和IN2一起接,电机不动,只接IN1或IN2才能动
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1