步进电机正反转

来源:互联网 发布:网络热搜词 编辑:程序博客网 时间:2024/05/15 18:20

main.c

#include<reg51.h>#include<function.h>#include<keyscan.h>#define speed 1sbit PH1 = P1^0;      //定义管脚sbit PH2 = P1^1;sbit I01 = P1^2;sbit I11 = P1^3;sbit I02 = P1^4;sbit I12 = P1^5;void delay(int time){   int i,j;  for(j=0; j <= time; j++)   for(i =0 ; i <= 120; i++);}void init(){    PH1 = 0;    I01 = 0;    I11 = 0;    PH2 = 1;    I02 = 1;    I12 = 1;    delay(speed);    PH1 = 0;    I01 = 0;    I11 = 0;    PH2 = 1;    I02 = 1;    I12 = 1;    delay(speed);   }void Go1() //    !a=>!b=>a=>b=>!a{    PH1 = 0;    I01 = 0;    I11 = 0;    PH2 = 0;    I02 = 1;    I12 = 1;    delay(speed);//okay;     PH1 = 1;    I01 = 1;    I11 = 1;    PH2 = 0;    I02 = 0;    I12 = 0;    delay(speed);    PH1 = 1;    I01 = 0;    I11 = 0;    PH2 = 1;    I02 = 1;    I12 = 1;    delay(speed);    PH1 = 0;    I01 = 1;    I11 = 1;    PH2 = 1;    I02 = 0;    I12 = 0;    delay(speed);    PH1 = 0;    I01 = 0;    I11 = 0;    PH2 = 0;    I02 = 1;    I12 = 1;    delay(speed);}void Go2(){    PH1 = 0;    I01 = 0;    I11 = 0;    PH2 = 1;    I02 = 1;    I12 = 1;    delay(speed);       PH1 = 1;    I01 = 1;    I11 = 1;    PH2 = 1;    I02 = 0;    I12 = 0;    delay(speed);    PH1 = 1;    I01 = 0;    I11 = 0;    PH2 = 0;    I02 = 1;    I12 = 1;    delay(speed);    PH1 = 0;    I01 = 1;    I11 = 1;    PH2 = 0;    I02 = 0;    I12 = 0;    delay(speed);    PH1 = 0;    I01 = 0;    I11 = 0;    PH2 = 1;    I02 = 1;    I12 = 1;    delay(speed);}void main(){    uchar key;    initialKeyScan();    init();    while(1)    {        key = keyScan();        switch(key)        {            case 0x00:{Go1(); break;}            case 0x01:{Go2(); break;}        }        key = 0x10;    }}
0 0
原创粉丝点击