亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 51單片機直流電機調速程序,1KHz的PWM波 [打印本頁]

作者: Ascii.    時間: 2018-12-9 21:09
標題: 51單片機直流電機調速程序,1KHz的PWM波
  直流電機調速,占空比可調。小白第一次發帖

電路原理圖如下:

單片機源程序如下:
  1. #include "reg51.h"
  2. #include "led.h"
  3. #include "delay.h"

  4. uint d=100;  //占空比
  5. uint b=65436;  //初值計時100us
  6. bit flag=0;

  7. void timer0(void) interrupt 1  //中斷部分代碼,見下文的釋疑
  8. {
  9.         if(flag)
  10.         {
  11.      TH0 = b/256;         //900
  12.      TL0 = b%256;
  13.          flag = 0;
  14.          P2_4 = 0;
  15.          b=65536-d;
  16.         }
  17.         else
  18.         {
  19.      TH0 = b/256;          //100
  20.      TL0 = b%256;
  21.          flag = 1;
  22.          P2_4 = 1;
  23.          b=64536+d;
  24.         }
  25. }

  26. void main()
  27. {   
  28.     TMOD = 0x01; //TMOD的值表示定時器工作方式選擇                              
  29.     TH0 = b/256; //寫入初始值,初始值可以決定定時多久
  30.     TL0 = b%256;
  31.     TF0 = 0; //計數到時TF0為1,即當TH0 = 0xff;TL0 = 0xff;再運行一步TF0 = 1;
  32.     TR0 = 1; //開始計數,從這時起,每運行一步TH0和TL0都會增加,直到TH0 = 0xff;TL0 = 0xff;                        
  33.     ET0 = 1; //允許定時器0中斷
  34.     EA=1;   //開總中斷
  35.     while(1)
  36.         {
  37.          if(P3!=0xff)                         //按鍵對應占空比調整
  38.          {        
  39.             TR0 = 0;
  40.                   delay_ms(10);
  41.        if((P3_4==0)&&(d>=100))
  42.            {
  43.            d=d-100;                                         //10倍程可調減
  44.            }
  45.           if((P3_5==0)&&(d>=10))
  46.           {
  47.            d=d-10;                                        //1倍程可調減
  48.           }
  49.           if(P3_6==0)
  50.           {         
  51.            d=d+10;                                           //1倍程可調加
  52.           }
  53.           if(P3_7==0)
  54.           {
  55.            d=d+100;                                          //10倍程可調加
  56.           }
  57.           while(P3!=0xff);
  58.           TR0 = 1;
  59.         }
  60.           if(d<=10)                                                 //設置占空比最大最小值
  61.           {
  62.                  d=10;
  63.           }
  64.           if(d>=990)
  65.           {
  66.              d=990;
  67.           }
  68.           delay_ms(2);
  69.           show_led_one(0,(d%100)/10);                 //實時顯示占空比
  70.           delay_ms(2);
  71.           show_led_one(1,d/100);
  72.         }        
  73. }
復制代碼

所有資料51hei提供下載:
PWM.zip (39.21 KB, 下載次數: 47)
PWM.pdf (37.2 KB, 下載次數: 26)


作者: admin    時間: 2018-12-10 03:39
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣
作者: baka0000    時間: 2018-12-10 08:21
感謝大佬
作者: baka0000    時間: 2018-12-10 08:21
大佬可以的,感謝分享。。。。。。。。。。。

作者: Ascii.    時間: 2018-12-10 20:55
根據管理員建議,附上了原理圖
作者: 機智的愚人    時間: 2018-12-11 14:40
感謝大佬的分享
作者: 931121667    時間: 2018-12-29 10:52
admin 發表于 2018-12-10 03:39
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣

你好  有沒有四個按鍵的直流電機調速程序 啟停  正反轉 加速 減速  謝謝大佬

Screenshot_20181228-211705.jpg (226.85 KB, 下載次數: 33)

Screenshot_20181228-211705.jpg





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