本篇文章給大家談?wù)勗趺磳憘€(gè)pwm程序設(shè)計(jì),以及pwm實(shí)現(xiàn)da對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
- 1、怎么51單片機(jī)定時(shí)器來模擬PWM波?
- 2、51單片機(jī)一個(gè)io口輸出不同的4個(gè)不同的pwm
- 3、求高人指點(diǎn)PIC單片機(jī)PWM控制頻率的C應(yīng)用程序?(并非51單片機(jī))
怎么51單片機(jī)定時(shí)器來模擬PWM波?
沒有硬件的PWM,得全靠軟件模擬。調(diào)速程序可以用定時(shí)器做,首先設(shè)置兩個(gè)定時(shí)用的全局變量,一個(gè)代表高電平時(shí)間一個(gè)代表低電平時(shí)間。
主要通過一個(gè)定時(shí)器和一個(gè)IO口來實(shí)現(xiàn)PWM的輸出。x0dx0a在一個(gè)周期里面,首先讓IO口輸出高電平,并定時(shí)一定的時(shí)間x0dx0a然后再將IO口輸出低電平,定時(shí)一定的時(shí)間。x0dx0a然后在while里面循環(huán)輸出即可。x0dx0a需要改變占空比的話就改變高電平的時(shí)間與低電平的時(shí)間比。
用兩個(gè)定時(shí)器的方法是用定時(shí)器T0來控制頻率,定時(shí)器T1來控制占空比。大致的的編程思路是這樣的:T0定時(shí)器中斷讓一個(gè)I0口輸出高電平,在這個(gè)定時(shí)器T0的中斷當(dāng)中起動(dòng)定時(shí)器T1,而這個(gè)T1是讓IO口輸出低電平,這樣改變定時(shí)器T0的初值就可以改變頻率,改變定時(shí)器T1的初值就可以改變占空比。
系列單片機(jī)無PWM輸出功能,可以采用定時(shí)器配合軟件的方法輸出。對(duì)精度要求不高的場合,非常實(shí)用。電路圖見圖一,采用了高速光隔(6N137)輸出,并將PWM的信號(hào)倒相。原理圖 圖一固定脈寬PWM輸出 用T0定時(shí)器完成PWM輸出,脈寬固定:65536微妙。
輸出38KHz的PWM?分辨率是多少位呢?我用STC15F做過:2個(gè)自裝填定時(shí)器,1個(gè)輸出PWM,1個(gè)控制占空比。改變PWM裝填初值即可改變頻率。
51單片機(jī)一個(gè)io口輸出不同的4個(gè)不同的pwm
首先要明白PWM的含義,PWM就是輸出不同占空比的脈沖,普通51單片機(jī)IO口輸出PWM的話,可以用定時(shí)器去計(jì)時(shí),比如要輸出100HZ的占空比50%的PWM。
當(dāng)然,前兩種都差不多,還有一種方法供你擴(kuò)展:就是用兩個(gè)定時(shí)器,然后按照時(shí)間去匹配修改。當(dāng)然,51單片機(jī)那精度就不說了,不太確信可以達(dá)標(biāo),一個(gè)定時(shí)器進(jìn)中斷了,另一個(gè)就要停一下。BTW,個(gè)人感覺51的單片機(jī)沒有很好的pwm模塊,這樣寫了Pwm程序,別的就干不了了。
Atmel 51單片機(jī)不帶PWM功能,只有自己用定時(shí)器做;STC 51的有帶PWM功能。
用兩個(gè)定時(shí)器的方法是用定時(shí)器T0來控制頻率,定時(shí)器T1來控制占空比。大致的的編程思路是這樣的:T0定時(shí)器中斷讓一個(gè)I0口輸出高電平,在這個(gè)定時(shí)器T0的中斷當(dāng)中起動(dòng)定時(shí)器T1,而這個(gè)T1是讓IO口輸出低電平,這樣改變定時(shí)器T0的初值就可以改變頻率,改變定時(shí)器T1的初值就可以改變占空比。
求高人指點(diǎn)PIC單片機(jī)PWM控制頻率的C應(yīng)用程序?(并非51單片機(jī))
1、第一:pic需要專門的下載器下載程序。第二:引腳位置不一樣,電源、io口對(duì)應(yīng)不上。第三:外接電路參數(shù)也許對(duì)不上??傊?,這塊板子是為51設(shè)計(jì)的,上pic的片子運(yùn)行不了。希望我的回答能幫助到你。
2、脈寬調(diào)制的基本原理脈寬調(diào)制(PWM)是利用微處理器的數(shù)字輸出來對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測量、通信到功率控制與變換的許多領(lǐng)域中。 模擬電路 模擬信號(hào)的值可以連續(xù)變化,其時(shí)間和幅度的分辨率都沒有限制。
3、如果你想簡單一點(diǎn)的話就用C,因?yàn)镃的可移植性非常高,不需要刻意去查硬件的指令,根據(jù)C的特點(diǎn)就可以寫出程序,匯編的話還要先去研究它的指令才行。當(dāng)然匯編的效率要比C高。
4、你有沒有用到AD先,PIC的E口是AD口,如果你開了E口的AD通道的話是不聽使喚的,任意一個(gè)E口電平變化,其他的E口肯定馬上被拉為低電平了。
怎么寫個(gè)pwm程序設(shè)計(jì)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于pwm實(shí)現(xiàn)da、怎么寫個(gè)pwm程序設(shè)計(jì)的信息別忘了在本站進(jìn)行查找喔。