<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

      51單片機雙極型PWM 的軟件實現

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2011-7-23
      Keil C是基于標準C內核的第三方語言,利用它可以很方便高效地實現對C51系列單片機的高級編程。C51是目前使用最普遍的8位單片機,價格低廉。它與軟件編程結合,可以比較方便地滿足眾多功能要求,甚至取代一些復雜的硬件電路,簡化硬件設計,并提高系統的可靠性和降低成本。基于這個思想,本文提出了一種在C51單片機上軟件實現相對復雜的雙極型PWM 的新方法。

      1 PWM 控制原理
          PWM(Pulse Width Modulation)即脈沖寬度調制,它通過控制信號去調制方波脈沖的寬度,從而獲得控制的實現。
          產生PWM 信號可以由硬件方法和軟件方法實現。傳統的硬件模擬方法是把調制信號和載波(一般是三角波)同時接入運算放大器的兩個輸入端作比較而得到。而軟件的實現,特別是基于單片機的軟件實現方法,主要是利用其內部提供的定時器,通過改變定時器的定時初值獲得不同的脈沖持續時間,如果把系統的控制信號和定時器的定時初值線性對應起來,就可獲得控制信號對脈寬調制的PWM 信號。所以這樣線性的對應過程就成為這個實現過程的關鍵。控制信號的種類不同,采用不同的計算方法,又可以獲得不同的PWM,見文獻[3]。

      2 在AT89C51中實現雙極型PWM的方法
          51系列單片機提供了非常豐富的資源,它除了擁有4個通用并口和1個串口外,還有外部中斷和內部定時器等。而且,不同的型號還集成有不同的功能,比如AT89C51就在片內集成了4 K 的ROM,這樣存儲空間可以滿足一般的編程需要,而不必去構建程序存儲器,既提高了工作效率和系統的穩定性,又降低了生產成本。
          基于AT89C51單片機的PWM 軟件實現的重要硬件支撐是該單片機內部的定時器。在AT89C51內實現PWM 的基本過程:首先選定脈沖的頻率T,然后根據控制信號的變化范圍,這里假設是(0~V),則可以求出t時刻通過控制信號V(t)的對應脈沖的正、負脈沖持續時間。這兩個時間長度在單片機里是通過給定時器賦相應的初值而得,即定時器獲得這樣的定時初值后就在機器周期的同步下,從這個初值加1計數,定時器滿時則產生相應時間長度的溢出中斷,再利用這個中斷所響應的服務程序去控制單片機某一引腳相應的正、負電平極性的持續時間。如果上述過程連續進行,就可在這個引腳獲得寬度隨控制信號V(t)大小變化的PWM方波信號。
          AT89C51單片機每個機器周期由6個狀態組成,每個狀態又有兩個時鐘周期,這樣一個機器周期就等于12個時鐘周期,即機器頻率為時鐘頻率的12分頻。通過對工作模式寄存器TMOD的賦值操作,把定時器設為內部定時狀態并選擇不同的定時方式。然后假設PWM 的周期T小于定時器一次溢出時間,即T<2Nus,這里的N為定時器的位數。這樣就可以得到脈寬(脈沖持續時間)twx定時初值Twx的關系:
      twx=(2N-Twx)×12/f us   (1)
          如果所用晶振為12 MHz,定時器為方式1,即為16位定時(這時定時有比較大的計數范圍,用途更為廣泛),這樣上式變為:
      twx=(216 - Twx )us   (2)
          之后再根據功率器件的時間特性和工作的平均功率值,確定一個合適的PWM 信號周期T,很顯然這個周期T就是由高電平脈寬twh和低電平脈寬twl組成,即:
      T=twh+ twl    (3)
          當調制PWM 脈寬的誤差信號V(f)(這個信號一般是由傳感器采集后經過相關處理后得到的誤差信號)的變化范圍是(0~V)或(-V~V)時,PWM脈寬與誤差信號為線性關系(實際可能不是線性的,但一般可以忽略或者可以通過前級進行軟件補償),可以從單片機的1個引腳得到PWM 信號,具體的過程在相關文獻已有敘述,見文獻[4]。
          然而,單片機一般是單極型的,它的邏輯0對應的實際電平是0 V,邏輯1對應的實際電平是+5 V。嚴格地說,在這種單片機上只能夠輸出單極型的PWM 信號。采用AT89C51結合軟件編程實現雙極型PWM 控制的設計思想是這樣的:從AT89C51的一個引腳得到正的單極型PWM 信號輸出,對另一個引腳做相應的設計和定義,讓它承擔對應的“負”極型PWM 信號的輸出。即當調制PWM 脈寬的誤差信號為正時,對應的PWM 就從AT89C51單片機的一個引腳輸出;當誤差信號為負時,對應的PWM 就從另外一個引腳輸出,盡管這個輸出信號的模擬電平也是正的,但它對應的是負值的誤差信號所產生的PWM 輸出,又是驅動負極型功率器件,和負極型PWM 功能一樣,于是可以把它等效為負極型PWM;當誤差信號為零時,相應的兩個引腳都沒有輸出,然后再把這兩個引腳接入PWM 功率驅動電路的輸入端。通過對誤差信號正負的判別,再利用AT89C51的兩個引腳就實現了雙極型的PWM。具體電路如圖1所示。
      雙極型的PWM 
          下面計算產生雙極型PWM 所需的定時初值。實際上穩定工作時,只有一個引腳有輸出,即一般兩個引腳不會同時輸出,所以可看作是兩個相對獨立的過程,可假設脈寬和誤差信號的線性對應關系:

      據此可求出定時初值與誤差信號的關系:
       
      由(1)式有
       
      把式(5)代入式(6)得:
       
          當晶振頻率取12 MHz時,f=12。采用定時方式1,則可以得到即時的控制信號V(t)和定時初值在PWM 信號的一個周期內的關系:
       
          因為V和V(t)通過對誤差計算都可以得到,所以根據式(8)可以求出t時刻對應的PWM 一個周期高低脈寬的定時初值(注意這里的T的單位是us,頻率f的單位為MHz)。

      3 Keil C下的程序實現
          Keil C是基于標準C的C51專用高級編程語言,它具備標準C的強大靈活的編程能力,同時又相對增加了對C51單片機硬件資源的直接操作,故在Keil C下對C51的程序設計幾乎使人們可擺脫對C51底層寄存器等硬件的煩瑣操作,編程效率顯著提高,并且程序運行速度和所占空間和匯編差別不大。這里利用定時器T0的方式1,采用其時間溢出中斷,中斷號為1,具體程序流程如圖2所示。
      Keil C下的程序實現 
      圖2 PWM信號實現的軟件流程
      E -誤差控制器;TH0-T0定時器高位;TL0-T0定時器低位;Twh、Twl-定時器初值

      4 結語
          單片機硬件發展很快,出現了16位、32位等多位機,但今后一段時期C51系列的8位機將仍占主流。通過適當的軟件開發,可以挖掘其內在價值,這樣既降低了生產成本,又鍛煉了個人的軟件開發能力。
      參考文獻:
      [1] 李朝青.原理及接口技術[M].北京:北京航空航天大學出版社,1999.
      [2] 孫傳友.測控系統原理與設計[M].北京:北京航空航天大學出版社,2002.
      [32 張運波.PWM 信號的軟件實現方法[J].微型計算機信息,2002,8(10)

      Tags:51單片機,單片機,pwm  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 天天综合网色中文字幕| 中文自拍日本综合| 久久婷婷激情综合色综合俺也去| 国产成人综合日韩精品无码| 丁香婷婷激情综合俺也去| 日韩亚洲综合精品国产| 久久综合日本熟妇| 亚洲av无码国产综合专区| 亚洲综合免费视频| 女人和拘做受全程看视频日本综合a一区二区视频 | 久久一本色系列综合色| 狠狠色噜狠狠狠狠色综合久| 伊人久久亚洲综合| 国产成人综合野草| 丁香婷婷激情综合俺也去 | 青青热久久综合网伊人| 国产成人综合亚洲一区| 亚洲av伊人久久综合密臀性色| 日日AV色欲香天天综合网| 久久午夜综合久久| 久久婷婷五月综合97色直播| 国产综合精品在线| 麻豆久久婷婷五月综合国产| 久久一区二区精品综合| 亚洲综合伊人久久综合| 久久久久久久综合日本| segui久久综合精品| 天天综合网网欲色| 国产综合激情在线亚洲第一页| 亚洲综合网美国十次| 伊人久久大香线蕉综合网站| 色综合色综合色综合色综合网| 久久综合给合综合久久| 亚洲综合AV在线在线播放| 插插插色欲综合网| 激情综合亚洲色婷婷五月| 久久久久青草线蕉综合超碰| 亚洲综合一区二区精品久久| 婷婷五月综合激情| 久久乐国产精品亚洲综合| 区二区三区激情综合|