完善以下代码:#include <reg52.h> #include <glzxj.h> unsigned char a; unsigned char code Step[] = {0x0e,0x0c,0x0d,0x09,0x0b,0x03,0x07,0x06}; void delay(unsigned int i) { while(i--); } main() { Init(); DatB[0]=0x00; DatB[1]=0x00; DatW[0]=123; DatW[1]=234; DatW[2]=345; DatW[3]=456; DatF[0]=-1.123; DatF[1]=-1.145; DatF[2]=10.123; DatF[3]=100.145; Addr=1; while(1) { P0=0x00;P1=0x00;P2=0x00; P0=DatB[0]; DatB[0]=P1; a=100;//jiasu if(P0==15) {a=80;} if(P0==12)//di1货架 { unsigned int k; unsigned char i; for(k=0;k<64*12*1;k++) { for(i=0;i<8;i++) { P1=Step[i]; delay(a); } } } if(P0==13)//di2货架 { unsigned int k; unsigned char i; for(k=0;k<64*12*2;k++) { for(i=0;i<8;i++) { P1=Step[i]; delay(a); } } } if(P0==14)//di3货架 { unsigned int k; unsigned char i; for(k=0;k<64*12*3;k++) { for(i=0;i<8;i++) { P1=Step[i]; delay(a); } } } if(P0==20)//暂停 {P1=0x00; } if(P0==16)//转回 { unsigned int k; unsigned char i; for(k=0;k<64*12*1;k++) { for(i=8;i>0;i--) { P1=Step[i]; delay(80); } } } } }
时间: 2023-11-03 20:05:47 浏览: 42
#include <reg52.h>
#include <glzxj.h>
unsigned char a;
unsigned char code Step[] = {0x0e, 0x0c, 0x0d, 0x09, 0x0b, 0x03, 0x07, 0x06};
void delay(unsigned int i)
{
while (i--);
}
void moveShelf(unsigned int shelfNum)
{
unsigned int k;
unsigned char i;
for (k = 0; k < 64 * 12 * shelfNum; k++)
{
for (i = 0; i < 8; i++)
{
P1 = Step[i];
delay(a);
}
}
}
void returnToOrigin()
{
unsigned int k;
unsigned char i;
for (k = 0; k < 64 * 12 * 1; k++)
{
for (i = 8; i > 0; i--)
{
P1 = Step[i];
delay(80);
}
}
}
void main()
{
Init();
DatB[0] = 0x00;
DatB[1] = 0x00;
DatW[0] = 123;
DatW[1] = 234;
DatW[2] = 345;
DatW[3] = 456;
DatF[0] = -1.123;
DatF[1] = -1.145;
DatF[2] = 10.123;
DatF[3] = 100.145;
Addr = 1;
while (1)
{
P0 = 0x00;
P1 = 0x00;
P2 = 0x00;
P0 = DatB[0];
DatB[0] = P1;
a = 100; // jiasu
if (P0 == 15)
{
a = 80;
}
switch (P0)
{
case 12: // di1货架
moveShelf(1);
break;
case 13: // di2货架
moveShelf(2);
break;
case 14: // di3货架
moveShelf(3);
break;
case 20: // 暂停
P1 = 0x00;
break;
case 16: // 转回
returnToOrigin();
break;
}
}
}