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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于STC系列單片機的SPWM波形實現

          基于STC系列單片機的SPWM波形實現

          作者: 時間:2010-03-24 來源:網絡 收藏

          2 生成波原理
          2.1 簡介
          l2是美國STC公司在8051單片機標準的內核基礎上改進推出的一個增強型功能的8051的單片機,從引腳到指令上完全與8051單片機兼容。最突出的特點就是其具有可編程計數器陣列PCA。以STCl2C5410AD為例,有四路可編程計數器陣列PCA/PWM。PCA含有一個特殊的16位定時器,有4個16位的捕獲/比較模塊與之相連。四個模塊的公共時間基準由PCA定時器決定,可以通過PCA模式寄存器CMOD SFR的CPSl和CPS0位確定。每個模塊可編程工作在4種模式下:上升/下降沿捕獲、軟件定時器、高速輸出或PWM脈沖輸出。文中生成功能主要靠PWM脈沖輸出模式完成。圖2即為PCA模塊脈寬調節(jié)PWM輸出模式框圖。


          在PCA PWM輸出模式中,當CLSFR的值小于{EPCnL,CCAPnL}時,輸出為低,當PCA CL SFR的值等于或大于{EPCnH,CCAPnH}時,輸出為高。當CL的值由FF變?yōu)?0溢出時,{EPCnH,CCAPnH}的內容裝載到{EPCnL,CCAPnL}中。這樣就了無干擾的更新PWM。要使能PWM模式,模塊CCAPMn寄存器的PWMn和ECOMn位必須置位。本文中,是綜合使用了模塊O的脈寬調節(jié)(PWM)模式和模塊1的16位軟件定時器模式,通過軟件中斷的形式的。
          與此同時,STCl2C54lO單片機還具有快速A/D轉換功能。有一個lO位精度、8路通道的A/D轉換器??梢苑奖愕膶斎?、輸出的電壓、電流進行監(jiān)控和顯示。
          2.2 SPWM波生成方法
          利用STC系列單片機產生SPWM波的基本原理是:將載波周期數值賦給PCA模塊l的16位捕獲/比較模塊寄存器CCAPlH(高8位)和CCAPlL(低8位),PCA定時器的值CH(高八位)、CL(低八位)與模塊捕獲寄存器的值相比較,當兩者相等時,產生PCA中斷。在中斷中,調用模塊0的PWM脈寬調節(jié)模式,將下一個SPWM波的脈寬通過CCAP0H裝載到CCAPOL中,這樣就可以無干擾的更新PWM。
          圖3中即為由軟件實時計算好的一路單極性SPWM的脈寬示意圖。在每個固定的載波周期內,不同脈寬數值組成一個正弦表格的形式。若選用模塊O(P3.7)輸出此路SPWM,首先將模塊0的PCA模塊工作模式寄存器定義為8位PWM模式,將16位計數器定時器CH、CL清零,PCA PWM模式輔助寄存器O清零(保證捕獲寄存器EPCOH(高八位)、EPC0L(低八位)固定為零,PWM波比較的數值只與PCA模塊0的捕獲寄存器CCAPOH(高八位)、CC2APOL(低八位)有關),模塊l的捕獲寄存器CCAPlH(高八位)、CCAPlL(低八位)送入載波周期的高八位和第八位數值,PCA比較/捕獲模塊寄存器1(CCAPMl)定義為使能比較功能,允許匹配產生中斷。將第一個脈寬值sin[0]裝入CCAP0H,開PCA模塊中斷及低壓檢測中斷,開總中斷,啟動PCA計數。當16位計數器/定時器的數值與模塊1中捕獲/比較寄存器的數值相等時,產生一個CCF中斷;在中斷程序中,清中斷標志位,重新給模塊1的捕獲寄存器CCAPlH(高八位)、CCAPlL(低八位)送入載波周期的高八位和第八位數值,將16位計數器定時器CH、CL清零,中斷次數i加1,將下一個脈寬數值sin[i]裝入CCAPOH以備比較。同時判斷是否到達最大數值N,若是,中斷次數i清零,同時將脈寬數sin[i]值送入CCAP0H,完成一個循環(huán)。這樣,周而復始,在P3.7引腳上將不斷產生隨著正弦規(guī)律變化的脈寬,從而得到準確的SPWM波。


          2.3 軟件設計
          程序編寫采用KeilC51編程語言進行,整個程序由主程序和鍵盤中斷子程序以及PCA中斷子程序組成。主程序在系統(tǒng)初始化后進入SPwM脈寬計算程序,計算相應的脈沖寬度,形成正弦表格,等待中斷標志位以響應不同的中斷。由于SPWM波是不斷輸出的,必須將PCA中斷級別設置為最高。一旦有PCA中斷標志位,即轉入執(zhí)行其中斷子程序。圖4為PCA中斷子程序流程圖。在中斷服務程序中,注意CCF1位和CF標志位均由硬件置位,但不能自動清零,必須在中斷程序中由軟件清零。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();