📄 step heixian_hao_hao1.c
字号:
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
sbit STK_CP1=P1^3;
sbit STK_DIR1=P1^2;
sbit STK_CP2=P1^1;
sbit STK_DIR2=P1^0;
sbit speed=P1^4;
sbit p32=P3^2;
sbit p33=P3^3;
bit youzhuan=0,zuozhuan=0;
uchar n;
void time0() interrupt 1 //电机1
{ if(youzhuan==1)
{ TR0=0; TH0=0xde; TL0=0xcc; TR0=1; //8.5ms
n++;
if(n==100) //1/4
{ n=0;
youzhuan=0;
}
}
else
{ TR0=0; TH0=0xec; TL0=0x78; TR0=1; //5ms
}
STK_CP1=~STK_CP1;
}
void time1() interrupt 3 //电机2
{ if(zuozhuan==1)
{
TR1=0; TH1=0xde; TL1=0xcc; TR1=1; //8.5ms
n++;
if(n==100)
{ n=0;
zuozhuan=0;
}
}
else
{ TR1=0; TH1=0xec; TL1=0x78; TR1=1; //5ms
}
STK_CP2=~STK_CP2;
}
void int0() interrupt 0 //右转//T1变
{ if(p33!=0) //不能同时为低
{ youzhuan=1;
zuozhuan=0;
n=0;
}
else
{ youzhuan=0;
zuozhuan=0;
n=0;
}
}
void int1() interrupt 2 //左转 //T0变
{ if(p32!=0)
{ youzhuan=0;
n=0;
zuozhuan=1;
}
else
{ youzhuan=0;
zuozhuan=0;
n=0;
}
}
main()
{ EA=0;
TMOD=0x11;
TH0=0xec; TL0=0x78; //5ms
TR0=1; ET0=1;
TH1=0xec; TL1=0x78; //5ms
TR1=1; ET1=1;
IT0=1; EX0=1;
IT1=1; EX1=1;
EA=1;
STK_DIR1=0;
STK_DIR2=1;
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -