

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、如何利用51單片機(jī)輸出PWM波1、理論知識(shí)、理論知識(shí)2、程序及分析、程序及分析1、理論知識(shí)、理論知識(shí)PWM這個(gè)功能在飛思卡爾、STM32等高檔的單片機(jī)內(nèi)部有專(zhuān)用的模塊,用此類(lèi)芯片實(shí)現(xiàn)PWM功能時(shí)只需要通過(guò)設(shè)置相應(yīng)的寄存器就可實(shí)現(xiàn)周期和占空比的控制。但是如果要用51單片機(jī)的話(huà),也是可以的,但是比較的麻煩。此時(shí)需要用到內(nèi)部定時(shí)器來(lái)實(shí)現(xiàn),可用兩個(gè)定時(shí)器實(shí)現(xiàn),也可以用一個(gè)定時(shí)器實(shí)現(xiàn)。用兩個(gè)定時(shí)器的方法是用定時(shí)器T0來(lái)控制頻率,定時(shí)器T1來(lái)控制占
2、空比。大致的的編程思路是這樣的:T0定時(shí)器中斷讓一個(gè)I0口輸出高電平,在這個(gè)定時(shí)器T0的中斷當(dāng)中起動(dòng)定時(shí)器T1,而這個(gè)T1是讓IO口輸出低電平,這樣改變定時(shí)器T0的初值就可以改變頻率,改變定時(shí)器T1的初值就可以改變占空比。下面重點(diǎn)介紹用一個(gè)定時(shí)器的實(shí)現(xiàn)PWM的方法。因?yàn)槭忻嫔系闹悄苄≤?chē)所采用的電機(jī)大多數(shù)為T(mén)T減速電機(jī),通過(guò)復(fù)雜的實(shí)驗(yàn)此電機(jī)最佳的工作頻率為1000HZ(太高容易發(fā)生哨叫,太低電機(jī)容易發(fā)生抖動(dòng))所以下面以周期為1ms(100
3、0HZ)進(jìn)行舉例,要產(chǎn)生其它頻率的PWM波,程序中只需作簡(jiǎn)單修改即可。用一個(gè)定時(shí)器時(shí)(如定時(shí)器T0)首先你要確定PWM的周期T和占空比D,確定了這些以后,你可以用定時(shí)器產(chǎn)生一個(gè)時(shí)間基準(zhǔn)t,比如定時(shí)器溢出n次的時(shí)間是PWM的高電平的時(shí)間,則DT=nt,類(lèi)似的可以求出PWM低電平時(shí)間需要多少個(gè)時(shí)間基準(zhǔn)n。因?yàn)檫@里我們是產(chǎn)生周期為1ms(1000HZ)的PWM所以可設(shè)置中斷的時(shí)間基準(zhǔn)為0.01ms,然后中斷100次即為1ms。在中斷子程序內(nèi),
4、可設(shè)置一個(gè)變量如time在中斷子程序內(nèi),有三條重要的語(yǔ)句:1、當(dāng)time=100時(shí),time清零(此語(yǔ)句保證頻率為1000HZ),2、當(dāng)timen時(shí)(n應(yīng)該在0-100之間變化開(kāi)),讓單片相應(yīng)的IO口輸出高電平,當(dāng)time0x)f(y=500y0y)voidtim0()interrupt1TR0=0賦初值時(shí),關(guān)閉定時(shí)器TH0=0xff(6553610)256賦初值定時(shí)TL0=0xf7(6553610)%2560.01msTR0=1打開(kāi)定
5、時(shí)器timeif(time=100)time=01khzif(time=20)PWM1=0點(diǎn)空比%80elsePWM1=1PWM2=0程序說(shuō)明:1、關(guān)于頻率的確定:對(duì)于11.0592M晶振,PWM輸出頻率為1KHZ此時(shí)設(shè)定時(shí)器0.01ms中斷一次,時(shí)中斷次數(shù)100次即為1KHZ(0.01ms100=1ms,即為1000HZ)此時(shí),定時(shí)器計(jì)數(shù)器賦初值為T(mén)H0=FFTL0=F7。2、關(guān)于占空比的確定:此時(shí)我們將來(lái)time的值從0-100之間
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)輸出pwm波
- 51單片機(jī)兩路或多路pwm波輸出程序
- 51單片機(jī)模擬pwm輸出占空比可調(diào)
- pwm電機(jī)調(diào)速原理及51單片機(jī)pwm程序經(jīng)典.
- pic單片機(jī)學(xué)習(xí)筆記之pwm信號(hào)輸出
- 51單片機(jī)
- 單片機(jī)控制pwm
- 利用單片機(jī)pwm信號(hào)進(jìn)行舵機(jī)控制1
- 利用pwm給單片機(jī)應(yīng)用增加語(yǔ)音功能
- 《51單片機(jī)》教案
- 51單片機(jī)教程
- 《51單片機(jī)》教案
- 51單片機(jī)教程
- 畢業(yè)設(shè)計(jì)-基于單片機(jī)的pwm信號(hào)輸出系統(tǒng)
- 基于at89c51單片機(jī)的pwm直流調(diào)速系統(tǒng)
- 51單片機(jī)管腳說(shuō)明
- 51單片機(jī)自學(xué)筆記
- 51單片機(jī)引腳說(shuō)明
- 單片機(jī)51測(cè)速程序
- 單片機(jī)課程設(shè)計(jì)--利用mcs-51單片機(jī)及相關(guān)芯片構(gòu)成收銀機(jī)
評(píng)論
0/150
提交評(píng)論