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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2052|回復: 1
打印 上一主題 下一主題
收起左側

電機的正反轉

[復制鏈接]
跳轉到指定樓層
樓主

                                  #include<reg52.h>
                                  #include<math.h>
                                  #define uchar  unsigned char
                                  #define unit unsigned int
                                  sbit  EN1=P1^0;
                                  sbit  EN2=P1^1;
                                  sbit  F1=P1^2;
                                  sbit  F2=P1^3;
                                  sbit  F3=P1^4;
                                  sbit  F4=P1^5;
                                  sbit  S1=P2^0;
                                  sbit  S2=P2^1;
                                  sbit  S3=P2^2;
                                  sbit  S4=P2^3;
                                  sbit  S5=P2^4;
                                  uchar t=0;                         //中斷計數器
                                  uchar Cycle=100;                 //確定PWM周期
                                  uchar speed2=50;  //電動機速度值
                                /*T0初始化*/
                                  T0_ini()
                                  {
                                  TMOD=0x02;
                                  TH0=0xA3;
                                  TL0=0xA3;
                                  EA=1;
                                  ET0=1;
                                  TR0=1;
                                  }
                                /*電動機控制*/
                                  void main()
                                  {
                                     EN1=1;EN2=1;                        //使能端有效
                                         T0_ini();                                //T0初始化
                                         while(1)
                                         {
                                         if(S1==0){speed2=50;}          //停
                                         if(S2==0){speed2=60;}          //加
                                         if(S3==0){speed2=50;}          //減
                                         if(S4==0){speed2=60;}          //正
                                         if(S5==0){speed2=40;}          //反
                                         }
                                         }
                                  /*T0中斷程序,產生PWM信號,控制電機*/
                                         void timer0()interrupt 1
                                         {
                                          if(t<speed2){F3=1;F4=0;}                   // 產生電動機2的PWM信號,控制轉速方向
                                          else{F3=0;F4=1;}
                                          t++;
                                          if(t>=Cycle)t=0;                                        //1個PWM信號由100次中斷產生 1個PWM周期為0.1ms*100=10ms
                                          }

@L{A0K9J5O(35~Z}MTUNCYG.png (40.42 KB, 下載次數: 32)

@L{A0K9J5O(35~Z}MTUNCYG.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:249545 發表于 2018-4-19 09:31 | 只看該作者
請問老師:這個電機的正反轉,是步進電機,還是普通碳刷電機?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表