在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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首頁 > 嵌入式系統(tǒng) > 設計應用 > 步進電機正反轉和加速減速c源程序

            步進電機正反轉和加速減速c源程序

            作者: 時間:2012-12-05 來源:網絡 收藏

            這是一個群里朋友發(fā)給我的實現正轉反轉和的單片機c語言源程序,這里給大家共享下,有需要的朋友直接復制到keil里編譯就可以了,程序已測試成功。

            /*****************************************
            單4拍正轉 zheng[]={0x01,0x08,0x04,0x02}
            單4拍反轉 fang[]={0x01,0x02,0x04,0x08}

            雙4拍正轉 zheng[]={0x09,0x0c,0x06,0x03}
            雙4拍反轉 fang[]={0x03,0x06,0x0c,0x09}

            單雙8拍正轉 zheng[]={0x01,0x09,0x08,0x0c,0x04,0x06,0x02,0x03}
            單雙8拍反轉 fang[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}
            *****************************************/

            #include"reg51.h"
            #include"intrins.h"
            #define uchar unsigned char
            #define uint unsigned int
            bit front_move,back_move;

            uchar jzaj(void); //單4拍正轉 zheng[]={0x01,0x08,0x04,0x02}; 單4拍反轉 fang[]={0x01,0x02,0x04,0x08};
            void ajcl(uchar jz);
            void delay(uchar del);

            uchar code zheng[]={0x01,0x09,0x08,0x0c,0x04,0x06,0x02,0x03};
            uchar code fang[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};

            void timer0() interrupt 1
            {
            static uchar jz;
            TH0=0xfc;
            TL0=0x18;
            jz=jzaj();
            if(jz)
            ajcl(jz);
            }

            //程序
            //實用于51系列單片機 http://www.51hei.com首發(fā),程序運行有問題請聯(lián)系本站。
            void main()
            {
            uchar count=0;
            TMOD=0x01;
            TH0=0xFC;
            TL0=0x18;
            TR0=1;
            ET0=1;
            EA=1;
            while(1)
            {
            if(front_move)
            {
            P2=zheng[count];
            delay(100);
            count++;
            if(count==8) count=0;
            }
            if(back_move)
            {
            P2=fang[count];
            delay(100);
            count++;
            if(count==8) count=0;
            }
            }
            }

            uchar jzaj(void)
            {
            uchar hz,lz;
            P1=0xf0; //置所有行為低電平,行掃描,列線輸入(此時)
            if((P10xf0)!=0xf0) //判斷是否有有鍵按下(讀取列的真實狀態(tài),若第4列有鍵按下則P1的值會變成0111 0000),有往下執(zhí)行
            {
            delay(10); //延時去抖動(10ms)
            if((P10xf0)!=0xf0) //再次判斷列中是否是干擾信號,不是則向下執(zhí)行
            {
            hz=0xfe; //逐行掃描初值(即先掃描第1行)
            while((hz0x10)!=0) //行掃描完成時(即4行已經全部掃描完成)sccode為1110 1111 停止while程序
            {
            P1=hz; //輸出行掃描碼
            if ((P1hz)!=hz) //***(P20xf0)!=0xf0***也可這樣 本行有鍵按下(即P1(真實的狀態(tài))的高四位不全為1)
            {
            lz=(P10xf0)|0x0f; //列
            while((P10xf0)!=0xf0);
            return((~hz)|(~lz)); //返回行和列
            break; //有按鍵返回 提前退出循環(huán)

            }
            else //所掃描的行沒有鍵按下,則掃描下一行,直到4行都掃描,此時sccode值為1110 1111 退出while程序
            hz=_crol_(hz,1);//行掃描碼左移一位

            }
            }
            }
            else
            return 0; //無鍵按下,返回0
            }
            void ajcl(uchar jz)
            {
            if(jz==0x11)
            {
            back_move=0;
            front_move=1;
            }
            if(jz==0x21)
            {
            front_move=0;
            back_move=1;
            }
            if(jz==0x41)
            {
            P2=0x00;
            front_move=0;
            back_move=0;
            }

            }
            void delay(uchar del)
            {
            uchar i;
            for(;del>0;del--)
            for(i=0;i125;i++)
            {;}
            }

            c語言相關文章:c語言教程




            評論


            相關推薦

            技術專區(qū)

            關閉