📄 h22.c
字号:
// step motor control
// C for MCS51
#define mode8255 0x82
xdata unsigned char control _at_ 0x8003;
xdata unsigned char ctl _at_ 0x8000;
#define Astep 0x01
#define Bstep 0x02
#define Cstep 0x04
#define Dstep 0x08
unsigned char dly_c;
void delay()
{
unsigned char tt,cc;
cc = dly_c;
tt = 0x0;
do{
do {
}while(--tt);
}while(--cc);
}
void main()
{
unsigned char mode;
control = mode8255;
mode = 2;
ctl = 0;
dly_c = 0x10;
// 单/双八拍工作方式
if(mode ==1)
while(1)
{
ctl = Astep;
delay();
ctl = Astep+Bstep;
delay();
ctl = Bstep;
delay();
ctl = Bstep+Cstep;
delay();
ctl = Cstep;
delay();
ctl = Cstep+Dstep;
delay();
ctl = Dstep;
delay();
ctl = Dstep+Astep;
delay();
if(dly_c>2) dly_c --;
};
// 双四拍工作方式
if(mode == 2)
while(1)
{
ctl = Astep+Bstep;
delay();
ctl = Bstep+Cstep;
delay();
ctl = Cstep+Dstep;
delay();
ctl = Dstep+Astep;
delay();
if(dly_c>3) dly_c --;
};
// 单四拍工作方式
if(mode ==3)
while(1)
{
ctl = Dstep;
delay();
ctl = Cstep;
delay();
ctl = Bstep;
delay();
ctl = Astep;
delay();
if(dly_c>4) dly_c --;
}
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -