改變pwm輸出波占空比程序

改變pwm輸出波占空比程序

ID:8793264

大小:171.50 KB

頁(yè)數(shù):6頁(yè)

時(shí)間:2018-04-07

改變pwm輸出波占空比程序_第1頁(yè)
改變pwm輸出波占空比程序_第2頁(yè)
改變pwm輸出波占空比程序_第3頁(yè)
改變pwm輸出波占空比程序_第4頁(yè)
改變pwm輸出波占空比程序_第5頁(yè)
資源描述:

《改變pwm輸出波占空比程序》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。

1、;本例通過(guò)編程,使CCP1模塊工作在脈寬調(diào)制PWM方式下從RC2口上輸出分辨率達(dá)10位的;PWM波形,波形的占空比可以通過(guò)鍵盤(pán)調(diào)節(jié),當(dāng)按下K1鍵時(shí),輸出的PWM波形的占空比為25%,;當(dāng)按下K2鍵時(shí),輸出的PWM波形的占空比為50%,當(dāng)按下K3鍵時(shí),輸出的PWM波形的占空;比為75%,當(dāng)按下K4鍵時(shí),輸出的PWM波形的占空比為100%,默認(rèn)輸出波形的占空比為50%;為了強(qiáng)調(diào)編程技巧,鍵盤(pán)程序采用變位中斷方式LISTP=18F458INCLUDE"P18F458.INC"DEYHEQU0X20DEYLEQUDEYH+1JIANREQUDEYH+2;存儲(chǔ)鍵值用寄存器ORG0X00GOTOMA

2、IN;轉(zhuǎn)向主程序ORG0X08GOTOINTSERVE;轉(zhuǎn)向中斷服務(wù)程序ORG0X30;***************初始化子程序******************INITIALCLRFINTCON;禁止總中斷和外圍中斷BSFINTCON,RBIE;B口變位中斷允許BCFINTCON2,7;使弱上拉有效BSFINTCON2,1;B口變位中斷高優(yōu)先級(jí)BSFRCON,7;使能中斷優(yōu)先級(jí)MOVLW0XFFMOVWFPR2;設(shè)置PWM的工作周期MOVLW0X7FMOVWFCCPR1L;默認(rèn)占空比為50%MOVLW0X3CMOVWFCCP1CON;設(shè)置CCP1模塊為PWM工作方式,且其工作循;環(huán)

3、的低2位為11,高8位為=7FMOVLW0X04MOVWFT2CON;打開(kāi)TMR2,且使其前分頻為1BCFTRISC,2;設(shè)置CCP1引腳為輸出方式BCFTRISB,1BCFTRISA,3BCFTRISE,0BCFTRISE,1BSFTRISB,4;設(shè)置與鍵盤(pán)有關(guān)的各口的輸入輸出方式BCFPORTB,1BCFPORTA,3BCFPORTE,0BCFPORTE,1;K1,K2,K3,K4四條列線置0,為電平變化;中斷的產(chǎn)生創(chuàng)造初始條件MOVFPORTB,W;讀PORTB端口,建立變位中斷的初始條件;(由高到低時(shí)中斷)RETURN;*********鍵盤(pán)去抖子程序(8ms的延時(shí))******

4、************KEYDELAYMOVLW0X0AMOVWFDEYHAGAIN2MOVLW0XFFMOVWFDEYLAGAIN1DECFSZDEYL,1GOTOAGAIN1DECFSZDEYH,1GOTOAGAIN2;具體程序語(yǔ)句參考3.2節(jié)RETURN;***************鍵服務(wù)子程序******************KEYSERVEJIANZHI;確定鍵值的子程序BCFPORTB,1BCFPORTA,3MOVLW0X03MOVWFPORTE;K1,K2置低電平,K3,K4置高電平NOPNOP;使引腳電平穩(wěn)定BTFSSPORTB,4GOTOK1K2;RB4為0,表示

5、按鍵為K1,K2中的一個(gè)GOTOK3K4;RB4為1,表示按鍵為K3,K4中的一個(gè)K1K2BCFPORTB,1BSFPORTA,3;K1置低電平,K2置高電平NOPNOP;使引腳電平穩(wěn)定BTFSSPORTB,4GOTOK1;RB4為0,表示按鍵為K1GOTOK2;RB4為1,表示按鍵為K2K3K4BCFPORTE,0BSFPORTE,1;K3置低電平,K4置高電平NOPNOP;使引腳電平穩(wěn)定BTFSSPORTB,4GOTOK3;RB4為0,表示按鍵為K3GOTOK4;RB4為1,表示按鍵為K4,以上對(duì)鍵盤(pán)進(jìn)行掃;描,來(lái)確定是哪一個(gè)鍵按下K1MOVLW0X01MOVWFJIANRGOTOR

6、ETK2MOVLW0X02MOVWFJIANRBCFPORTA,3GOTORETK3MOVLW0X03MOVWFJIANRGOTORETK4MOVLW0X04MOVWFJIANR;以上根據(jù)按下的鍵把相應(yīng)的值送給JIANRBCFPORTE,1RETNOPRETURN;**********確定占空比為25%的子程序*********PER25MOVLW0X3FMOVWFCCPR1LRETURN;**********確定占空比為50%的子程序*********PER50MOVLW0X7FMOVWFCCPR1LRETURN;**********確定占空比為75%的子程序*********PER7

7、5MOVLW0XBFMOVWFCCPR1LRETURN;**********確定占空比為100%的子程序*********PER100MOVLW0XFFMOVWFCCPR1LRETURN;**************中斷服務(wù)子程序***************INTSERVENOPBCFINTCON,RBIF;清除中斷標(biāo)志CALLKEYDELAY;調(diào)用軟件延時(shí)子程序消抖動(dòng)MOVFPORTB,W;讀PORTB的值,并同時(shí)改變中斷發(fā)生的

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。