找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5435|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

51單片機pwm方波輸出

  [復(fù)制鏈接]
回帖獎勵 20 黑幣 回復(fù)本帖可獲得 1 黑幣獎勵! 每人限 1 次(中獎概率 50%)
跳轉(zhuǎn)到指定樓層
樓主
ID:295779 發(fā)表于 2018-8-14 12:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
今天想找個調(diào)制pwm方波源碼

看了很多都不太理解

了解后自己寫了一份

現(xiàn)在把自己的送上

不太會發(fā)帖

請多海涵


/*   P1.0口輸出pwm方波  P1.1口連接用來對比的led  兩個led共陽,低電平點亮  */
#include<reg51.h>                                  //定義單片機庫函數(shù)      


#define uint unsigned int                    //定義無符號整形
#define uchar unsigned char                        //定義無符號字節(jié)型                                 
sbit pwm = P1^0;         //PWM輸出端口
sbit led = P1^1;         //對比輸出端口
uint count,a,b,th,tl,number,i;


void main()
{


  count = 2;                     //占空比
  a = 12/11059200;            //計算機器周期
  b = 1000/a;                    //計算每個數(shù)需要的時間 us
  th = (65536-b)/256;        //計算填入TH的值
  tl =(65536-b)%256;        //計算填入TL的值
  EA = 1;                                //開總中斷
  ET0 = 1;                                //打開T0中斷
  TMOD = 0x01;                        //設(shè)置T0計數(shù)器工作方式為16位計數(shù)器
  TH0 =th;                                //給TH0填入th
  TL0 =tl;                                //給TL0填入tl
  TF0 = 1;                                //表示T0有中斷產(chǎn)生
  TR0 = 1;                                //表示T0開始運行
  led = 0;                                //點亮led燈做對比


while(1){                                //開啟死循環(huán)等待中斷
         if( number==300){                //每進入中斷1000次就將占空比加一
                 number=0;                        //復(fù)位參考值
                 count=count+1;          //占空比加一
   }
  }
}






void timer()interrupt 1{
  TH0 = th;         //重新填入th
  TL0 = tl;         //重新填入tl
  
   i++;
if(i<count)          //count為占空比
  {
   pwm=0;                     //輸出低電平點亮led燈
            
  }else{


      pwm=1;   //輸出高電平熄滅led燈
               
         }


if(i>=10){
    i=0; //參考值置零

}
   number++;


}


                  





51單片機pwm方波輸出.zip

27.15 KB, 下載次數(shù): 43, 下載積分: 黑幣 -5

源碼文件

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:396689 發(fā)表于 2019-3-6 09:58 | 只看該作者
聽說回復(fù)有黑幣
回復(fù)

使用道具 舉報

板凳
ID:169527 發(fā)表于 2019-3-6 13:18 | 只看該作者
還不錯的噢,試了一下
回復(fù)

使用道具 舉報

地板
ID:126744 發(fā)表于 2019-3-6 20:00 | 只看該作者
不錯哦,謝謝分享
回復(fù)

使用道具 舉報

5#
ID:126744 發(fā)表于 2019-3-6 20:00 | 只看該作者
不錯哦,謝謝分享
回復(fù)

使用道具 舉報

6#
ID:442599 發(fā)表于 2019-3-6 20:51 | 只看該作者
感覺不錯哦,謝謝分享
回復(fù)

使用道具 舉報

7#
ID:498596 發(fā)表于 2019-4-2 14:39 | 只看該作者
還不錯呀
回復(fù)

使用道具 舉報

8#
ID:483579 發(fā)表于 2019-5-12 15:33 來自手機 | 只看該作者
請問怎么用51輸出頻率和占空比可調(diào)的pwm波?
回復(fù)

使用道具 舉報

9#
ID:511484 發(fā)表于 2019-5-12 17:56 | 只看該作者
還不錯
回復(fù)

使用道具 舉報

10#
ID:250209 發(fā)表于 2019-5-12 20:17 | 只看該作者
謝謝分享,好好學(xué)習(xí)學(xué)習(xí)。
回復(fù)

使用道具 舉報

11#
ID:518788 發(fā)表于 2019-5-13 19:36 | 只看該作者
雖然比較簡單,但是定義的變量有點多
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表