標題: 關(guān)于單片機IO模擬PWM輸出的問題,求思路 [打印本頁]

作者: 677beach    時間: 2022-4-14 15:49
標題: 關(guān)于單片機IO模擬PWM輸出的問題,求思路
1.最初的輸出波形

2.變化后的輸出波形


請問怎么用IO模擬的方式實現(xiàn)1圖到2圖的變化???





作者: lkc8210    時間: 2022-4-14 17:44
先把你的代碼貼出來才知道怎么改
作者: wfqxgw    時間: 2022-4-15 09:10
提供一個思路!H供參考:
先把這組波形量化。再根據(jù)每個節(jié)點變換電平,
比如,目前把這組波形量化為100,那么每個分隔點具體在什么位置,自己確定后。再變換電平就行。


作者: yzwzfyz    時間: 2022-4-15 10:31
初始化;
1、P1.0=1(正波),P1.1=0(負波)的初值。
2、給出周期T并假設T=100,給出周期計數(shù)器TT,并置數(shù):TT=T=100
3、給出正脈沖寬度:P10W=0.5T=50,給出正脈沖計數(shù)器PP10,并置數(shù):PP10=0.5T=50(符合圖一)。
4、做個定時器,每次中斷時做如下活(中斷時間有你自定):
中斷服務程序:
2.1、TT-1,如果TT=0,就復位TT=T,并做:P1.0=1(正波),P1.1=0(負波)【復位波形:最好這樣做:P1=xxxxxx10,可以同時改變】。
2.2、PP10-1,如果PP10=0,就復位PP10=P10W,并做:P1.0=0(正波),P1.1=1(負波)【反轉(zhuǎn)波形:最好這樣做:P1=xxxxxx01,可以同時改變】。
以上處理,圖一就有了。特點:周期由T決定,正脈沖寬度由P10W決定。

以下是圖二,很簡單:改變P10W的值就可以了,試試將P10W從50逐步+1到99。
相信你是有辦法了,不再講了。
作者: 677beach    時間: 2022-8-6 18:18
yzwzfyz 發(fā)表于 2022-4-15 10:31
初始化;
1、P1.0=1(正波),P1.1=0(負波)的初值。
2、給出周期T并假設T=100,給出周期計數(shù)器TT,并置數(shù): ...

謝謝,感謝解答,其實改變PWM周期,再調(diào)節(jié)占空比就能實現(xiàn)。和你說的一樣
作者: zilihangjian    時間: 2022-8-8 16:33
改占空比和周期就行了,直接改成可調(diào)節(jié)的 用數(shù)字電阻器調(diào)節(jié)就可以了




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1