標題:
51單片機+L298N驅動直流電機并進行調速程序
[打印本頁]
作者:
HMingS
時間:
2018-12-25 21:35
標題:
51單片機+L298N驅動直流電機并進行調速程序
51單片機 L298N驅動直流電機并進行調速
電路原理圖如下:
0.png
(67.51 KB, 下載次數(shù): 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.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1