女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何基于51單片機利用定時器的實現(xiàn)PWM的方法詳細概述

GReq_mcu168 ? 來源:未知 ? 作者:易水寒 ? 2018-06-12 20:01 ? 次閱讀

51單片機是可以輸出PWM的,比較的麻煩。此時需要用到內部定時器來實現(xiàn),可用兩個定時器實現(xiàn),也可以用一個定時器實現(xiàn)。

用兩個定時器的方法是用定時器T0來控制頻率,定時器T1來控制占空比。大致的的編程思路是這樣的:T0定時器中斷讓一個I0口輸出高電平,在這個定時器T0的中斷當中起動定時器T1,而這個T1是讓IO口輸出低電平,這樣改變定時器T0的初值就可以改變頻率,改變定時器T1的初值就可以改變占空比。

下面重點介紹用一個定時器的實現(xiàn)PWM的方法。以周期為1ms(1kHZ)為例,要產生其它頻率的PWM波,程序中只需作簡單修改即可。用一個定時器時(如定時器T0),首先要確定PWM的周期T和占空比D,確定了這些以后,就可以用定時器產生一個時間基準t,比如定時器溢出n次的時間是PWM的高電平的時間,則D*T=n*t,類似的可以求出PWM低電平時間需要多少個時間基準n。

因為這里我們是產生周期為1ms(1kHZ)的PWM,所以可設置中斷的時間基準為0.01ms,,然后中斷100次即為1ms。在中斷子程序內,可設置一個變量如time,在中斷子程序內,有三條重要的語句:

1、當time>=100時,time清零(此語句保證頻率為1kHZ);

2、當time>n時(n應該在0-100之間變化開),讓單片相應的I/O口輸出低電平;

3、當time<=n時,讓單片相應的I/O口輸出高電平,此時占空比就為%n。

下面程序產生30%占空比的pwm:

#include

#defineuintunsignedint

#defineucharunsignedchar

sbitPWM=P2^0;//P2.0輸出pwm

uchartime;//定義占空比的變量

voidmain()

{

TMOD=0x01;//定時器0工作方式1

TH0=0xff;//(65536-10)/256;//賦初值定時

TL0=0xf7;//(65536-10)%256;//0.01ms

EA=1;//開總中斷

ET0=1;//開定時器0中斷

TR0=1;//啟動定時器0

while(1)

{

}

}

voidtim0()interrupt1

{

TR0=0;//賦初值時,關閉定時器

TH0=0xff;//(65536-10)/256;//賦初值定時

TL0=0xf7;//(65536-10)%256;//0.01ms

TR0=1;//打開定時器

time++;

if(time>=100)//1khz

time=0;

if(time<=30)???//占空比%30,可改

PWM=1;

elsePWM=0;

}

最后的到波形,在示波器上顯示如下圖所示:

如果想修改占空比,直接在程序里面修改下面這句即可。

if(time<=30)//占空比%30,可改占空比

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • PWM
    PWM
    +關注

    關注

    116

    文章

    5344

    瀏覽量

    217840
  • 51單片機
    +關注

    關注

    277

    文章

    5708

    瀏覽量

    126339
  • 定時器
    +關注

    關注

    23

    文章

    3284

    瀏覽量

    117058

原文標題:利用51單片機輸出pwm

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    51單片機如何利用PWM定時器實現(xiàn)呼吸燈?

    51單片機如何利用PWM定時器實現(xiàn)呼吸燈?
    發(fā)表于 10-15 09:24

    基于51單片機定時器2的操作與實現(xiàn)

    基于51單片機定時器2的操作與實現(xiàn)51單片機定時器
    發(fā)表于 02-22 17:53 ?14次下載

    51單片機定時器寄存設置及應用詳細

    51單片機定時器寄存設置及應用詳細
    發(fā)表于 03-28 16:46 ?7次下載

    52單片機有幾個定時器?52單片機定時器1和52單片機定時器2程序對比

    52單片機有幾個定時器?STC89C52RC其實是有三個定時器單片機,STC89C52RC共有3個定時器,分別是T0、T1、T2。而
    發(fā)表于 11-10 14:30 ?3.6w次閱讀

    使用單片機定時器模擬PWM輸出實現(xiàn)呼吸燈的程序免費下載

    本文檔的主要內容詳細介紹的是使用單片機定時器模擬PWM輸出實現(xiàn)呼吸燈的程序免費下載。
    發(fā)表于 09-06 17:27 ?20次下載
    使用<b class='flag-5'>單片機</b>的<b class='flag-5'>定時器</b>模擬<b class='flag-5'>PWM</b>輸出<b class='flag-5'>實現(xiàn)</b>呼吸燈的程序免費下載

    51單片機的應該如何使用定時器詳細資料和實例說明

    本文檔的主要內容詳細介紹的是51單片機的應該如何使用定時器詳細資料和實例說明。
    發(fā)表于 08-29 17:28 ?2次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>的應該如何使用<b class='flag-5'>定時器</b><b class='flag-5'>詳細</b>資料和實例說明

    使用51單片機定時器實現(xiàn)LED閃爍的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機定時器實現(xiàn)LED閃爍的程序免費下載。
    發(fā)表于 08-22 17:30 ?7次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>定時器</b><b class='flag-5'>實現(xiàn)</b>LED閃爍的程序免費下載

    如何同時使用51單片機定時器0和串口使用問題詳細說明

    本文檔的主要內容詳細介紹的是如何同時使用51單片機定時器0和串口使用問題詳細說明。
    發(fā)表于 08-13 17:32 ?27次下載
    如何同時使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>定時器</b>0和串口使用問題<b class='flag-5'>詳細</b>說明

    如何使用51單片機通過定時器模擬輸出多路PWM程序免費下載

    本文檔的主要內容詳細介紹的是如何使用51單片機通過定時器模擬輸出多路PWM程序免費下載。
    發(fā)表于 07-17 17:38 ?22次下載
    如何使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>通過<b class='flag-5'>定時器</b>模擬輸出多路<b class='flag-5'>PWM</b>程序免費下載

    使用51單片機定時器和計數(shù)實現(xiàn)定時的實例說明

    本文檔的主要內容詳細介紹的是使用51單片機定時器和計數(shù)實現(xiàn)
    發(fā)表于 07-12 17:39 ?7次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>定時器</b>和計數(shù)<b class='flag-5'>器</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>定時</b>的實例說明

    51單片機定時器和計數(shù)的功能實現(xiàn)資料說明

    本文檔的主要內容詳細介紹的是51單片機定時器和計數(shù)的功能實現(xiàn)資料說明。
    發(fā)表于 06-19 17:44 ?0次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>定時器</b>和計數(shù)<b class='flag-5'>器</b>的功能<b class='flag-5'>實現(xiàn)</b>資料說明

    基于51單片機定時器

    設計思路。這樣自己拿到任何型號的51單片機,只要有原理圖,都可以自主設計。博主剛接觸單片機,才疏學淺,可能會出現(xiàn)設計不足和錯誤,歡迎大家評論區(qū)交流。^ _ ^/**********************************
    發(fā)表于 11-04 21:06 ?35次下載
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>定時器</b>

    51單片機——定時器

    51單片機——定時器為什么使用定時器定時器原理?定時器設置中斷配置源代碼為什么使用
    發(fā)表于 11-11 16:36 ?40次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>——<b class='flag-5'>定時器</b>

    51單片機定時器實現(xiàn)PWM

    51單片機是可以實現(xiàn)PWM波輸出的,原理其實都是一樣的。說白了,PWM波就是讓某一個引腳輸出周期性連續(xù)高低電平變化的信號。那么如何用
    發(fā)表于 11-12 10:36 ?13次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>定時器</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>PWM</b>波

    基于51單片機利用定時器和蜂鳴器唱歌例程源代碼

    基于51單片機利用定時器和蜂鳴器唱歌例程源代碼
    發(fā)表于 05-12 16:36 ?11次下載