标题:
电机的正反转
[打印本页]
作者:
小小狼
时间:
2018-4-10 11:20
标题:
电机的正反转
#include<reg52.h>
#include<math.h>
#define uchar unsigned char
#define unit unsigned int
sbit EN1=P1^0;
sbit EN2=P1^1;
sbit F1=P1^2;
sbit F2=P1^3;
sbit F3=P1^4;
sbit F4=P1^5;
sbit S1=P2^0;
sbit S2=P2^1;
sbit S3=P2^2;
sbit S4=P2^3;
sbit S5=P2^4;
uchar t=0; //中断计数器
uchar Cycle=100; //确定PWM周期
uchar speed2=50; //电动机速度值
/*T0初始化*/
T0_ini()
{
TMOD=0x02;
TH0=0xA3;
TL0=0xA3;
EA=1;
ET0=1;
TR0=1;
}
/*电动机控制*/
void main()
{
EN1=1;EN2=1; //使能端有效
T0_ini(); //T0初始化
while(1)
{
if(S1==0){speed2=50;} //停
if(S2==0){speed2=60;} //加
if(S3==0){speed2=50;} //减
if(S4==0){speed2=60;} //正
if(S5==0){speed2=40;} //反
}
}
/*T0中断程序,产生PWM信号,控制电机*/
void timer0()interrupt 1
{
if(t<speed2){F3=1;F4=0;} // 产生电动机2的PWM信号,控制转速方向
else{F3=0;F4=1;}
t++;
if(t>=Cycle)t=0; //1个PWM信号由100次中断产生 1个PWM周期为0.1ms*100=10ms
}
@L{A0K9J5O(35~Z}MTUNCYG.png
(40.42 KB, 下载次数: 32)
下载附件
2018-4-10 11:19 上传
作者:
GUOXUAN
时间:
2018-4-19 09:31
请问老师:这个电机的正反转,是步进电机,还是普通碳刷电机?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1