wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機STC15W408AS電調程序詳解

  [復制鏈接]
跳轉到指定樓層
樓主
看了大概一個月的程序,基本理解了,根據自己的理解對程序做了詳盡注釋,希望能夠幫助后來者。接下來要學習ppm信號,希望能夠很快對接起來。
電路原理圖如下:


單片機源程序如下:
  1. /***************************功能說明***************************

  2. 本程序試驗使用STC15W408AS來驅動航模用的無感無刷三相直流馬達.

  3. 本程序參考自網上的代碼(作者: 瑞生), 改良而來.

  4. 電路圖見文件 "BLDC-V10-實驗電路.pdf".

  5. 控制信號由P3.2輸入正脈沖信號, 間隔5~20ms, 脈沖寬度1.000~1.610ms.

  6. 1.160ms開始啟動, 1.610ms為最高速度, 分辨率為2us.

  7. 本程序僅僅是簡單控制, 軟件沒有處理過0延時30度切換和過流檢測.

  8. 由于過0檢測部分有RC濾波, 所以改變電容值可以大約的對應在最高速時延時30度的時間.

  9. 有意者可自行完善電路和程序.

  10. *********************************************************************************/

  11. #define MAIN_Fosc                24000000L        //定義主時鐘

  12. #include "STC15Fxxxx.H"

  13. //CMPCR1(比較器控制寄存器 1)
  14. #define        CMPEN        0x80        //1: 允許比較器, 0: 禁止,關閉比較器電源
  15. #define        CMPIF        0x40        //比較器中斷標志, 包括上升沿或下降沿中斷, 軟件清0
  16. #define        PIE                0x20        //1: 比較結果由0變1, 產生上升沿中斷
  17. #define        NIE                0x10        //1: 比較結果由1變0, 產生下降沿中斷
  18. #define        PIS                0x08        //輸入正極性選擇, 0: 選擇外部P5.5做正輸入,           1: 由ADCIS[2:0]所選擇的ADC輸入端做正輸入.
  19. #define        NIS                0x04        //輸入負極性選擇, 0: 選擇內部BandGap電壓BGv做負輸入, 1: 選擇外部P5.4做輸入.
  20. #define        CMPOE        0x02        //1: 允許比較結果輸出到P1.2, 0: 禁止.
  21. #define        CMPRES        0x01        //比較結果, 1: CMP+電平高于CMP-,  0: CMP+電平低于CMP-,  只讀

  22. //CMPCR2(比較器控制寄存器 2)
  23. #define        INVCMPO        0x80        //1: 比較器輸出取反,  0: 不取反
  24. #define        DISFLT        0x40        //1: 關閉0.1us濾波,   0: 允許
  25. #define        LCDTY        0x00        //關閉數字濾波功能. 數字濾波功能即為數字信號去抖動功能.

  26. sbit PWM0_L = P3^4;
  27. sbit PWM1_L = P3^5;
  28. sbit PWM2_L = P3^6;

  29. u8        Step;
  30. u8        PWM_Value; // 決定PWM占空比的值
  31. u16        RxPulseWide;
  32. bit        B_RxOk;    //定義一個bool量.
  33. bit        B_RUN;
  34. u8        PWW_Set;
  35. u8        cnt10ms;
  36. u8        Rx_cnt;
  37. u8        TimeOut;        //堵轉超時

  38. #define DISABLE_CMP_INT CMPCR1 &= ~0X40                // 比較器中斷標志位清0.
  39. #define ENABLE_CMP_INT  CMPCR1 |= 0X40                // 比較器中斷標志位置1.

  40. /*********************************************************************/

  41. void Delay_n_ms(u8 dly)
  42. {
  43.         u16        j;
  44.         do
  45.         {
  46.                 j = MAIN_Fosc / 13000;        //延時1ms, 主程序在此節拍下運行
  47.                 while(--j)        ;
  48.         }
  49.         while(--dly);
  50. }


  51. void delay_us(u8 us)
  52. {
  53.         do
  54.         {
  55.                 NOP(20);        //@24MHz
  56.         }
  57.         while(--us);
  58. }

  59. void StepXL(void) // 換相序列函數
  60. {
  61. switch(Step)
  62.           {
  63.            case 0:  // AB
  64.                                 PWM0_L=0;  PWM1_L = 1;  PWM2_L=0;           // Q4常開.
  65.                                 CCAP0H = PWM_Value;        CCAP1H=0;        CCAP2H=0;        // A相由占空比控制.
  66.                                 ADC_CONTR = 0XCD;        // ADC電源開,ADC轉換開,選擇P1.5作為ADC輸入口
  67.                                 CMPCR1 = 0x9C;                // 比較器使能, 下降沿中斷允許,通過ADC的P1.5口作為比較器的正極輸入端,
  68.                                                                                                                                  //選擇外部端口P5.4作為比較器負極輸入端.
  69.                  break;
  70.            case 1:  // AC
  71.                                 PWM0_L=0;        PWM1_L=0;  PWM2_L = 1;                        // Q4常開
  72.                                 CCAP0H = PWM_Value;        CCAP1H=0;        CCAP2H=0;        // A相由占空比控制.
  73.                                 ADC_CONTR = 0XCC;        // ADC電源開,ADC轉換開,選擇P1.4作為ADC輸入端
  74.                                 CMPCR1 = 0xAC;                // 比較器使能, 上升沿中斷允許,通過ADC的P1.4口作為比較器的正極輸入端
  75.                                                                                                                                  //選擇外部端口P5.4作為比較器負極輸入端.   
  76.                   break;
  77.            case 2:  // BC
  78.                                 PWM0_L=0;        PWM1_L=0;  PWM2_L = 1;                        // Q2常開
  79.                                 CCAP0H=0;        CCAP2H=0;        CCAP1H = PWM_Value; //  B相由占空比控制.                       
  80.                                 ADC_CONTR = 0XCB;   // ADC電源開,ADC轉換開,選擇P1.3作為ADC輸入口測量A點電壓   
  81.                                 CMPCR1 = 0x9C;                // 比較器使能, 下降沿中斷允許,通過ADC的P1.3口作為比較器的正極輸入端
  82.                                                                                                                                  //選擇外部端口P5.4作為比較器負極輸入端.
  83.                   break;
  84.            case 3:  // BA
  85.                                 PWM0_L = 1;  PWM1_L=0;        PWM2_L=0;                        // Q6常開
  86.                                 CCAP0H=0;        CCAP2H=0;        CCAP1H = PWM_Value; // B相由占空比控制.
  87.                                 ADC_CONTR = 0XCD;        // ADC電源開,ADC轉換開,選擇P1.5作為ADC輸入口測量C點電壓  
  88.                                 CMPCR1 = 0xAC;                // 比較器使能, 上升沿中斷允許,通過ADC的P1.5口作為比較器的正極輸入端
  89.                                                                                                                                  //選擇外部端口P5.4作為比較器負極輸入端.                       
  90.                   break;
  91.            case 4:  // CA
  92.                                 PWM0_L = 1;        PWM1_L=0;        PWM2_L=0;                    // Q6常開
  93.                                 CCAP0H=0;        CCAP1H=0;        CCAP2H = PWM_Value; // C相由占空比控制.
  94.                                 ADC_CONTR = 0XCC;        // ADC電源開,ADC轉換開,選擇P1.4作為ADC輸入口測量B點電壓
  95.                                 CMPCR1 = 0x9C;                // 比較器使能, 下降沿中斷允許,通過ADC的P1.4口作為比較器的正極輸入端
  96.                                                                                                                                  //選擇外部端口P5.4作為比較器負極輸入端.
  97.                   break;
  98.            case 5: // CB
  99.                                 PWM0_L=0;        PWM2_L=0;  PWM1_L = 1;                        // Q4常開
  100.                                 CCAP0H=0;        CCAP1H=0;        CCAP2H = PWM_Value; // C相由占空比控制.                     
  101.                                 ADC_CONTR = 0XCB;        // ADC電源開,ADC轉換開,選擇P1.3作為ADC輸入口測量A點電壓  
  102.                                 CMPCR1 = 0xAC;                // 比較器使能, 上升沿中斷允許,通過ADC的P1.3口作為比較器的正極輸入端
  103.                                                                                                                                  //選擇外部端口P5.4作為比較器負極輸入端.       
  104.                   break;
  105.            default:
  106.                   break;
  107.           }       
  108. }

  109. /***************************************************************
  110. *                      PCA模塊PWM輸出設置                      *
  111. ***************************************************************/
  112. void PWM_Init(void)
  113. {
  114.         PWM0_L = 0;     // 初始化P3^4為低電平.sbit PWM0_L = P3^4;
  115.         PWM1_L = 0;     // 初始化P3^5為低電平.sbit PWM1_L = P3^5;
  116.         PWM2_L = 0;     // 初始化P3^6為低電平.sbit PWM2_L = P3^6;
  117.        
  118.         P3n_push_pull(0x70);    // 設置P3.4/3.5、3.6為推挽輸出.  P3M1 &= ~(bitn),        P3M0 |=  (bitn)
  119.          
  120.         CMOD = 5 << 1;  //5(0101)左移1位,設置PCA的輸入時鐘源為系統時鐘的1/4,即PWM頻率=24M/4.

  121.         CH=0;                     // PCA(Programmable Counter Array)清零
  122.         CL=0;            //  
  123.        
  124.         PCA_PWM0 = 0X00; // 對PCA_PWM0模塊0清0,并設置PWM為8位(EBS0[1:0]=00).
  125.         CCAP0H = 0x00;   // 重載值為{EPCnH,CCAPnH[7:0]}.
  126.         CCAP0L = 0x00;   // 比較值為{EPCnL,CCAPnL[7:0]}.
  127.         CCAPM0 = 0x42;         // 設置PCA模塊0的控制模式(0100 0010).ECOM0=1,允許PCA模塊0的比較功能.
  128.                          // PWM0=1,設置PCA模塊0為脈寬調制輸出功能.
  129.                          // 當PCA 模塊工作在8位PWM模式時,{0,CL[7:0]}與{EPCnL,CCAPnL[7:0]}
  130.                      // 中的值進行比較,小于,輸出低電平,大于等于輸出高電平.       
  131.         PCA_PWM1 = 0X00; // 對PCA_PWM0模塊0清0,并設置PWM為8位(EBS0[1:0]=00).
  132.         CCAP1H = 0x00;   // 重載值為{EPCnH,CCAPnH[7:0]}.
  133.         CCAP1L = 0x00;   // 比較值為{EPCnL,CCAPnL[7:0]}.
  134.         CCAPM1 = 0x42;         // 設置PCA模塊1的控制模式(0100 0010).ECOM0=1,允許PCA模塊1的比較功能.
  135.                          // PWM1=1,設置PCA模塊1為脈寬調制輸出功能.
  136.                          // 當PCA 模塊工作在8位PWM模式時,{0,CL[7:0]}與{EPCnL,CCAPnL[7:0]}
  137.                      // 中的值進行比較,小于,輸出低電平,大于等于輸出高電平.                                                 
  138.         PCA_PWM2 = 0X00; // 對PCA_PWM2模塊進行設置.其中,EBS2[1:0]=00,PWM為8位.
  139.         CCAP2H = 0x00;   // 重載值為{EPCnH,CCAPnH[7:0]}.
  140.         CCAP2L = 0x00;   // 比較值為{EPCnL,CCAPnL[7:0]}.
  141.         CCAPM2 = 0x42;         // 設置PCA模塊2的控制模式(0100 0010).ECOM0=1,允許PCA模塊2的比較功能.
  142.                          // PWM2=1,設置PCA模塊2為脈寬調制輸出功能.
  143.                          // 當PCA 模塊工作在8位PWM模式時,{0,CL[7:0]}與{EPCnL,CCAPnL[7:0]}
  144.                      // 中的值進行比較,小于,輸出低電平,大于等于輸出高電平.                                         
  145.         CR = 1;          // PCA計數允許控制位,1:啟動PCA計數.
  146. }

  147. void ADC_Init(void)
  148. {
  149.         P1n_pure_input(0x38);  // 設置P1.3/1.4/1.5口為高阻輸入(電流既不能流入也不能流出).P1M1 |=  (bitn),        P1M0 &= ~(bitn)
  150.         P1ASF = 0X38;          // 開通P1.3 P1.4 P1.5的AD輸入口(0011 1000)
  151. }

  152. /***************************************************************
  153. *                      比較器中斷服務函數                      *
  154. ***************************************************************/

  155. void CMP_INT(void) interrupt 21
  156. {
  157.         CMPCR1 &= ~0X40;       // 軟件清除中斷標志位
  158.         if(Step<5)        Step++;
  159.         else                Step = 0;
  160.         StepXL();              // 進入換相程序. 在換相程序中,已經對比較器的正負極輸入端做了設置.
  161.                                // ADC的P1.4/P1.5/P1.6口作為比較器的正極輸入端,選擇外部端口P5.4作為比較器負極輸入端.                                                                                                                                           
  162.         TimeOut = 10;               // 在執行完比較器中斷函數后,賦值TimeOut=10.
  163. }

  164. /***************************************************************
  165. *                      比較器初始化設置                        *
  166. ***************************************************************/
  167. void CMP_Init(void)
  168. {
  169.         CMPCR1 = 0X8C;        // 1000 1100 比較器使能,比較器正負極輸入端設置, 通過ADC_CHS位選擇比較器的正極輸入端,選擇P5.4作為負極.
  170.         CMPCR2 = 60;        // 60個時鐘濾波
  171.         P5n_pure_input(0x10);  // 設置P5.4口為高阻輸入(電流既不能流入也不能流出).P5M1 |=  (bitn),        P5M0 &= ~(bitn)
  172. }

  173. /***************************************************************
  174. *                         電機啟動函數                         *
  175. ***************************************************************/
  176.     u8 StartMotor(void)
  177. {
  178.         u16 timer,i;
  179.         DISABLE_CMP_INT;        // 比較器中斷標志位清0,不產生比較中斷.
  180.         PWM_Value = 30;                // 設置占空比初值
  181.         Step = 0;
  182.         StepXL();                        // ∵step=0, ∴ 進入AB相導通的初始位置
  183.         Delay_n_ms(5);      // 延時5ms
  184.         timer = 300;

  185.         while(1)
  186.         {
  187.                 for(i=0; i<timer; i++)        delay_us(50);  
  188.                 timer -= timer /15 + 1;
  189.                 if(timer < 25)        return(1);
  190.                 if( Step < 5)        Step++;
  191.                 else                        Step = 0;
  192.                 StepXL();
  193.         }
  194. }

  195. /***************************************************************
  196. *                      定時器T0初始化函數                      *
  197. ***************************************************************/
  198. void T0_Init(void)      // 這里設置TH0/TL0=0,定時器T0為16位不自動重載,
  199. {
  200.         Timer0_AsTimer();        // 設置定時器T0用做定時器. TMOD &= ~(1<<2)       
  201.         Timer0_12T();                // 定時器0 12分頻. AUXR &= ~(1<<7)
  202.         Timer0_16bit();     // 定時器0 16位不自動重載模式. TMOD  = (TMOD & ~0x03) | 0x01   
  203.         Timer0_Gate_INT0_P32();        // T0_GATE置1, 只有在INT0腳為高及TR0=1時才可啟動定時器T0.TMOD |=  (1<<3).
  204.         TH0 = 0;
  205.         TL0 = 0;
  206.         TR0 = 1; // 定時器 T0 準備工作.
  207.         ET0 = 1; // 定時器 T0 的溢出中斷允許位.
  208. }

  209. /***************************************************************
  210. *                      定時器T0中斷服務函數                    *
  211. ***************************************************************/
  212. void T0_Interrupt(void) interrupt 1
  213. {
  214.         Rx_cnt = 0;                        // 一旦出現溢出, 則開始的n個脈沖無效
  215.         RxPulseWide = 1000;        // 停止
  216.         B_RxOk = 1;                        // 在執行完T0中斷服務函數后,給B_RxOk賦值.
  217. }

  218. /***************************************************************
  219. *                INT0(外部中斷0)中斷服務函數                 *
  220. ***************************************************************/
  221. void INT0_int (void) interrupt 0
  222. {
  223.         u16        j;       
  224.         TR0 = 0;
  225.         TH0 = 0;
  226.         TL0 = 0;
  227.         j = ((u16)TH0 << 8) + TL0;
  228.         TR0 = 1;   // 定時器T0的運行控制位,允許T0計數, 這時候TH0、TL0就開始計數了.

  229.         if(++Rx_cnt >= 5)        Rx_cnt = 5;
  230.         j >>= 1;        //為了好處理, 轉成單位為us.
  231.         if((j >= 800) && (j <= 2000) && (Rx_cnt == 5))
  232.         {
  233.                 RxPulseWide = j;
  234.                 B_RxOk = 1;                //標志收到一個脈沖
  235.         }
  236. }


  237. /**********************************************/
  238. void main(void)
  239. {
  240.         u16 j;     // unsigned int.

  241.         PWM_Init(); // 設置P3.4/3.5、3.6為推挽輸出. 當PCA 模塊工作在8位PWM模式時,{0,CL[7:0]}與{EPCnL,CCAPnL[7:0]}
  242.                 // 中的值進行比較并決定輸出高電平還是低電平.此電平作為
  243.         ADC_Init(); // 開通P1.3 P1.4 P1.5的AD輸入口.√
  244.         CMP_Init(); // 比較器初始化設置. 對比較器正負極輸入端進行設置, 通過ADC_CHS位選擇比較器的正極輸入端,選擇P5.4作為負極.
  245.         T0_Init();  // 定時器T0初始化設置, 定時器0 12分頻. (AUXR &= ~(1<<7)).

  246.         IE0 = 0;        // 外部中斷0(INT0/P3.2)中斷請求標志位清零.
  247.         EX0 = 1;        // 外部中斷0(INT0)中斷允許.
  248.         IT0 = 1;        // 外部中斷0(INT0)為下降沿觸發.
  249.        
  250.         RxPulseWide = 1000;
  251.         PWW_Set = 0;
  252.         cnt10ms = 0;
  253.         Rx_cnt  = 0;
  254.         TimeOut = 0;

  255.         EA  = 1;            // 打開總中斷
  256.        
  257.         while (1)
  258.         {
  259.                 Delay_n_ms(1);        // 延時1ms, 主程序在此節拍下運行
  260.                 if(TimeOut > 0) // 在執行完比較器中斷函數后,進入此模塊.
  261.                 {
  262.                         if(--TimeOut == 0)            
  263.                         {
  264.                                 CCAP0H=0;        CCAP1H=0;        CCAP2H=0;  // PCA模塊復原.
  265.                                 PWM0_L=0;        PWM1_L=0;        PWM2_L=0;  // P3.4/3.5、3.6腳復原.
  266.                                 DISABLE_CMP_INT;    // 關比較器中斷
  267.                                 Delay_n_ms(250);        // 堵轉時,延時1秒再啟動
  268.                                 Delay_n_ms(250);
  269.                                 Delay_n_ms(250);
  270.                                 Delay_n_ms(250);

  271.                                 RxPulseWide = 1000;
  272.                                 PWW_Set   = 0;
  273.                                 PWM_Value = 0;
  274.                                 B_RxOk = 0;
  275.                                 B_RUN  = 0;
  276.                                 Rx_cnt = 0;
  277.                                 TimeOut = 0;
  278.                         }
  279.                 }
  280.                
  281.                 if(B_RxOk)          // 在執行完T0中斷服務函數后,執行此模塊.
  282.                 {
  283.                         B_RxOk = 0;
  284.                         j = RxPulseWide;
  285.                         if(j >= 1100)                                // 1100~1610對應PWM占空比值0~255
  286.                         {
  287.                                 j = (j - 1100) >> 1;        //2us對應PWM一個步進
  288.                                 if(j > 256)        j = 255;
  289.                         }
  290.                         else        j = 0;
  291.                         PWW_Set = (u8)j;   
  292.                 }
  293.                
  294.                 if(!B_RUN && (PWW_Set >= 30))                // PWM_Set >= 30, 并且馬達未運行, 則啟動馬達
  295.                 {
  296.                         StartMotor();         // 啟動馬達
  297.                         CMPCR1 &= ~0X40; // 比較器中斷請求標志位清零
  298.                         ENABLE_CMP_INT;  // 打開比較器中斷
  299.                         B_RUN = 1;       // B_RUN只是一個標志位,便于管理
  300.                         TimeOut = 0;
  301.                 }
  302.                
  303.                
  304.                 if(++cnt10ms >= 10)                      // 10ms時隙
  305.                 {
  306.                         cnt10ms = 0;
  307.                         if(B_RUN)
  308.                         {
  309.                                 if(PWM_Value < PWW_Set)        PWM_Value++;
  310.                                 if(PWM_Value > PWW_Set)        PWM_Value--;
  311.                                 if(PWM_Value < 20)       
  312.                                 {
  313.                                         PWM_Value = 0;
  314.                                         B_RUN = 0;
  315.                                         CCAP0H=0;        CCAP1H=0;        CCAP2H=0;  // 占空比為0
  316.                                         PWM0_L=0;        PWM1_L=0;        PWM2_L=0;
  317.                                         DISABLE_CMP_INT; // 關比較器中斷
  318.                                 }
  319.                         }
  320.                 }
  321.        
  322.         }
  323. }
復制代碼

上圖Keil代碼下載:
51-STC15W408AS-電調.rar (111.84 KB, 下載次數: 436)

評分

參與人數 2黑幣 +130 收起 理由
lyxxzrb + 30 贊一個!
admin + 100 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏58 分享淘帖 頂10 踩
回復

使用道具 舉報

沙發
ID:852236 發表于 2021-12-12 18:35 | 只看該作者
有做出PCB板試過了嗎?我正想做一個
回復

使用道具 舉報

板凳
ID:198286 發表于 2022-1-3 10:59 | 只看該作者
樓主太有心了,寫的這么詳細,對學習很有用
回復

使用道具 舉報

地板
ID:661945 發表于 2022-1-6 09:24 | 只看該作者
注釋得比較詳細,對初學者還是很有幫助的~~~
回復

使用道具 舉報

5#
ID:371546 發表于 2022-1-14 16:38 | 只看該作者

注釋得比較詳細,對初學者還是很有幫助的~~~
回復

使用道具 舉報

6#
ID:491875 發表于 2022-1-14 19:30 | 只看該作者
謝謝,樓主費心了。
回復

使用道具 舉報

7#
ID:989951 發表于 2022-2-8 08:08 | 只看該作者
好用心的樓主,代碼規范注釋詳細,支持一下
回復

使用道具 舉報

8#
ID:145887 發表于 2022-3-11 10:56 | 只看該作者
注釋得比較詳細,對初學者還是很有幫助
回復

使用道具 舉報

9#
ID:689229 發表于 2022-3-14 18:39 | 只看該作者
謝謝老兄,正在尋找呢。
回復

使用道具 舉報

10#
ID:430492 發表于 2022-3-16 11:22 | 只看該作者
注釋得比較詳細
回復

使用道具 舉報

11#
ID:210365 發表于 2022-4-18 19:42 | 只看該作者
非常詳細的代碼,值得研究
回復

使用道具 舉報

12#
ID:685462 發表于 2022-4-23 12:59 | 只看該作者
樓主,有刷電調的有研究嗎。
回復

使用道具 舉報

13#
ID:85508 發表于 2022-6-19 23:54 | 只看該作者
注釋詳細,還有電路圖和H文件,以后可以做一個,收藏了!
回復

使用道具 舉報

14#
ID:1001745 發表于 2022-6-23 07:59 | 只看該作者
樓主有心了,請問這個可以修改成直接用VR電平去進行調速嗎?
回復

使用道具 舉報

15#
ID:966468 發表于 2022-6-23 09:20 | 只看該作者
樓主太有心了,寫的這么詳細,對學習很有用
回復

使用道具 舉報

16#
ID:156220 發表于 2022-6-28 09:13 | 只看該作者
注釋得比較詳細,謝謝樓主的資料,辛苦了
回復

使用道具 舉報

17#
ID:661945 發表于 2022-6-28 09:44 | 只看該作者
這程序驗證過了的吧?
回復

使用道具 舉報

18#
ID:1037819 發表于 2022-6-30 22:02 | 只看該作者
注釋的很詳細
回復

使用道具 舉報

19#
ID:102665 發表于 2022-7-1 10:38 | 只看該作者
很詳細,點贊
回復

使用道具 舉報

20#
ID:1039586 發表于 2022-8-5 12:26 | 只看該作者
是什么電調呀
回復

使用道具 舉報

21#
ID:1034262 發表于 2022-8-12 15:08 | 只看該作者
STC公司的例程簡單明了,對學習非常有幫助。
特別是STC公司的四軸飛控,簡單、有效、穩定,最簡的飛控,沒有之一。
回復

使用道具 舉報

22#
ID:215147 發表于 2022-10-10 14:29 | 只看該作者
很詳細,點贊
回復

使用道具 舉報

23#
ID:321981 發表于 2022-11-5 12:58 | 只看該作者
實測  這個電調芯片有缺陷,占空比0時 礽有輸出,比校器關閉中斷無效,造成電機啟動時有卡頓或失敗
回復

使用道具 舉報

24#
ID:1050760 發表于 2022-11-24 08:15 | 只看該作者
你好,一直沒看懂你圖紙上P54與P13、P14、P15的運行原理,電機在AB通電時,C上有怎樣的變化嗎?沒搞懂!
回復

使用道具 舉報

25#
ID:170318 發表于 2022-11-24 09:23 | 只看該作者
wh198156 發表于 2022-11-24 08:15
你好,一直沒看懂你圖紙上P54與P13、P14、P15的運行原理,電機在AB通電時,C上有怎樣的變化嗎?沒搞懂!

“P54與P13、P14、P15”等組成了無霍爾反電動勢檢測電路,用于無霍爾位置傳感器電機的
回復

使用道具 舉報

26#
ID:1055358 發表于 2022-12-3 13:00 | 只看該作者
這個電路做好了速度也上不來
回復

使用道具 舉報

27#
ID:197696 發表于 2023-3-6 22:48 | 只看該作者

樓主太有心了,寫的這么詳細,對學習很有用
回復

使用道具 舉報

28#
ID:598932 發表于 2023-6-8 13:18 | 只看該作者
給源碼 給力 我覺得論壇交流就應該這樣
回復

使用道具 舉報

29#
ID:55349 發表于 2023-8-6 16:44 | 只看該作者
點贊,我也學習一下,謝謝先
回復

使用道具 舉報

30#
ID:606110 發表于 2023-8-13 11:44 | 只看該作者
謝謝樓主,我正要做筋膜槍,參考下這個。STC芯片有點貴,我準備找一個平宜的單片機,把這個軟件移稙進去,還要增加檢MOS管電流的。
回復

使用道具 舉報

31#
ID:13396 發表于 2023-9-12 19:30 | 只看該作者
寫的這么詳細,對學習很有用謝謝.
回復

使用道具 舉報

32#
ID:1093267 發表于 2023-9-20 09:24 | 只看該作者
樓主辛苦 感謝分享 學習了!!!!
回復

使用道具 舉報

33#
ID:675767 發表于 2023-12-30 11:48 | 只看該作者
這個對初學者和入門都太友好了
回復

使用道具 舉報

34#
ID:233182 發表于 2024-2-11 01:30 | 只看該作者
NICE,GOOD...
回復

使用道具 舉報

35#
ID:1107340 發表于 2025-9-18 21:45 | 只看該作者

注釋詳細,對我很有幫助
回復

使用道具 舉報

36#
ID:1160982 發表于 2025-9-27 14:35 | 只看該作者
膜拜了
回復

使用道具 舉報

37#
ID:1156871 發表于 2025-10-8 15:23 | 只看該作者
感謝 樓主無私奉獻!學習了!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
sm捆绑调教视频| 亚洲情趣在线观看| 一区二区三区四区乱视频| 精品精品欲导航| 欧美在线视频观看| 亚洲小说欧美另类激情| 欧美一级片免费播放| 五月婷婷婷婷婷| 一色屋色费精品视频在线看| 极品粉嫩饱满一线天在线| 黄色日韩网站| 麻豆久久精品| 亚洲在线视频一区| 欧美精品一本久久男人的天堂| 欧美黄色三级网站| 浴室偷拍美女洗澡456在线| 法国伦理少妇愉情| 人妻中文字幕一区| 在线视频中文字幕| 色妞ww精品视频7777| 国产精品影音先锋| 在线播放国产精品二区一二区四区 | 亚洲欧美日韩一区| 久久精品99久久香蕉国产色戒| av日韩免费电影| 日本精品一二三区| 国产suv精品一区二区69| 一区二区电影网| 91成人精品在线| 国产酒店精品激情| 日韩成人av网址| 国产在线一区二区三区四区| 国产免费看av| 天堂中文在线观看| 51漫画成人app入口| 激情婷婷欧美| 91官网在线观看| 国产啪精品视频| 久久国产精品视频在线观看| 亚洲AV无码成人精品区东京热| 成年人福利网站| 精品176极品一区| 蜜桃在线一区二区三区| 日韩精品一区二区三区视频播放 | 在线视频中文亚洲| 亚洲资源在线网| 肉色超薄丝袜脚交69xx图片| 黄色大片网站| 日韩精品一页| 国产久卡久卡久卡久卡视频精品| 日韩国产中文字幕| 视频二区一区| av大片免费观看| 男裸体无遮挡网站| 亚洲欧美校园春色| 国产精品人妖ts系列视频| 欧美成人免费视频| 国产精品一区二区免费在线观看| 国产精品三区在线观看| aaa一级毛片| 女同另类激情重口| 亚洲欧美另类图片小说| 992tv成人免费影院| 久久久精品视频国产| 午夜av免费观看| 蜜臀国产一区| 国产福利一区二区| 亚洲一区二区三区中文字幕在线| 国产成人综合久久| 精品人妻在线视频| 99久久精品一区二区三区| 综合在线影院| 99v久久综合狠狠综合久久| 在线观看国产精品日韩av| 欧美三级一级片| 国产精品毛片久久久久久久av| 久久精品视频免费看| 国产精品日本| 精品99一区二区三区| 国内少妇毛片视频| 国产精品女人久久久| 午夜在线激情影院| 蜜芽一区二区三区| 最新中文字幕亚洲| 六月丁香婷婷在线| 亚洲精品手机在线| 激情小说亚洲| 亚洲美女淫视频| 国产美女主播一区| 一级黄色电影片| 狠狠色丁香婷婷| 国产精品xxx在线观看| 一区二区免费在线| 91久久中文字幕| 国产精品免费人成网站酒店| 成年免费网站| 欧美久久成人| 欧美大片一区二区三区| 青青草国产精品视频| 亚洲成人久久精品| 日韩久久一区二区三区| 91一区二区在线观看| 久久视频在线直播| 国产人妖在线观看| 碰草在线视频| 日韩电影免费网站| 欧美日韩久久久久久| 一区二区在线高清视频| 日韩网站在线免费观看| 亚洲色图21p| 成人精品动漫| 亚洲一区二区av电影| 爱情岛论坛亚洲入口| 免费看日韩毛片| 国产在线观看免费| 亚洲国产高清视频| 国产亚洲一区精品| av网站在线不卡| 女人在下体塞跳蛋在线观看| 国产伦精品一区二区三区视频| 欧美日韩在线直播| 国产日本欧美在线| 中国女人内谢69xxxx视频 | 亚洲精品黄网在线观看| 男人添女荫道口图片| 884aa四虎免费影库4h| 一区二区精彩视频| 欧美日韩免费一区二区三区视频| 永久免费精品视频网站| 欧美一级性视频| 国产精品一区二区免费福利视频| 亚洲精品大片www| 国产日韩欧美一区二区三区四区| 神马久久精品综合| 日本大臀精品| 黄页视频在线91| 日韩美女福利视频| 在线观看美女av| 黄色网在线播放| 99久久精品国产一区| 91在线免费观看网站| 日韩伦理在线视频| 久草在线中文最新视频| 国产视频一区二区在线观看| 国产精品老女人视频| 欧美三级韩国三级日本三斤在线观看 | 污网站在线免费| 九九色在线观看| 亚洲美女色禁图| 日韩视频免费中文字幕| 国产一区二区三区四区在线| 色老板亚洲精品一区| 久久激情中文| 欧美高清无遮挡| 国产精品成人无码免费| 3d成人动漫在线| 成人av电影在线| 91精品在线一区| 亚洲天堂网在线视频| 又大又黄又粗| 欧美xxxhd| 日韩影院在线观看| 亚洲尤物在线视频观看| 欧美男插女视频| 国产女片a归国片aa| 成人在线视频亚洲| 亚洲精品五月天| 国产成人三级视频| 国产精品人人人人| 成人在线二区| 亚洲色图欧美激情| 一区二区三区欧美在线| 免费国产h视频在线观看86| 日韩在线欧美| 日韩精品资源二区在线| 国产又黄又嫩又滑又白| 菠萝蜜视频网址| 久久99精品国产.久久久久| 97精品免费视频| 欧美日韩 一区二区三区| 日韩深夜福利网站| 亚洲第一黄色网| 欧美熟妇精品一区二区蜜桃视频| 婷婷在线视频| 波多野结衣一区二区三区免费视频| 亚洲va欧美va人人爽| 久久久久久www| 激情视频免费| 成人av电影在线观看| 天堂资源在线亚洲视频| 日韩欧美一区二区三区视频| 国产精品毛片在线| 国产精品视频地址| 色呦呦免费观看| 亚洲91久久| 国产福利成人在线| 国产精品国产三级国产普通话对白 | 在线看片国产福利你懂的| 日韩欧美精品免费在线| 69久久久久久| 韩国中文免费在线视频| 国产精品看片你懂得| 在线观看精品视频| 国内一卡2卡三卡四卡在线| 高清国产一区二区| 日本高清不卡一区二区三| 天堂免费视频| 国产一区二区三区在线观看免费视频| 精品在线视频一区二区| 欧洲vodafone精品| 精品中文av资源站在线观看| 国产精品区二区三区日本| 国产免费黄色| 理论电影国产精品| 四虎永久在线精品免费一区二区| 91精彩视频| 成人激情综合网站| 杨幂一区欧美专区| 九色视频网站入口| 久久精品欧美一区二区三区麻豆| 精品少妇在线视频| 粗大的内捧猛烈进出在线视频| 一区精品在线播放| 欧美精品一区二区三区免费播放| 成年网站在线| 偷拍一区二区三区| jlzzjizz在线播放观看| 丝袜综合欧美| 精品久久国产97色综合| 国产又粗又猛又爽又黄的视频小说 | 在线观看av中文| 中文字幕成人在线观看| 992kp快乐看片永久免费网址| 亚洲成人基地| 精品国产福利在线| 欧美一级黄色影院| www.五月色.com| 欧美日韩国产成人精品| 成人黄色av网| 日本视频网址| 成人午夜视频免费看| 国产精品爽黄69| 免费观看一区二区三区毛片| 波多野结衣在线观看一区二区 | 丁香婷婷综合五月| 激情视频小说图片| 最新日本视频| 色婷婷久久综合| 3d动漫精品啪啪一区二区下载 | 国产性色av一区二区| 色一情一乱一伦| 成人亚洲一区二区| 亚洲最大福利视频网| 久久免费精品一区二区| av不卡一区二区三区| 六月婷婷激情综合| 国产美女av在线| 在线视频综合导航| 色综合久久久久久久久五月| 亚洲天堂手机版| 丝袜a∨在线一区二区三区不卡| 久久久久成人精品免费播放动漫| 草莓视频末满18勿| 一区二区三区中文字幕| 蜜臀视频在线观看| 91欧美极品| 欧美一级大片在线免费观看| 久精品在线观看| 99免费精品在线观看| 天天综合天天添夜夜添狠狠添| 国产传媒av在线| 久久精品中文字幕一区| 91精东传媒理伦片在线观看| 日本中文一区二区三区| 中文字幕av导航| 免费黄色网址在线观看| 精品黑人一区二区三区久久 | 久久久久久人妻一区二区三区| 中出福利视频| 欧美日韩国产乱码电影| 国产精品精品软件男同| 欧美日韩伦理| 激情久久av| 2020中文字幕在线播放| 欧美一区二区三区啪啪| 欧美一级片免费在线观看| 香蕉视频成人在线观看| 一级一片免费播放| av片在线观看| 亚洲人成在线观看| 亚洲最大色图| www国产亚洲精品久久麻豆| www男人天堂| 亚洲一区电影| 国产成人免费观看| 欧美巨乳在线| 亚洲成人av片| 熟妇人妻av无码一区二区三区| 国产一区二区三区在线观看免费视频| jizz18女人| 99久久久成人国产精品| 91在线观看免费网站| 黄色网免费看| 欧美不卡一区二区三区四区| 国产又粗又黄视频| 盗摄精品av一区二区三区| 91人妻一区二区| 老司机精品在线| 欧美激情第一页在线观看| 男女网站在线观看| 亚洲网站在线播放| 美女视频一区二区三区在线| 亚洲欧洲一区二区在线播放| 欧美人与禽zoz0善交| 国产精品va| 少妇久久久久久被弄到高潮| 中文另类视频| 91综合免费在线| 绯色av一区| 亚洲欧美中文另类| 亚洲精品人成网在线播放影院| 亚洲精品久久久蜜桃| 成年人网站在线观看视频| 亚洲激情黄色| 免费一级特黄特色毛片久久看| 欧美一区二区三区婷婷| 国产精品福利小视频| 午夜影院观看视频免费| 日韩精品中文字幕久久臀| 男人的天堂色| 亚洲一区av在线| 日韩 欧美 亚洲| 韩国v欧美v日本v亚洲v| 亚洲日本黄色片| 99久久久久| 黄色网zhan| 国产精品99| 国产综合18久久久久久| h网站在线免费观看| 超薄丝袜一区二区| 色一情一乱一伦一视频免费看| 欧美三级中文字| 在线观看国产小视频| 欧美激情资源网| 日韩欧美三级在线观看| 国产精品一区二区在线观看不卡 | 国产精品视频精品| 羞羞视频网站在线免费观看| 亚洲女人天堂成人av在线| 欧美行性性性o00x| 欧美性大战xxxxx久久久| 国产91精品看黄网站在线观看| 972aa.com艺术欧美| 全网免费在线播放视频入口 | 高清欧美电影在线| 成人动漫h在线观看| 日韩精品小视频| 国产精品视频h| 日韩欧美专区在线| 国产真人无遮挡作爱免费视频| av一区二区三区在线| 麻豆明星ai换脸视频| 免费看欧美美女黄的网站| 国产精品久久久久久亚洲色| 亚洲成人99| 日本肉体xxxx裸体xxx免费| 亚洲精品合集| 国产精品宾馆在线精品酒店| 日本三级久久| a级黄色片免费| 国产精品15p| 一区二区视频在线免费| 亚洲性视频在线| 黄瓜视频免费观看在线观看www| 国产精品麻豆| 国产精品日韩欧美一区二区三区| 欧美激情黑人| 国产精品揄拍500视频| www.av在线| 国产日韩在线一区| 国产网友自拍视频导航网站在线观看 | 日本天码aⅴ片在线电影网站| 日韩av成人在线观看| 青青操视频在线| 久久久久国产精品免费网站| 日本v片在线免费观看| 欧美韩日一区二区| lutube成人福利在线观看| 国产精品久久久久久久久久久久久| 黄色免费在线播放| 国产精品旅馆在线| 黄色免费在线观看| 肥熟一91porny丨九色丨| 中文字幕在线视频区| 成人精品网站在线观看| 国产精品电影| 国产精品日韩高清| 国产精品日本一区二区不卡视频| 亚洲国产一区在线| 日韩电影在线观看完整免费观看|