资源简介
网上不是很好找的资料哦,我们自己做的。
这是C程序:#include
#define uchar unsigned char
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_3=P1^3;
sbit P1_4=P1^4;
sbit P1_5=P1^5;
sbit P1_6=P1^6;
sbit P1_7=P1^7;
uchar RRR,flg,KKK; //RRR用于调速控制;flg=0正转;flg=1反转; flg=2不转;KKK为P1的状态寄存
uchar loop[2][4]={{0x0c,0x06,0x03,0x09},{0x09,0x03,0x06,0x0c}};
void loop1(void);
void loop2(void);
void step(void);
main()
{
uchar i,j;
TMOD=0x10;
TL1=0xe0;
TH1=0xb1;
IE=0;
while(1)
{
if(KKK!=P1) //当P1的值发生变化,触发采集信号
loop1();
if(flg!=2)
{
for(i=0;i<=3;i++)
{
P0=loop[flg][i];
for(j=0;j<=RRR;j++)
{step();}
}
}
}
}
void step(void) //产生20MS的单位步时间
{
TF1=0;
TR1=1;
while(TF1==0);
TR1=0;
TL1=0xe0;
TH1=0xb1;
}
void loop1(void) //采集顺时针或逆时针信号,P1.6=1,顺时针,P1.7=1,逆时针
{
KKK=P1; //暂存P1的状态
if(P1_6==1)
{flg=0;loop2();}
else if(P1_7==1)
{flg=1;loop2();}
else
flg=2;
}
void loop2(void)
{
if(P1_0==1)
RRR=5;
else if(P1_1==1)
RRR=8;
else if(P1_2==1)
RRR=11;
else if(P1_3==1)
RRR=14;
else if(P1_4==1)
RRR=17;
else if(P1_5==1)
RRR=20;
}
代码片段和文件信息
#include
#define uchar unsigned char
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_3=P1^3;
sbit P1_4=P1^4;
sbit P1_5=P1^5;
sbit P1_6=P1^6;
sbit P1_7=P1^7;
uchar RRRflgKKK; //RRR用于调速控制;flg=0正转;flg=1反转; flg=2不转;KKK为P1的状态寄存
uchar loop[2][4]={{0x0c0x060x030x09}{0x090x030x060x0c}};
void loop1(void);
void loop2(void);
void step(void);
main()
{
uchar ij;
TMOD=0x10;
TL1=0xe0;
TH1=0xb1;
IE=0;
while(1)
{
if(KKK!=P1) //当P1的值发生变化,触发采集信号
loop1();
if(flg!=2)
{
for(i=0;i<=3;i++)
{
P0=loop[flg][i];
for(j=0;j<=RRR;j++)
{step();}
}
}
}
}
void step(void) //产生20MS的单位步时间
{
TF1=0;
TR1=1;
while(TF1==0);
TR1=0;
TL1=0xe0;
TH1=0xb1;
}
void loop1(void) //采集顺时针或逆时针信号,P1.6=1,顺时针,P1.7=1,逆时针
{
KKK=P1; //暂存P1的状态
if(P1_6==1)
{flg=0;loop2();}
else if(P1_7==1)
{flg=1;loop2();}
else
flg=2;
}
void loop2(void)
{
if(P1_0==1)
RRR=5;
else if(P1_1==1)
RRR=8;
else if(P1_2==1)
RRR=11;
else if(P1_3==1)
RRR=14;
else if(P1_4==1)
RRR=17;
else if(P1_5==1)
RRR=20;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 77522 2007-08-04 10:23 步进电机C版本\步进电机C版本\ME.DSN
文件 742 2009-05-06 14:04 步进电机C版本\步进电机C版本\ME.PWI
文件 1252 2009-05-06 14:30 步进电机C版本\步进电机C版本\Text1.c
文件 928 2007-08-04 10:21 步进电机C版本\步进电机C版本\yang.hex
文件 5935 2007-08-04 10:21 步进电机C版本\步进电机C版本\yang.M51
文件 209 2009-05-06 14:31 步进电机C版本\步进电机C版本\yang.plg
....... 2101 2009-05-06 13:45 步进电机C版本\步进电机C版本\yang_Uv2.Bak
文件 3073 2009-05-06 13:45 步进电机C版本\步进电机C版本\Text1.LST
....... 1012 2009-05-06 14:04 步进电机C版本\步进电机C版本\yang_Opt.Bak
文件 2065 2009-05-06 14:31 步进电机C版本\步进电机C版本\yang.Uv2
文件 982 2009-05-06 14:31 步进电机C版本\步进电机C版本\yang.Opt
文件 6376 2005-03-22 15:22 步进电机C版本\步进电机C版本\STARTUP.A51
文件 210 2009-05-06 21:52 步进电机C版本\步进电机C版本\00000.plg
文件 3753 2009-05-06 14:33 步进电机C版本\步进电机C版本\Text1
....... 2162 2009-05-06 14:40 步进电机C版本\步进电机C版本\00000_Uv2.Bak
文件 855 2009-05-06 14:40 步进电机C版本\步进电机C版本\00000.Opt
文件 2163 2009-05-06 21:52 步进电机C版本\步进电机C版本\00000.Uv2
目录 0 2009-04-30 17:23 步进电机C版本\步进电机C版本
目录 0 2009-04-30 17:23 步进电机C版本
----------- --------- ---------- ----- ----
111340 19
评论
共有 条评论