欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 求補全程序的電路原理圖,源碼,詳細說明與圖片 [打印本頁]

作者: 斯文的狂野    時間: 2020-10-9 23:38
標題: 求補全程序的電路原理圖,源碼,詳細說明與圖片
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int

sbit PUL=P1^0;                 //脈沖輸出
sbit DIR2=P2^1;                 //正反轉控制
sbit zz=P3^0;                 //正轉按鍵zz
sbit fz=P3^1;                 //反轉按鍵fz
//sbit hw=P1^1;                  //紅外接收
sbit k1=P3^2;                 //加速
sbit k2=P3^3;                 //減速

sbit LED1=P2^5;
sbit LED2=P2^6;
sbit LED3=P2^7;
uchar k=0;

   

        void delay(uint i)             //延時函數(P1^0口PWM輸出)
{
                while(i--);
}

                                                               
        void motorsd(void)                                  //電機調速,分4檔頻率分別為5HZ、7HZ、12.5HZ、50HZ
{

        if(k1==0)
        {
                delay(2000);
                        if(k1==0)
                        {
                                if(k<60)
                                {
                                        k=k+20;
                                }
                                else{k=0;}
                         while(!k1);
                        }
                //while(!k1);

         }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        if(k2==0)
        {
                        delay(2000);
                        if(k2==0)
                        {
                                if(k>0)
                                {
                                        k=k-20;
                                }
                                        else{k=60;}
                                              while(!k2) ;
                                }
                        //           while(!k2) ;
                        }
}  




        void main()                                          //主函數
{        


                 if(zz==0)                         //正轉按下,LED1亮,電機正轉
                 {
                        LED1=0;
                        LED2=1;
                        LED3=1;
                         DIR2=0;
                           while(1)
                        {
                                motorsd();
                                PUL=0;
                                delay(70-k);
                                PUL=1;
                                delay(70-k);
                                if(fz==0)                                           //正轉過程按下反轉跳出循環,電機反轉
                                {
                                        break;
                                }
                        }
               
         }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


                 if(fz==0)                           //按下反轉,LED2亮,電機反轉
                 {
                        LED2=0 ;
                        LED1=1;
                        LED3=1;
                         DIR2=1;
                           while(1)
                        {
                                motorsd();
                                PUL=0;
                                delay(70-k);
                                PUL=1;
                                delay(70-k);
                                if(zz==0)                                                //反轉過程中按下正轉,跳出循環電機正轉
                                {
                                        break;
                                }
                        }
                }
                }               
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1