<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于STCl2C2052單片機(jī)的對(duì)講機(jī)加密系統(tǒng)設(shè)計(jì)

          基于STCl2C2052單片機(jī)的對(duì)講機(jī)加密系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2011-11-09 來(lái)源:網(wǎng)絡(luò) 收藏

            2 PWM調(diào)制原理

            脈寬調(diào)制(Pulse WidthModulation,PWM)是利用微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測(cè)量、通信到功率控制與變換的許多領(lǐng)域中。脈沖寬度調(diào)制原理如圖1所示。

          脈沖寬度調(diào)制原理

          圖1 脈沖寬度調(diào)制原理

            簡(jiǎn)而言之,PWM是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。通過(guò)高分辨率計(jì)數(shù)器的使用,方波的占空比被調(diào)制用來(lái)對(duì)一個(gè)具體模擬信號(hào)的電平進(jìn)行編碼。PWM信號(hào)仍然是數(shù)字的,因?yàn)樵诮o定的任何時(shí)刻,滿幅值的直流供電要么完全有(ON),要么完全無(wú)(0FF)。電壓或電流源是以一種通(ON)或斷(0FF)的重復(fù)脈沖序列被加到模擬負(fù)載上去的。通,即直流供電被加到負(fù)載上時(shí);斷,即供電被斷開(kāi)時(shí)。只要帶寬足夠,任何模擬值都可以使用PWM進(jìn)行編碼。

            PWM的一個(gè)優(yōu)點(diǎn)是從處理器到被控系統(tǒng)信號(hào)都是數(shù)字形式的,無(wú)需進(jìn)行數(shù)/模轉(zhuǎn)換。讓信號(hào)保持為數(shù)字形式可將噪聲影響降到最小。只有噪聲在強(qiáng)到足以將邏輯1改變?yōu)檫壿?,或?qū)⑦壿?改變?yōu)檫壿?時(shí),才能對(duì)數(shù)字信號(hào)產(chǎn)生影響。

            PWM相對(duì)于模擬控制的另外一個(gè)優(yōu)點(diǎn)是對(duì)噪聲抵抗能力強(qiáng),這也是在某些時(shí)候?qū)WM用于通信的主要原因。從模擬信號(hào)轉(zhuǎn)向PWM可以極大地延長(zhǎng)通信距離。在接收端,通過(guò)適當(dāng)?shù)腞C或LC網(wǎng)絡(luò)可以濾除調(diào)制高頻方波,并將信號(hào)還原為模擬形式。

            許多微控制器內(nèi)部都包含有PWM控制器。例如,STC12C2052內(nèi)含兩個(gè)PWM控制器,每一個(gè)都可以選擇接通時(shí)間和周期。占空比是接通時(shí)間與周期之比;調(diào)制頻率為周期的倒數(shù)。執(zhí)行PWM操作之前,這種微處理器要求在軟件中完成以下工作:

           ?、僭O(shè)置提供調(diào)制方波的片上定時(shí)器/計(jì)數(shù)器的周期;

           ?、谠赑WM控制寄存器中設(shè)置接通時(shí)間;

           ?、墼O(shè)置PWM輸出的方向,這里是通用I/O引腳;

            ④啟動(dòng)定時(shí)器;

            ⑤使能PWM控制器(雖然具體的PWM控制器在編程細(xì)節(jié)上會(huì)有所不同,但它們的基本思想是相同的)。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();