99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

GReq_mcu168 ? 來(lái)源:未知 ? 作者:易水寒 ? 2018-06-12 20:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

因?yàn)檫@里我們是產(chǎn)生周期為1ms(1kHZ)的PWM,所以可設(shè)置中斷的時(shí)間基準(zhǔn)為0.01ms,,然后中斷100次即為1ms。在中斷子程序內(nèi),可設(shè)置一個(gè)變量如time,在中斷子程序內(nèi),有三條重要的語(yǔ)句:

1、當(dāng)time>=100時(shí),time清零(此語(yǔ)句保證頻率為1kHZ);

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

3、當(dāng)time<=n時(shí),讓單片相應(yīng)的I/O口輸出高電平,此時(shí)占空比就為%n。

下面程序產(chǎn)生30%占空比的pwm:

#include

#defineuintunsignedint

#defineucharunsignedchar

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

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

voidmain()

{

TMOD=0x01;//定時(shí)器0工作方式1

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

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

EA=1;//開(kāi)總中斷

ET0=1;//開(kāi)定時(shí)器0中斷

TR0=1;//啟動(dòng)定時(shí)器0

while(1)

{

}

}

voidtim0()interrupt1

{

TR0=0;//賦初值時(shí),關(guān)閉定時(shí)器

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

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

TR0=1;//打開(kāi)定時(shí)器

time++;

if(time>=100)//1khz

time=0;

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

PWM=1;

elsePWM=0;

}

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

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

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

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

    關(guān)注

    116

    文章

    5469

    瀏覽量

    218870
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    277

    文章

    5710

    瀏覽量

    127116
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3298

    瀏覽量

    117675

原文標(biāo)題:利用51單片機(jī)輸出pwm

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

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

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

    51單片機(jī)定時(shí)器寄存設(shè)置及應(yīng)用詳細(xì)

    51單片機(jī)定時(shí)器寄存設(shè)置及應(yīng)用詳細(xì)。
    發(fā)表于 03-28 16:46 ?7次下載

    52單片機(jī)有幾個(gè)定時(shí)器?52單片機(jī)定時(shí)器1和52單片機(jī)定時(shí)器2程序?qū)Ρ?/a>

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

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

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

    51單片機(jī)的應(yīng)該如何使用定時(shí)器詳細(xì)資料和實(shí)例說(shuō)明

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

    使用51單片機(jī)定時(shí)器實(shí)現(xiàn)LED閃爍的程序免費(fèi)下載

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

    如何同時(shí)使用51單片機(jī)定時(shí)器0和串口使用問(wèn)題詳細(xì)說(shuō)明

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

    如何使用51單片機(jī)通過(guò)定時(shí)器模擬輸出多路PWM程序免費(fèi)下載

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

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

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

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

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

    51單片機(jī)——定時(shí)器

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

    51單片機(jī)定時(shí)器實(shí)現(xiàn)PWM

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

    51單片機(jī)定時(shí)器/計(jì)數(shù)

    CPU的參與。3、51單片機(jī)中的 定時(shí)器/計(jì)數(shù) 是根據(jù) 機(jī)器內(nèi)部的時(shí)鐘 或者是 外部的脈沖信號(hào) 對(duì)寄存中的數(shù)據(jù)加1。4、有了
    發(fā)表于 11-20 20:06 ?47次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>定時(shí)器</b>/計(jì)數(shù)<b class='flag-5'>器</b>

    基于51單片機(jī)利用定時(shí)器和蜂鳴器唱歌例程源代碼

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