step36.c
来自「这是9个步进电机控制程序,每个都编译通过,并在使用中,可以共同商讨.联系:gua」· C语言 代码 · 共 53 行
C
53 行
#include<reg51.h>
#define DL 50
#define DR 0
#define uchar unsigned char
#define uint unsigned int
uchar idata plus[7]={0x01,0x03,0x02,0x06,0x04,0x05,0x00};
uchar idata minu[7]={0x01,0x05,0x04,0x06,0x02,0x03,0x00};
uchar k=0;
uchar idata *x;
void control(cf,n)
bit cf;
uint n;
{
uint i;
if(cf==0) x=&plus[0];
else x=&minu[0];
TMOD=0x01;
TH0=-DL*500/256;
TL0=-DL*500/256;
TR0=1;
ET0=1;
EA=1;
for(i=0;i<n;i++)
{
while(k==0);
k=0;
}
}
void delay(void)interrupt 1 using 1
{
P1=*x++;
if(*x==0)x=x-6;
TH0 =-DL*500/256;
TL0=-DL*500/256;
k=1;
}
void main(void)
{
for(;;)
{
if (DR==0)control(0,10);
else control(1,10);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?