1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4231|回復: 5
收起左側

如何做單片機多路高效率1kHZ的pwm 困擾了我很久了

[復制鏈接]
ID:272269 發表于 2018-3-26 15:23 | 顯示全部樓層 |閱讀模式
怎么樣在stc12c上做多路(最好是3路以上)1kHZ的pwm用定時器定時
有什么思路更有效率解決
這個問題困擾了我很久
回復

使用道具 舉報

ID:155507 發表于 2018-3-26 21:50 | 顯示全部樓層
怎么可能搞不了三路獨立的呢?不要被STC12C5A60S2的硬件蒙蔽了視線,認為,STC12C只有兩路PWM,無法實現3路,你卻忘記了最原始的辦法,不要說STC12有PWM功能,即使是傳統的AT89S52這類沒有PWM功能的單片機也一樣能夠實現樓主的要求. 就是軟件實現PWM功能
回復

使用道具 舉報

ID:212149 發表于 2018-3-27 10:19 | 顯示全部樓層
用定時器可以實現在任意io上輸出pwm,可以很多路,一般控制多個舵機我都是這么做得。
回復

使用道具 舉報

ID:297722 發表于 2018-3-27 13:10 | 顯示全部樓層
用一個定時器產生基本時鐘,PWM周期和占空比做成多路不同的表格數據,然后從定時器中斷中取數控制多路PWM輸出即可
回復

使用道具 舉報

ID:373976 發表于 2020-3-13 12:00 | 顯示全部樓層
QWER01234 發表于 2018-3-27 10:19
用定時器可以實現在任意io上輸出pwm,可以很多路,一般控制多個舵機我都是這么做得。

我最近也在想這問題,你說的方式理論沒問題,但是路數多了會不會閃爍呢
回復

使用道具 舉報

ID:687694 發表于 2020-3-13 13:14 | 顯示全部樓層
這個問題也不難解決,如果只是單純的PWM輸出,沒有其他延遲高的處理任務,則直接由中斷產生時間片中斷,以1000hz周期為切時間片N份,設置每路輸出的反轉點變量,比較變量與N反轉輸出即可。
如果有其他高延遲任務但可重入函數類型的,可采用RTX-51(keil自帶51操作系統)以RTX系統延遲為基準計數變量N,周期為1000kz,在每個任務(一路pwm)中比較設定值與變量N大小決定輸出翻轉即可得到多路pwm。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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