程序主要内容 首先按键选择模式 然后根据对应的模式进行相应的延时 最后都驱动电机旋转 程序如果有错希望帮我改正
- #include<reg52.h>
- #include<stdio.h>
- #include<intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};
- uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};
- uint F_key;
- sbit KEY1 = P3^0;
- sbit KEY2 = P3^1;
- sbit KEY3 = P3^2;
- sbit KEY4 = P3^3;
- void delay(uint t)
- {
- uint k;
- while(t--)
- {
- for(k=0; k<125; k++)
- { ;}
- }
- }
- void motor_ffw(uint n)
- {
- uchar i;
- uint j;
- for (j=0; j<12*n; j++)
- {
- for (i=0; i<8; i++)
- {
- P1 = FFW[i];
- delay(15);
- }
- }
- }
- void motor_rev(uint n)
- {
- uchar i;
- uint j;
- for (j=0; j<12*n; j++)
- {
- for (i=0; i<8; i++)
- {
- P1 = REV[i];
- delay(15);
- }
- }
- }
-
- void main()
- {
- if(KEY1==0)
- {
- if(F_key==0)
- {
- F_key=1;
-
- {
- uint i=0;
- uchar j=0;
- while(1)
- {
- delay(10);
- i++;
- if(i==30000)
- {
- i=0;
- j++;
- }
- if(j==3)
- {
- motor_ffw(5);
- delay(5000);
- motor_rev(5);
- delay(1000);
- }
- }
- }
- }
- }
- else
- if( F_key==1)
- {
- F_key=0;
- }
- if(KEY2==0)
- {
- if( F_key==0)
- {
- F_key=2;
- {
- uint i=0;
- uchar j=0;
- while(1)
- {
- delay(10);
- i++;
- if(i==30000)
- {
- i=0;
- j++;
- }
- if(j==1)
- {
- motor_ffw(5);
- delay(5000);
- motor_rev(5);
- delay(1000);
- }
- }
- }
-
- }
- }
- else
- if( F_key==2)
- {
- F_key=0;
- }
- if(KEY3==0)
- {
- if( F_key==0)
- {
- F_key=3;
- {
- uint i=0;
- uchar j=0;
- while(1)
- {
- delay(10);
- i++;
- if(i==30000)
- {
- i=0;
- j++;
- }
- if(j==2)
- {
- motor_ffw(5);
- delay(5000);
- motor_rev(5);
- delay(1000);
- }
- }
- }
- }
- }
- else
- if( F_key==3)
- {
- F_key=0;
- }
- if(KEY4==0)
- {
- if( F_key==0)
- {
- F_key=4;
- while(1)
- {
- motor_ffw(5);
- delay(5000);
- motor_rev(5);
- delay(1000);
- }
- }
- else
- if( F_key==1)
- {
- F_key=0;
- }
- }
- }
复制代码
|