當前位置:編程學習大全網 - 網站源碼 - 用51單片機同時實現四路PWM波,(C語言)

用51單片機同時實現四路PWM波,(C語言)

定個時間20ms周期的定時器,然後在定時器到達那些點的時候,讓自己設的那些變量依次變化。 再根據自己的變量,付給輸出端口就可以了。 看著像舵機的

看了妳追問的,原來是四路每壹路都產生變化的波形。那個也好辦。可以通過計算,把這幾個波形統壹起來成壹個周期,比如開始0.5ms到了,讓定的值取反,再加19.5再取反,再加1.3Ms再取反,再加18.7ms再取反...然後壹直這樣把幾個都寫完。

還有種方法,來改變第壹個pwm的設定值。比如放數組裏壹***5個設定值,分別代表妳設定的高電平時間,依次替換第壹個定時器裏面的中端時間即可。

當然,前兩種都差不多,還有壹種方法供妳擴展:就是用兩個定時器,然後按照時間去匹配修改。當然,51單片機那精度就不說了,不太確信可以達標,壹個定時器進中斷了,另壹個就要停壹下。。

BTW,個人感覺51的單片機沒有很好的pwm模塊,這樣寫了Pwm程序,別的就幹不了了。建議用用帶epwm模塊的mcu,直接調用epwm和epwm中斷,節省cpu資源,可以多寫很多程序。

  • 上一篇:請問大家在flash中按鈕可以控制按鈕嗎?或者說是影片剪輯 ?代碼?具體怎麽操作?
  • 下一篇:上位機java調用c的程序。
  • copyright 2024編程學習大全網