亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? text2.c

?? 基于51單片機pwm直流調速系統 c語言編程
?? C
字號:


//-----------------------函數聲明,變量定義--------------------------------------------------------
#include <reg51.h>
sbit INT_0 =P1^2;              // 將p3.2外部中斷0
sbit pulse_A=P1^2;               // P1.2為脈沖A輸入
sbit PWM=P1^0;                   //PWM波形輸出 
sbit DR=P1^1;                    //方向控制
//-----------------------預定義值--------------------------------------------------------
#define PWM_T 1800              //定義PWM的周期T為18ms
#define Ts    1000              //定義光電編碼器采樣時間為10ms
#define  timer_data  (256-10) //定時器預置值,12M時鐘是,定時0.01ms
//-----------------------預設定值--------------------------------------------------------
bit direction;                  //方向標志位               用戶設定
unsigned char R;                //需要得到的直流電機轉速   用戶設定
//-----------------------實際運行狀態--------------------------------------------------------
bit real_direction;             //電機實際運行方向   
unsigned char Rr;               //直流電機實際轉速
//-----------------------計算所得補償狀態------------------------------------------
bit    compensate_polarity;     //補償極性
unsigned char dR;               //轉速補償
//-----------------------經補償后得到的脈寬------------------------------------------
unsigned char PWM_t;            //PWM_t為脈沖寬度(320~400)時間為3.2~4.0ms
unsigned char PWM_count;        //輸出PWM周期計數
//-----------------------各中間計數值------------------------------------------
unsigned char pulseB_count;     //脈沖計數
unsigned char time0_count;      //定時計數
unsigned char time1_count;      //定時計數
//--------------------------------------------------------------------------------------------------
// 函數名稱:timer_init
// 函數功能:初始化設置定時器
//--------------------------------------------------------------------------------------------------
void timer_init()
     {
   TMOD=0x22; /*定時器1為工作模式2(8位自動重裝),0為模式2(8位自動重裝) */
      PCON=0x00;
      TF0=0; 
      TH0=timer_data;   //保證定時時長為0.01ms
      TL0=TH0;
   TH1=timer_data;   //保證定時時長為0.01ms
      TL1=TH0;
      ET0=1;            //定時器0中斷允許
   TR0=1;            //定時器0開始計數
   ET1=1;            //定時器1中斷允許
   TR1=1;            //定時器1開始計數
      EA=1;             //中斷允許
   }
//--------------------------------------------------------------------------------------------------
// 函數名稱: INT0_init()
// 函數功能: 初始化設置
//            設定INT0的工作方式
//--------------------------------------------------------------------------------------------------
void INT0_init(void )  
             {
    pulseB_count=0;        //脈沖計數器清零
              IT0=1;     //選擇INT0為沿觸發方式
              EX0=1;     //外部中斷允許
              EA=1;      //系統中斷允許
              }
//--------------------------------------------------------------------------------------------------
// 函數名稱:setting_PWM
// 函數功能:設置PWM的脈沖寬度和設定方向
//--------------------------------------------------------------------------------------------------
void setting_PWM()
      {
 // direction=1;  //設定轉動方向
 // R=540;        //設定轉速
 // dR=0;         //轉速補償為零
 // calculate_PWM_t();      //重新計算脈寬
   }
//--------------------------------------------------------------------------------------------------
// 函數名稱: calculate_PWM_t
// 入口參數: R需要得到的直流電機轉速,dR轉速補償
// 出口參數: PWM_t為脈沖寬度(320~400)時間為3.2~4.0ms
// 函數功能: 計算脈沖寬度,PWM_t=R/150;
//--------------------------------------------------------------------------------------------------
void calculate_PWM_t()
              {
      if(compensate_polarity==1) //正補償
               PWM_t=(R+dR)/150;
      else
       PWM_t=(R-dR)/150;        //負修正
      }
//--------------------------------------------------------------------------------------------------
// 函數名稱: calculate_Rr
// 入口參數: pulseB_count脈沖計數
// 出口參數: Rr直流電機實際轉速
// 函數功能: 計算實際轉速
//--------------------------------------------------------------------------------------------------
void calculate_Rr()
              {
               Rr=pulseB_count/6;
      }
//--------------------------------------------------------------------------------------------------
// 函數名稱: compensate_dR
// 入口參數: Rr直流電機實際轉速
//            R需要得到的直流電機轉速
// 出口參數: dR轉速補償
// 函數功能: 計算實際補償值和補償極性 ,根據不同的補償算法重新設計
//--------------------------------------------------------------------------------------------------
void compensate_Rr()
              {
              Rr=1;
              if(Rr>R)
      compensate_polarity=0;     //補償極性
     else 
               compensate_polarity=1;
      }
//--------------------------------------------------------------------------------------------------
// 函數名稱: INT0_intrupt
// 函數功能: 外部中斷0處理程序
//--------------------------------------------------------------------------------------------------
void INT0_intrupt() interrupt 0 using 1
        {
  pulseB_count++;
        if(pulse_A==0)
          {   
          real_direction=1;  //若P1.2為低電平,則電機為正轉,計數器N的值加1
          }
        else                //若為高電平,則電機為反轉,計數器N值減l。
           {
            real_direction=1;
          }
}
//--------------------------------------------------------------------------------------------------
// 函數名稱:IntTimer0
// 函數功能:定時器中斷處理程序
//--------------------------------------------------------------------------------------------------
void IntTimer0() interrupt 1
              {
     time0_count++;
              DR=direction;
     if(time0_count>=PWM_T)
              {
     time0_count=0;
     PWM_count++;
     setting_PWM();  //每輸出一個PWM波調用一次
     }
     if(time0_count<PWM_t)
     PWM=1;
     else 
     PWM=0;
     }
//--------------------------------------------------------------------------------------------------
// 函數名稱:IntTimer1
// 函數功能:定時器中斷處理程序
//--------------------------------------------------------------------------------------------------
void IntTimer1() interrupt 3
              {
     time1_count++;
     if(time1_count==1)
              {
     INT0_init();           //初始化外部中斷設置
     }
     if(time1_count>=Ts)
     {
     time1_count=0;          //一個補償周期結束,計數器清零
     calculate_Rr();         //計算實際轉速
     compensate_Rr();        //計算實際補償值和補償極性
     calculate_PWM_t();      //重新計算脈寬
     }
     }
//--------------------------------------------------------------------------------------------------
// 函數名稱:main
// 用戶主函數
// 函數功能:主函數
//--------------------------------------------------------------------------------------------------
void main()
     {
     direction=1;  //設定轉動方向
  R=540;        //設定轉速
  dR=0;         //轉速補償為零
  calculate_PWM_t();      //重新計算脈寬
  timer_init();
  }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩另类一区| 欧美日韩国产在线播放网站| 精品日韩一区二区三区| 美国一区二区三区在线播放| 精品福利在线导航| 精品国产123| 国产成人综合精品三级| 欧美国产日本视频| 99久久综合国产精品| 一区二区三区在线视频免费观看| 色婷婷久久一区二区三区麻豆| 亚洲资源中文字幕| 日韩视频永久免费| 成人午夜在线播放| 亚洲一卡二卡三卡四卡五卡| 在线不卡中文字幕播放| 久久精品国产99国产精品| 日本一区二区视频在线观看| 91美女片黄在线观看| 午夜久久久久久久久久一区二区| 337p亚洲精品色噜噜噜| 国产成人免费高清| 亚洲一区二区四区蜜桃| 精品少妇一区二区三区在线视频| www.激情成人| 日本亚洲最大的色成网站www| 久久久精品一品道一区| 欧美中文字幕一二三区视频| 黄一区二区三区| 国产精品18久久久久久久久久久久 | 欧美日韩在线播放三区| 老司机午夜精品| 亚洲手机成人高清视频| 日韩欧美在线网站| 91丨九色porny丨蝌蚪| 美女mm1313爽爽久久久蜜臀| 亚洲人xxxx| 26uuu亚洲婷婷狠狠天堂| 欧美在线综合视频| 国产不卡在线一区| 蜜臀av亚洲一区中文字幕| 自拍偷拍亚洲欧美日韩| xvideos.蜜桃一区二区| 欧美日韩卡一卡二| 99视频一区二区| 激情综合色丁香一区二区| 亚洲综合一二区| 国产精品护士白丝一区av| 欧美一级欧美一级在线播放| 97精品国产露脸对白| 激情久久久久久久久久久久久久久久| 亚洲人成影院在线观看| 久久免费美女视频| 欧美一级专区免费大片| 欧洲一区二区三区免费视频| 福利电影一区二区三区| 麻豆freexxxx性91精品| 亚洲欧美激情在线| 中文字幕乱码亚洲精品一区| 亚洲精品在线观| 日韩视频一区二区三区在线播放| 欧洲一区在线电影| 91在线一区二区三区| 大桥未久av一区二区三区中文| 久久se精品一区精品二区| 日韩影院免费视频| 亚洲成a人片在线不卡一二三区| 国产精品美女久久福利网站 | 精品国产精品网麻豆系列| 精品视频一区二区三区免费| 日本黄色一区二区| 91丝袜美女网| 色天使色偷偷av一区二区| 91视频一区二区三区| 91视频国产观看| 在线亚洲高清视频| 欧美午夜精品久久久久久超碰| 在线免费av一区| 欧美性色黄大片| 欧美日本高清视频在线观看| 欧美二区在线观看| 欧美一级理论片| 精品久久国产老人久久综合| 久久久无码精品亚洲日韩按摩| 日韩精品一区二区三区视频在线观看| 日韩欧美区一区二| 久久久99久久| 国产精品美女久久久久久久久久久| 亚洲国产精品激情在线观看| 国产精品免费视频一区| 亚洲啪啪综合av一区二区三区| 夜夜精品浪潮av一区二区三区| 亚洲一区二区三区四区五区黄| 亚洲v日本v欧美v久久精品| 天天射综合影视| 精品午夜久久福利影院| 成人综合在线观看| 色综合久久综合中文综合网| 欧美性猛片aaaaaaa做受| 欧美一区二区福利视频| www国产精品av| 亚洲男人的天堂在线观看| 91精品办公室少妇高潮对白| 欧美在线观看18| 精品久久人人做人人爽| 中文欧美字幕免费| 亚洲一二三四在线| 青青草精品视频| 国产91丝袜在线18| 欧美手机在线视频| 亚洲精品一区二区三区影院| 国产精品久久精品日日| 日日夜夜免费精品视频| 成人午夜在线视频| 51久久夜色精品国产麻豆| 日本一区二区三区四区在线视频| 亚洲精品乱码久久久久久| 久久精品72免费观看| av激情成人网| 日韩三级电影网址| 中文字幕字幕中文在线中不卡视频| 日韩黄色免费电影| 99久久国产综合精品色伊| 欧美性猛交xxxx黑人交| 久久久久久免费毛片精品| 亚洲午夜免费电影| 丁香天五香天堂综合| 在线综合视频播放| 亚洲免费观看在线观看| 国产精一区二区三区| 5月丁香婷婷综合| 亚洲特黄一级片| 国产精品原创巨作av| 欧美妇女性影城| 亚洲激情综合网| 丁香桃色午夜亚洲一区二区三区| 3atv在线一区二区三区| 亚洲女同一区二区| 成人在线视频一区二区| 91精品国产一区二区人妖| 亚洲日本va午夜在线影院| 国产成人免费网站| 日韩美女在线视频| 视频一区二区欧美| 欧美在线啊v一区| 日韩毛片精品高清免费| 国产精品1024| 久久免费偷拍视频| 久久99精品网久久| 日韩视频一区二区三区| 午夜视频一区二区三区| 色综合天天做天天爱| 国产精品女上位| 高清不卡在线观看| 国产无遮挡一区二区三区毛片日本| 日韩成人精品在线| 欧美乱妇15p| 午夜一区二区三区视频| 91国偷自产一区二区开放时间| 中文字幕免费观看一区| 国产成a人亚洲精品| 国产三级一区二区| 国产69精品久久久久毛片| 久久久五月婷婷| 国产一区二区三区在线观看免费| 欧美va在线播放| 国产在线视频一区二区| 亚洲精品在线电影| 国产成人精品免费视频网站| 国产午夜精品一区二区三区视频| 久久精品国产免费看久久精品| 亚洲六月丁香色婷婷综合久久| 91丨porny丨国产| 一区二区三区日韩欧美| 欧美午夜电影在线播放| 亚洲福利视频一区二区| 欧美日韩高清在线| 日本欧美一区二区| 久久亚洲精品小早川怜子| 国产成人精品网址| 国产精品久久久久毛片软件| 91在线看国产| 婷婷综合五月天| 精品乱人伦小说| 丁香一区二区三区| 一区二区三区在线免费| 欧美日韩你懂得| 久久99久久99精品免视看婷婷| 国产喂奶挤奶一区二区三区| av毛片久久久久**hd| 亚洲第一福利一区| 欧美电视剧免费全集观看| 国产99久久久久久免费看农村| 亚洲丝袜自拍清纯另类| 7777精品久久久大香线蕉| 国产高清不卡二三区| 亚洲三级在线观看| 91精品国产一区二区三区蜜臀 | 2021久久国产精品不只是精品| 国产精品99久久久久久有的能看 |