{
unsignedinti = 0; for(i = n;i> 0;i--) delay_5ms1(); }
voiddelay_5ms1(void) {
delay_us(1750); //延时500微秒; //0.5 毫秒的延时 }
voiddelay_nms(unsignedint n) {
unsignedinti = 0; for(i = n;i> 0;i--) delay_5ms(); }
voiddelay_5ms(void) {
delay_us(1750); //延时500微秒; //0.5 毫秒的延时 }
//P2口延时函数
voiddelay_nms2(unsignedint n) //n推荐值为2 {
unsignedinti = 0; for(i = n;i> 0;i--) delay_5ms2(); }
voiddelay_5ms2(void) {
delay_us(500); //推荐值为450~500 }
//a1用于步进电机正转时间角度
voidmotor1(unsignedint a1) //用于正走函数 {
unsignedint j;
for(j=a1;j>0;j--) //运行时间 {
// 0001
P4OUT |= BIT4; P4OUT &= ~BIT5; P4OUT &= ~BIT6; P4OUT &= ~BIT7;
delay_nms(2); //
// 0001
P2OUT |= BIT1; P2OUT &= ~BIT3; P2OUT &= ~BIT4; P2OUT &= ~BIT6;
delay_nms(2); //
//0011
P4OUT |= BIT4; P4OUT |= BIT5; P4OUT &= ~BIT6; P4OUT &= ~BIT7;
delay_nms(2); // //0011
P2OUT |= BIT1; P2OUT |= BIT3; P2OUT &= ~BIT4; P2OUT &= ~BIT6;
delay_nms(2); //延时n个500微秒延时n个500微秒 延时n个500微秒延时n个500微秒
//0010
P4OUT &= ~BIT4; P4OUT |= BIT5; P4OUT &= ~BIT6; P4OUT &= ~BIT7;
delay_nms(2); //延时n个500微秒 //0010
P2OUT &= ~BIT1; P2OUT |= BIT3; P2OUT &= ~BIT4; P2OUT &= ~BIT6;
delay_nms(2); //
//0110
P4OUT &= ~BIT4; P4OUT |= BIT5; P4OUT |= BIT6; P4OUT &= ~BIT7;
delay_nms(2); //
//0110
P2OUT &= ~BIT1; P2OUT |= BIT3; P2OUT |= BIT4; P2OUT &= ~BIT6;
delay_nms(2); //
//0100
P4OUT &= ~BIT4; P4OUT &= ~BIT5; P4OUT |= BIT6; P4OUT &= ~BIT7;
delay_nms(2); //延时n个500微秒 延时n个500微秒 延时n个500微秒 延时n个500微秒
//0100
P2OUT &= ~BIT1; P2OUT &= ~BIT3; P2OUT |= BIT4; P2OUT &= ~BIT6;
delay_nms(2); //延时n个500微秒
//1100
P4OUT &= ~BIT4; P4OUT &= ~BIT5; P4OUT |= BIT6; P4OUT |= BIT7;
delay_nms(2); //
//1100
P2OUT &= ~BIT1; P2OUT &= ~BIT3; P2OUT |= BIT4; P2OUT |= BIT6;
delay_nms(2); //
//0001
P4OUT &= ~BIT4; P4OUT &= ~BIT5; P4OUT &= ~BIT6; P4OUT |= BIT7;
delay_nms(2); //
//0001
P2OUT &= ~BIT1; P2OUT &= ~BIT3; P2OUT &= ~BIT4;
延时n个500微秒延时n个500微秒 延时n个500微秒 P2OUT |= BIT6;
delay_nms(2); //延时n个500微秒 //1001
P4OUT |= BIT4; P4OUT &= ~BIT5; P4OUT &= ~BIT6; P4OUT |= BIT7;
delay_nms(2); //延时n个500微秒 //1001
P2OUT |= BIT1; P2OUT &= ~BIT3; P2OUT &= ~BIT4; P2OUT |= BIT6;
delay_nms(2); //延时n个500微秒delay_nms(2); //延时n个500微秒 } }
//a2用于步进电机左转时间角度
voidmotor2(unsignedint a2)//P4 口用于垂直走 {
unsignedint j; for(j=a2;j>0;j--) {
// 0001
P4OUT |= BIT4; P4OUT &= ~BIT5; P4OUT &= ~BIT6; P4OUT &= ~BIT7;
delay_nms1(2); //延时n个500微秒
//0011
P4OUT |= BIT4; P4OUT |= BIT5;