ob体育竞彩 _欧宝体育在线链接 學習網站

單片機沒有PWM外設也可以做可調占空比

時間:2018-12-12 09:21 來源:ob体育竞彩

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


占空比=T1/T×100%,如果單片機沒有PWM片上資源可通過普通GPIO和定時器配合輸出不同占空比的方波。分兩種情況介紹。
1.不帶有比較功能的情況
如果單片機沒有PWM功能,又沒有比較功能,那就通過定時器輸出。定時器輸出方波的原理時,定時翻轉GPIO口的輸出狀態,要想改變占空比,那就去改變定時器輸出高電平的時間,針對不同的占空比計算出定時器所需要的初值,每次加載定時器初值。下圖時51單片機的定時器寄存器含義。

2.單片機帶有比較功能
如果單片機帶有比較功能,讓單片機工作在比較功能下,可以通過設置比較功能的閾值來改變GPIO口的翻轉實現占空比的可調。這種方法需要根據不同的占空比,計算出所對應的比較器閾值,達到設定值後GPIO口就改變當前的電平狀態,即實現了不同的占空比的輸出。
一般來說單片機的CCP功能是綁在一起的,即Capture(捕獲),Compare(比較),PWM(脈寬調製)等功能。沒有PWM功能也就沒有比較功能。所以沒有CCP功能的單片機一般使用定時器輸出可變占空比的方波。

占空比可調的PWM
這個占空比其實也很容易改變,隻需要我們改變高低電平的時間,如果你不想這麼做,可以往單片機上加一個電位器,在我們旋轉電位器的時候,把對應的電壓傳給單片機,單片機再通過不同的電壓改變不同的時間,以此來達到調節占空比的目的。
如果需要PWM功能,但你用的MCU恰好又沒有,最簡單的辦法就是換一個,一般來說,連PWM功能都沒的MCU性能都一般。確實不想換,就想玩玩,其實也不難,就是用代碼控製IO的電平而已:
例如要在端口D1輸出占空比30%,頻率為1KHz的方波,可以這樣:

do

portd.1=0

waitus 700

portd.1=1

waitus 300

loop

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

    看過《單片機沒有PWM外設也可以做可調占空比》的人還看了以下文章
    初學單片機從51入門的好處 初學單片機從51入門的好處
    51單片機是一款已經出現很久的單片機,它的出現可以說是劃時代的。同時期出現的其它單片機都已經逐漸退出曆史的舞台,而它卻依舊出現在某些專業的教材上。從這點來看,它依舊有其學習的意義。下麵說說初學單片機從51入門的好處。 51單片機的學習資源非常多...
    單片機為啥叫單片機 單片機為啥叫單片機
    1、MCU 我一般在工作計劃和原理圖的說明上,就直接將STM32或者STC89的單片機,標注為MCU。 無論是理解為Micro CPU,還是Microcontroller Unit,我認為都行,也沒有仔細去區分去過。自從32位單片機出來後,一些單片機設計的係統確實是具備部分電腦的功能。 你...
    16位單片機低端打不過8位高端打不過32位怎麼看 16位單片機低端打不過8位高端打不過32位怎
    有時間去了解一下TI的MPS係列的單片機,它的低功耗和8位的51還有32位的STM32還是有一定的區別度的。 就比如MSP430係列,一些醫療的應用也少不了它,其各種低功耗的應用和例子一抓一大把。 也許從價格上來說,感覺,8位的便宜好買;從性能上來說,感覺,32位的...
    單片機行業可以轉什麼行業 單片機行業可以轉什麼行業
    單片機行業可以轉很多方麵的工作啊,具體看你從事的硬件還是軟件。 對於之前從事單片機硬件的,有了這個硬件基礎,可以去的行業多了,畢竟很少有哪個行業離得開硬件的,像現在火熱的5G通信行業,手機終端行業、IOT行業、乃至AI行業,搞硬件的都有用武之地。...
    我是如何自學單片機編程語言的 我是如何自學單片機編程語言的
    首先肯定一點的是,編程是完全可以自學的,並且隻要掌握了中學水平的知識就可以學會。下麵我來給朋友們分享一下我是如何自學單片機編程語言的。 學習編程需要方法 我記得最初學習單片機編程語言是學的彙編語言,在當時比較流行的單片機是MSC-C51為內核的芯片...
    Baidu
    map