欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1847|回復: 5
打印 上一主題 下一主題
收起左側

如何用一個定時器產生兩個相位相差百分之五十的百分之二十占空比的pwm波

[復制鏈接]
跳轉到指定樓層
樓主
ID:819526 發表于 2023-11-21 08:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如何用一個單片機定時器產生兩個相位相差百分之五十的百分之二十占空比的pwm波,pwm頻率時2.5k不能使用定時器中斷因為使用的單片機資源有限,頻繁進入中斷會打亂其他程序執行,所以我想問一下如何使用一個定時器完成這個內容。單片機型號CPS32K21
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:819526 發表于 2023-11-21 14:09 | 只看該作者
找到方法了,中央對齊模式,然后設置兩個通道輸出極性相反通過設置互補的占空比來形成180°相位差。
回復

使用道具 舉報

板凳
ID:123289 發表于 2023-11-21 15:47 | 只看該作者
設:
1、定時器中斷時間為:T,即每經過時間T中斷一次。
2、2NT為PWM的周期。
3、兩個PWM分別從P1.0、P1.1輸出。

方案:定義三個變量
1、變量1:TW,用于計數PWM周期(初始=0,計數值 0-2N)。
2、變量2:TH,用于計數脈部寬度(輸出=1的時間)。
3、變量3:TH2,用于計數P1.1的脈沖寬度(=1的時間)。
  
中斷服務程序這樣寫:
1、【PWM的周期】:每次中斷 TW + 1 ,當TW = 2N 時,讓TW = 0,重新計數,這樣就完成PWM周期計數。
2、動作判定:
   【第一路P1.0】
   當TW = 0 時,讓 P1.0 = 1,PWM輸出1;
   當TW = TH 時,讓P1.0 = 0,PWM輸出0,這樣第一路P1.0輸出1的寬度就是TH。
   
   【第二路P1.1】
   當TW = N 時,讓 P1.1 = 1,這樣,P1.1以50%的相差輸出PWM=1;要點:同時讓TH2 = TH,開始計時P1.1輸出1的時間。(退出程序,跳過3、)            
   當TW <> N 時,執行以下3、。

3、【P1.1 = 1的時間】
    如果TH2 = 0,什么也不做,保持現狀(此時P1.1必定輸出0)。     
    如果TH2 <> 0,則 TH2 -1(P1.1 = 1計時,此時P1.1必定輸出1), 當TH2 = 0 時(減成0時,1應該結束了),讓P1.1 = 0,這樣第二路輸出1的寬度就也是TH。

如此,選擇不同的TH值,可得到不同的占空比,而兩個輸出的相差保持50%。注意:必須保證TH < TW。
回復

使用道具 舉報

地板
ID:819526 發表于 2023-11-21 16:52 | 只看該作者
yzwzfyz 發表于 2023-11-21 15:47
設:
1、定時器中斷時間為:T,即每經過時間T中斷一次。
2、2NT為PWM的周期。

我就是不想頻繁進入中所以才有的這個問題,現在已經解決了,采取的是相反極性加中間對齊的pwm解決的,以為相位正好差一半所以剛剛好滿足要求
回復

使用道具 舉報

5#
ID:275826 發表于 2023-11-23 17:33 | 只看該作者
不用中斷,用查詢方法能精確嗎?
回復

使用道具 舉報

6#
ID:491577 發表于 2023-11-25 00:49 | 只看該作者
樓主神人呀,定時器不用中斷可以兩個做出20%PWM,牛
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表