改變pwm輸出波占空比程序

改變pwm輸出波占空比程序

ID:8793264

大?。?71.50 KB

頁數(shù):6頁

時間:2018-04-07

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

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

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

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

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

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

5、按鍵為K1,K2中的一個GOTOK3K4;RB4為1,表示按鍵為K3,K4中的一個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,以上對鍵盤進行掃;描,來確定是哪一個鍵按下K1MOVLW0X01MOVWFJIANRGOTOR

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

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

當前文檔最多預覽五頁,下載文檔查看全文

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

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