回覆列表
  • 1 # 微控制器軟體工程師

    1 微控制器定時器有比較輸出的情況,可以透過修改比較閾值來改變佔空比,佔空比為比較閾值/溢位計數值

    2沒有上面的功能時,可以用定時器產生基準時鐘,頻率要高點,比如10K,一個週期為0.1ms,輸出IO波形頻率為100HZ,佔空比調節範圍0%~99%.相當於模擬一個比較器,軟體去記錄0.1ms內 定時器產生了的多少次,比如我想要50%佔空比,記錄開始輸出高電平,到第50次時輸出低電平,想要70%佔空比,就是記錄到70次時輸出低電平。

  • 2 # 海底核電站

    如果需要PWM功能,但你用的MCU恰好又沒有,最簡單的辦法就是換一個,一般來說,連PWM功能都沒的MCU效能都一般。確實不想換,就想玩玩,其實也不難,就是用程式碼控制IO的電平而已:

    例如要在埠D1輸出佔空比30%,頻率為1KHz的方波,可以這樣:

    do

    portd.1=0

    waitus 700

    portd.1=1

    waitus 300

    loop

    當然了,前提是waitus要夠準。

  • 3 # 玩轉嵌入式

    利用微控制器的PWM片上資源可以很方便的輸出PWM波形和調節其佔空比,所謂佔空比就是在一個週期內高電平所佔的比例,如下圖所示:

    佔空比=T1/T×100%,如果微控制器沒有PWM片上資源可透過普通GPIO和定時器配合輸出不同佔空比的方波。分兩種情況介紹。

    1.不帶有比較功能的情況

    如果微控制器沒有PWM功能,又沒有比較功能,那就透過定時器輸出。定時器輸出方波的原理時,定時翻轉GPIO口的輸出狀態,要想改變佔空比,那就去改變定時器輸出高電平的時間,針對不同的佔空比計算出定時器所需要的初值,每次載入定時器初值。下圖時51微控制器的定時器暫存器含義。

    2.微控制器帶有比較功能

    如果微控制器帶有比較功能,讓微控制器工作在比較功能下,可以透過設定比較功能的閾值來改變GPIO口的翻轉實現佔空比的可調。這種方法需要根據不同的佔空比,計算出所對應的比較器閾值,達到設定值後GPIO口就改變當前的電平狀態,即實現了不同的佔空比的輸出。

    一般來說微控制器的CCP功能是綁在一起的,即Capture(捕獲),Compare(比較),PWM(脈寬調製)等功能。沒有PWM功能也就沒有比較功能。所以沒有CCP功能的微控制器一般使用定時器輸出可變佔空比的方波。

  • 中秋節和大豐收的關聯?
  • 美元與美金有什麼區別?一樣嗎?