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

標題: 51單片機STC15W408AS電調程序詳解 [打印本頁]

作者: zirencharles    時間: 2021-12-10 17:29
標題: 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)


作者: rambo.hu    時間: 2021-12-12 18:35
有做出PCB板試過了嗎?我正想做一個

作者: zxy2266    時間: 2022-1-3 10:59
樓主太有心了,寫的這么詳細,對學習很有用
作者: wuwei520    時間: 2022-1-6 09:24
注釋得比較詳細,對初學者還是很有幫助的~~~
作者: ldch88    時間: 2022-1-14 16:38

注釋得比較詳細,對初學者還是很有幫助的~~~
作者: 老愚童63    時間: 2022-1-14 19:30
謝謝,樓主費心了。
作者: zhou-x    時間: 2022-2-8 08:08
好用心的樓主,代碼規范注釋詳細,支持一下
作者: sxzxzwc8    時間: 2022-3-11 10:56
注釋得比較詳細,對初學者還是很有幫助
作者: seasoul_song    時間: 2022-3-14 18:39
謝謝老兄,正在尋找呢。
作者: cooleaf    時間: 2022-3-16 11:22
注釋得比較詳細
作者: davidxu    時間: 2022-4-18 19:42
非常詳細的代碼,值得研究
作者: lose2836    時間: 2022-4-23 12:59
樓主,有刷電調的有研究嗎。
作者: ge52    時間: 2022-6-19 23:54
注釋詳細,還有電路圖和H文件,以后可以做一個,收藏了!
作者: mcuhui    時間: 2022-6-23 07:59
樓主有心了,請問這個可以修改成直接用VR電平去進行調速嗎?

作者: mrzhou    時間: 2022-6-23 09:20
樓主太有心了,寫的這么詳細,對學習很有用
作者: 紫色的云    時間: 2022-6-28 09:13
注釋得比較詳細,謝謝樓主的資料,辛苦了
作者: wuwei520    時間: 2022-6-28 09:44
這程序驗證過了的吧?
作者: wjq1n    時間: 2022-6-30 22:02
注釋的很詳細
作者: easyming    時間: 2022-7-1 10:38
很詳細,點贊
作者: 小林小林別慌    時間: 2022-8-5 12:26
是什么電調呀

作者: coody_sz    時間: 2022-8-12 15:08
STC公司的例程簡單明了,對學習非常有幫助。
特別是STC公司的四軸飛控,簡單、有效、穩定,最簡的飛控,沒有之一。
作者: ellb    時間: 2022-10-10 14:29
很詳細,點贊
作者: oppkxy    時間: 2022-11-5 12:58
實測  這個電調芯片有缺陷,占空比0時 礽有輸出,比校器關閉中斷無效,造成電機啟動時有卡頓或失敗
作者: wh198156    時間: 2022-11-24 08:15
你好,一直沒看懂你圖紙上P54與P13、P14、P15的運行原理,電機在AB通電時,C上有怎樣的變化嗎?沒搞懂!
作者: jhczy    時間: 2022-11-24 09:23
wh198156 發表于 2022-11-24 08:15
你好,一直沒看懂你圖紙上P54與P13、P14、P15的運行原理,電機在AB通電時,C上有怎樣的變化嗎?沒搞懂!

“P54與P13、P14、P15”等組成了無霍爾反電動勢檢測電路,用于無霍爾位置傳感器電機的
作者: risen67    時間: 2022-12-3 13:00
這個電路做好了速度也上不來
作者: 幻想天才    時間: 2023-3-6 22:48

樓主太有心了,寫的這么詳細,對學習很有用
作者: fsyczxyy    時間: 2023-6-8 13:18
給源碼 給力 我覺得論壇交流就應該這樣
作者: jopey    時間: 2023-8-6 16:44
點贊,我也學習一下,謝謝先
作者: xwp888    時間: 2023-8-13 11:44
謝謝樓主,我正要做筋膜槍,參考下這個。STC芯片有點貴,我準備找一個平宜的單片機,把這個軟件移稙進去,還要增加檢MOS管電流的。
作者: zh68a11    時間: 2023-9-12 19:30
寫的這么詳細,對學習很有用謝謝.
作者: 飛龍在天蘇    時間: 2023-9-20 09:24
樓主辛苦 感謝分享 學習了!!!!
作者: fhq1087    時間: 2023-12-30 11:48
這個對初學者和入門都太友好了
作者: xiesonny    時間: 2024-2-11 01:30
NICE,GOOD...
作者: changchieh    時間: 2025-9-18 21:45

注釋詳細,對我很有幫助
作者: kuangren1970    時間: 2025-9-27 14:35
膜拜了
作者: tipware    時間: 2025-10-8 15:23
感謝 樓主無私奉獻!學習了!
作者: chen131578    時間: 2025-12-10 10:07
收藏,作為學習參考。




歡迎光臨 (http://www.izizhuan.cn/bbs/) Powered by Discuz! X3.1
欧美一级在线免费| jizzjizz日本少妇| 草草地址线路①屁屁影院成人| 日本少妇xxxxx| 亚洲国产福利视频| 黄色毛片视频| jizz久久久久久| 在线精品一区二区| **欧美大码日韩| 在线精品播放av| 五月天亚洲综合小说网| 亚洲国产精品成人综合久久久| 国产一区免费看| 四虎精品一区二区永久在线观看| 亚洲优女在线| 伊人成人在线| 欧美性xxxxxxxxx| 亚洲福利视频二区| 欧美精品观看| 国产嫩草影院久久久久| 亚洲精品久久久久久久久久久久久 | 丰满人妻一区二区三区无码av | 亚洲一区二区三区视频| 手机看片一级片| 中文字幕第315页| 中日韩免费毛片| 国产永久精品大片wwwapp| 久久久www成人免费毛片麻豆 | 国产一区视频免费观看| 日本一级淫片免费放| 摸bbb搡bbb搡bbbb| 精品人妻一区二区三区麻豆91| 99热在线观看| 色先锋久久影院av| 一区二区三区在线播| 91精品国产九九九久久久亚洲| 激情六月丁香婷婷| xxxx国产精品| 黑人巨大亚洲一区二区久| 国产老妇另类xxxxx| 在线性视频日韩欧美| caopor在线视频| 五月婷婷在线播放| 成人精品动漫| 免费av一区二区三区四区| 亚洲mv在线观看| 免费精品视频一区二区三区| 丰满少妇xoxoxo视频| 麻豆av免费在线观看| 麻豆一区二区在线| 亚洲视频欧洲视频| 天堂在线中文在线| 黄色的毛片免费| 欧美一区二区三区免费看| 欧美日韩一区三区四区| 97av中文字幕| 中文字幕久热在线精品| 欧美a大片欧美片| 欧美日韩一区二区三区四区| www国产无套内射com| 天堂www中文在线资源| 国产日本视频| 精品中文av资源站在线观看| 性欧美xxxx| 91插插插插插插| 蜜桃91麻豆精品一二三区 | 亚洲一级黄色大片| 亚洲日本中文| 日韩欧美精品网站| 欧美亚洲精品一区二区| 国产xxx免费观看| 欧美日韩福利| 欧美激情中文字幕乱码免费| 最新黄色av网址| 亚洲色图美国十次| www.久久久久爱免| 欧美性高潮在线| 日本爱爱免费视频| 手机福利视频欧美| 久久人人97超碰com| 欧美一区国产一区| 亚洲国产aⅴ精品| 亚洲二区视频| 国产在线视频91| 东京干手机福利视频| 久久久久久久久久久久久久| 欧美日本中文字幕| 中文字幕免费视频观看| 色一情一乱一区二区三区| 韩国成人漫画| 丝袜情趣国产精品| 亚洲黄网在线观看| 爱啪啪综合导航| 中文无字幕一区二区三区| 91精品久久久久久蜜桃| 日日骚av一区二区| 性欧美freehd18| 亚洲综合免费观看高清完整版 | 中文字幕视频一区| a毛片毛片av永久免费| 久久精品女人毛片国产| 韩国主播福利视频一区二区三区| 日韩欧美国产视频| caoporm在线视频| 国产精品视频一区二区久久| 综合自拍亚洲综合图不卡区| 久久男人资源站| 影音先锋在线影院| 亚洲女同一区二区| 色诱视频在线观看| 日本在线视频网| 欧美色图在线视频| 欧美激情乱人伦一区| 国产女人18毛片水真多18| 特级毛片在线观看| 91精品国产91久久综合桃花| 99er热精品视频| 国产一区二区不卡在线| 资源网第一页久久久| 羞羞视频在线观看| 欧美一区二区三区色| 国产无码精品久久久| 亚洲午夜精品福利| 手机福利在线| 91精品国产综合久久精品| 国精产品一区一区二区三区mba| 米奇精品关键词| 91欧美视频网站| 白虎精品一区| 亚洲色图欧美在线| 国产三级生活片| 巨胸喷奶水www久久久免费动漫| 久久91超碰青草是什么| 呦视频在线一区二区三区| k8久久久一区二区三区| 亚洲最大天堂网| 精品久久久久久久久久岛国gif| 日本乱人伦a精品| xxx欧美尤物xxx| 亚洲一区二区三区在线播放| 日本午夜在线观看| 激情六月综合| 青青草影院在线观看| 国产精品刘玥久久一区| 久久亚洲精品一区二区| 99热超碰在线| 国产亚洲一区| 大片在线观看网站免费收看| 日韩免费福利视频| 成人免费午夜电影| 国产三级视频在线| 日韩欧美区一区二| 少妇人妻一区二区| 中文字幕 久热精品 视频在线| 国产精品毛片一区二区| 伊人久久大香线蕉综合热线| 99视频精品免费| 国产麻豆精品| 91麻豆国产香蕉久久精品| 免费一级做a爰片久久毛片潮| 最新成人av网站| 国产性生活一级片| 欧美在线二区| 国产av一区二区三区传媒| 在线成人h网| 国产麻豆天美果冻无码视频| 蜜臀av性久久久久蜜臀aⅴ流畅| 午夜不卡久久精品无码免费| 久久亚洲欧洲| 亚洲一二三在线观看| 国产精品亚洲第一| 91国产丝袜播放在线| 亚洲人成亚洲人成在线观看图片| 国产女人高潮毛片| 福利视频一区二区| 久久亚洲国产成人亚| 亚洲精品美女久久久久| 很黄很a的视频| 国产精品九九九| 午夜日韩成人影院| 日韩精品视频在线观看视频| 91精品综合| 亚洲一二三四视频| 99免费精品视频| 国产巨乳在线观看| 精品久久久久久久久久久久久久久| 四虎4hutv紧急入口| 欧美午夜宅男影院在线观看| 亚洲日本伊人| 在线视频日本亚洲性| 最新电影电视剧在线观看免费观看| 动漫一区二区在线| 免费萌白酱国产一区二区三区| 涩涩网站在线看| 91麻豆免费在线观看| 男人通一通女人的下水道| 91网站视频在线观看| 久久天堂夜夜一本婷婷麻豆| www.日韩不卡电影av| 亚洲天堂av影院| 国产免费又粗又猛又爽| 国产在线一在线二| 久久久久天天天天| 亚洲天堂免费| 国产亚洲自拍av| 51午夜精品国产| 黄色网址在线播放| 最新av网址在线观看| 精品伊人久久久久7777人| 成人午夜免费福利| 韩国福利视频一区| 欧美电影在线观看免费| 一区二区三区影视| 欧美一区二区在线视频| 2021中文字幕在线| 超碰成人在线播放| 亚洲欧美另类久久久精品2019| eeuss影院www影院入口| 久久精品国产综合精品| 日本强好片久久久久久aaa| 亚洲综合在线免费| 91亚洲永久免费精品| 亚洲美女黄色| 最近免费中文字幕在线第一页 | 欧美成人三级伦在线观看| 精品久久久久久电影| 男人天堂资源在线| 久久黄色片网站| 亚洲福利一区二区三区| 成人精品一区二区三区校园激情| 日韩视频第二页| 亚洲午夜久久久久久久久电影院| 中文在线观看视频| 天堂在线资源视频| 精品久久久久久中文字幕一区奶水| 春暖花开成人亚洲区| 三级黄色片免费观看| 在线精品国精品国产尤物884a| 亚洲丝袜精品| 三级在线观看免费大全| 精品国产一区二区三区久久狼黑人| 粉嫩av一区二区| 国产美女三级无套内谢| 成人国产精品av| 精品一区二区影视| 福利av痴女| 日韩av自拍偷拍| 欧美大片在线观看| 日韩最新在线| 姝姝窝人体www聚色窝| 麻豆成人av| 亚洲一区在线观看视频| 天天免费亚洲黑人免费| 无码人妻精品一区二区蜜桃色欲| 国产精品久久999| 成人av在线电影| 天天在线视频色| 精品99久久久久成人网站免费| 韩国精品久久久999| 国产一二精品视频| 888av在线| 日韩欧美不卡视频| 亚洲一区二区在线| 中文字幕一区三区| 爱情电影社保片一区| 综合久久中文字幕| 狠狠色综合色区| 婷婷六月综合网| 国产精品欧美大片| 亚洲精品手机在线| 日韩黄色片视频| 一区二区欧美在线| 久久精品免费看| 91porn在线观看| 亚洲字幕av一区二区三区四区| 久久av免费观看| 色综合欧美在线| 欧美美女在线| av大片免费看| 成人免费精品动漫网站| 亚洲bt天天射| 欧美在线看片a免费观看| 亚洲另类av| 日本1区2区| 日韩大片免费在线观看| 欧美影视一区二区| 欧美成人女星排行榜| 日韩午夜免费| 色在线视频网| 一本之道久久| 免费的av网站| 国产精品国产精品国产专区蜜臀ah| 亚洲成人免费视频| 成人羞羞动漫| 黄色在线视频观看网站| 国产裸体无遮挡| 超碰网在线观看| 992tv在线成人免费观看| 中文字幕一区二区视频| 亚洲成人影音| 美女视频黄a视频全免费观看| 男女免费视频网站| 成人一区二区av| 欧美剧在线观看| 亚洲国产日韩精品| 日韩视频在线一区二区三区 | 成人欧美一区二区| 精品一区电影国产| 久久精品综合网| 99成人超碰| 亚洲91av| 黄色动漫网站| 中文字幕一区二区三区人妻四季| 久久精品99国产| 国产视频999| 日韩成人久久久| 亚洲人成精品久久久久| 亚洲永久视频| 999在线精品| 天堂中文а√在线| 一个人看的www在线免费观看| 日本黄xxxxxxxxx100| 欧美一级淫片丝袜脚交| 欧美视频一区二区三区四区 | 日韩美女在线观看| 精品日韩欧美在线| 国产精品国产自产拍高清av王其| 中文精品视频| 亚洲自拍电影| 伊人网在线播放| 九色在线视频蝌蚪| 日本性视频网站| 国产裸体永久免费无遮挡| 网爆门在线观看| 国内av一区二区| 精品人妻大屁股白浆无码| 亚洲综合小说区| 蜜臀a∨国产成人精品| 中文精品一区二区| 欧美一级免费| 捆绑调教日本一区二区三区| 香蕉视频色版| 黄页在线免费看| 麻豆精品国产自产在线| 欧美特黄一级视频| 中文字幕av影视| 日本在线播放视频| 麻豆天美蜜桃91| 国产肥白大熟妇bbbb视频| 性生活一级大片| 国产精品亚洲二区在线观看 | 国产精品亚洲一区二区三区在线| 国产一区欧美| 国产精品嫩草影院在线看| 亚洲国产高清在线观看| 91av一区| 免费电影日韩网站| 久久毛片亚洲| 伊人久久高清| 中文字幕在线看片| 黄色激情在线播放| 九色porny自拍视频在线播放 | 亚洲精品视频在线| 国产日韩欧美亚洲| 国产精品视频一二三| 日本一区二区成人在线| 久久久三级国产网站| 欧美国产精品v| 亚洲精品乱码久久久久久久久| 欧美国产日韩亚洲一区| 亚洲美女一区二区三区| 亚洲美女一区二区三区| 黄色一区二区在线| 日韩欧美高清视频| 正在播放亚洲一区| 欧美精品一区二区久久久| 亚洲香蕉在线观看| 欧美猛少妇色xxxxx| 78色国产精品| αv一区二区三区| 欧美性xxxx69| 一卡二卡三卡视频| 久久成年人网站| 久久99久久99精品免费看小说 | 韩日午夜在线资源一区二区| 亚洲不卡一卡2卡三卡4卡5卡精品| 精品国产av无码一区二区三区| 国产成人黄色网址| 国产视频不卡在线| 欧美激情一区二区三区免费观看| 亚洲精品国产一区二| 日韩中文字幕久久久经典网| 天天操天天碰| 黄色免费网站在线观看| 国产精品久久久久久久久免费高清| 午夜精品影视国产一区在线麻豆| 亚洲国产国产亚洲一二三| av资源网在线播放| 欧美日韩xxxx| 国产精品自拍av|