哪位高手师傅帮我看看这个步进电机的程序,给我解释下每步都什么意思,在这谢谢啦!

#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharsbitd1=P1^0;sbitd2=P1^... #include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit d1=P1^0;
sbit d2=P1^7;
sbit d3=P3^2;
uint t,m;
void delay(uint z);
void main()
{
EA=1;
EX0=1;
IT0=1;
EX1=1;
IT1=0;
while(1)
{
if(t==1 )
{
d1=~d1;
t=0;
m++;
if(m==7200)
{
m=0;
TR0=0;
d3=1;
}

}
}
}
void exter0() interrupt 0
{
d3=0;
TMOD=0x01;
TH0=(65535-1308)/256;
TL0=(65535-1308)%256;
ET0=1;
TR0=1;
}
void time0() interrupt 1
{
TH0=(65535-1308)/256;
TL0=(65535-1308)%256;
t++;
}
void exter1() interrupt 2
{
d2=~d2;
}
展开
 我来答
温暖的定格
2011-07-28
知道答主
回答量:17
采纳率:0%
帮助的人:7.9万
展开全部
#include <reg52.h> //头文件
#define uint unsigned int //无符号整形宏定义
#define uchar unsigned char //无符号字符宏定义
sbit d1=P1^0; //位定义
sbit d2=P1^7; //位定义
sbit d3=P3^2; //位定义
uint t,m; //变量定义
void delay(uint z); //函数定义
void main()
{
EA=1; //中断
EX0=1; //中断
IT0=1;
EX1=1; //中断
IT1=0; //中断
while(1)
{
if(t==1 )
{
d1=~d1; //取反
t=0;
m++;
if(m==7200)
{
m=0;
TR0=0;
d3=1;
}

}
}
}
void exter0() interrupt 0 //外部中断0
{
d3=0;
TMOD=0x01;
TH0=(65535-1308)/256;
TL0=(65535-1308)%256;
ET0=1;
TR0=1;
}
void time0() interrupt 1 //定时器中断0
{
TH0=(65535-1308)/256;
TL0=(65535-1308)%256;
t++;
}
void exter1() interrupt 2 //外部中断1
{
d2=~d2;
}
追问
这个外部中断1是可以控制电机正反转的么,怎么改算是控制啊。
追答
你要先了解步进电机的原理
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式