在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AT89S52控制混合式步進(jìn)電機(jī) C程序

            AT89S52控制混合式步進(jìn)電機(jī) C程序

            作者: 時(shí)間:2016-11-22 來(lái)源:網(wǎng)絡(luò) 收藏
            #include<uart.h>//包含串口通信頭文件(里面含有reg52.h)

            #include//包含printf頭文件
            #define uint unsigned int
            #define uchar unsigned char

            本文引用地址:http://www.biyoush.com/article/201611/320052.htm

            sbit cp = P2^0;//脈沖輸入端
            sbit dir = P2^1;//方向控制端
            sbit free = P2^2;//脫機(jī)控制端,一般接高即可

            sbit jia_su = P1^0;//加速鍵key1聲明
            sbit jian_su = P1^1;//減速鍵key2聲明
            sbit fang_xiang = P1^2;//切換方向鍵key3聲明
            sbit ting = P1^3;//停止鍵key4聲明
            uint num;
            void uart_Init();//串口初始化子函數(shù)聲明

            void delay(uint z)//ms子函數(shù)
            {
            uint x,y;
            for(x = 0;xfor(y = 0;y<120;y++);
            }

            void delay1(uint z)//電機(jī)延時(shí)子函數(shù)us級(jí)
            {
            uint x;
            for(x = 0;x
            }

            void init()//初始化電機(jī)、串口子函數(shù)
            {
            num = 2;
            dir = 1;
            free = 1;
            uart_Init();
            }

            void key_scan()//鍵盤(pán)控制子函數(shù)
            {
            if(jia_su == 0)//判斷有加速鍵按下
            {
            delay(5);//延時(shí)消抖
            if(jia_su == 0)//再次判斷有加速鍵按下
            {
            num++;//num(代表電機(jī)轉(zhuǎn)速)增加
            if(num>4)
            {num=4;}
            while(!jia_su);//松手檢測(cè)
            delay(5);
            while(!jia_su);
            printf("num = %dn",num);//通過(guò)串口查看num值
            }
            }
            if(jian_su == 0)//判斷有減速鍵按下
            {
            delay(5);//延時(shí)消抖
            if(jian_su == 0)//再次判斷有減速鍵按下
            {
            num--;//num(代表電機(jī)轉(zhuǎn)速)減小
            if(num<1)
            {num=0;}
            while(!jian_su);//松手檢測(cè)
            delay(5);
            while(!jian_su);
            printf("num = %dn",num);//通過(guò)串口查看num值
            }
            }
            if(fang_xiang ==0)//判斷是否有方向切換鍵按下
            {
            delay(5);//延時(shí)消抖
            if(fang_xiang == 0)
            {
            dir =~dir;//方向改變
            while(!fang_xiang);//松手檢測(cè)
            delay(5);
            while(!fang_xiang);
            printf("dir = %dn",dir);
            }
            }
            if(ting ==0)//判斷是否有停止鍵按下
            {
            delay(5);//延時(shí)消抖
            if(ting == 0)
            {
            num = 0;//停止
            while(!ting);//松手檢測(cè)
            delay(5);
            while(!ting);
            }
            }

            switch(num)
            {
            case 0: cp = 1; break;//電機(jī)停止
            case 1: //以低速轉(zhuǎn)動(dòng)
            {


            cp = 1;
            delay1(20);
            cp = 0;
            delay1(20);

            }
            break;

            case 2: //以中速轉(zhuǎn)動(dòng)
            {


            cp = 1;
            delay1(15);
            cp = 0;
            delay1(15);

            }
            break;

            case 3: //以高速轉(zhuǎn)動(dòng)
            {


            cp = 1;
            delay1(10);
            cp = 0;
            delay1(10);

            }
            break;

            case 4: //以更高速轉(zhuǎn)動(dòng)
            {


            cp = 1;
            delay1(5);
            cp = 0;
            delay1(5);

            }
            break;
            }

            }
            void main()
            {
            init();//調(diào)用初始化子函數(shù)
            while(1)
            {
            key_scan();//不停鍵盤(pán)掃描
            }

            }



            評(píng)論


            技術(shù)專(zhuān)區(qū)

            關(guān)閉