回覆列表
-
1 # 起啥名都不合適
-
2 # 愛吃蘋果的阿狸丶
很簡單這個,12/15系列微控制器都有這個功能,PWM主要設定時鐘的週期,比較暫存器的值來控制PWM的佔空比,手冊上介紹應該很詳細,不會用可私聊我!
-
3 # silence7496
一是需要了解你的需求,你的pwm是什麼引數,佔空比是多少;二是查詢微控制器手冊,該型號微控制器是否有pwm功能,如果沒有,需要用定時器去模擬,這時你就需要查詢定時器相關配置方式,根據你的佔空比計算定時器暫存器需要寫入的值;三是函式功能的封裝,將實現功能方法寫成獨立的函式,方便呼叫。
-
4 # 趣味硬體
首先,問題沒有說明微控制器的具體型號,以STC12C5A60S2來說明
STC12C5A60S2內建有兩個 程式設計計數器陣列(PCA) 模組,分別用於軟體定時器,外部脈衝的捕捉,高速輸出以及脈寬調製輸出(PWM)。具體暫存器詳見資料手冊這裡就不多累述了。
這裡就只講PWM的實現,首先需要對PCA進行初始化配置,程式碼如下:
上述程式碼設定了 P1.3作為 PWM0的輸出腳,並初始化了PWM0,當然初始化完成後,預設佔空比為0。
接下來對佔空比進行控制:
這樣就完成PWM0控制部分的編寫了,當然還有PWM1沒有寫,相信聰明的讀者也已經明白PWM1該如何配置了,具體參考資料手冊,資料手冊才是硬道理,其他都是虛的。
首先給你說明,低端的STC微控制器不帶PWM模組,比如STC89C52,只能透過定時器去設定佔空比模擬pwm。增強型51有一部分會有例如STC12,你應該下個技術手冊,看看到底有沒有,技術手冊會詳細介紹怎麼配置