MSP430第六講試驗報告_第1頁
MSP430第六講試驗報告_第2頁
MSP430第六講試驗報告_第3頁
MSP430第六講試驗報告_第4頁
MSP430第六講試驗報告_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本文格式為Word版,下載可任意編輯——MSP430第六講試驗報告一、試驗內容:

1.MSP430單片機的復位中斷和低功耗模式2.中斷方式的按鍵控制實現

3.Lab8按鍵中斷方式控制led燈的亮滅

4.Lab9動動手,P4.1中斷方式控制P4.6的LED

二、試驗步驟:

Lab8按鍵中斷方式控制led燈的亮滅

設置端口4.0為輸入上拉電阻方式獲取按鍵信號,端口4.5為輸出方式,按鍵按下時開啟一次中斷,中斷開啟后修改4.5輸出對應的LED燈狀態(tài),從而實現按鍵中斷方式控制led燈的亮滅。

實現代碼:

#includeintmain(void){

WDTCTL=WDTPW+WDTHOLD;//StopwatchdogtimerP4DIR|=BIT5;//SetP4.5tooutputdirectionP4REN|=BIT0;//EnableP2.6internalresistanceP4OUT|=BIT0;//SetP2.6aspull‐Upresistance

P4IES|=BIT0;//P4.0Hi/LoedgeP4IFG//P4.0IFGclearedP4IE|=BIT0;//PP4.0interruptenabled__bis_SR_register(LPM4_bits+GIE);//EnterLPM4w/interrupt__no_operation();//Fordebugger}

#pragmavector=PORT4_VECTOR__interruptvoidPort_4(void){

P4OUT^=BIT5;P4IFG}

//P4.5=toggle//P4.0IFGcleared

思考題:

1、Lab8和Lab2的執(zhí)行結果有何不同?為什么?

答:Lab2的結果是按下按鍵則燈滅,松開按鍵燈亮;Lab8是按下按鍵燈亮\\滅,抬起按鍵不改變狀態(tài)。

原因:本試驗采用的是中斷實現燈的暗滅,按下按鈕之后,由于設置的中斷條件為下降沿觸發(fā),此時中斷標志置為1,執(zhí)行中斷程序,改變燈的狀態(tài),并清除中斷標志,此時抬起按鈕,為上升沿,并不會改變中斷標志,燈維持之前的狀態(tài)。Lab2中,按鍵的狀態(tài)每轉變一次,燈的狀態(tài)隨之改變,因此按下按鍵燈滅,抬起按鍵燈亮。

2、在中斷服務程序中,假使把下面的語句解釋掉,程序是什么執(zhí)行結果?為什么?P4IFG//P4.0IFGcleared

答:按下一次按鍵后再次按下按鍵,并不會改變燈的狀態(tài)。

原因:執(zhí)行中斷程序之后沒有清除中斷標志,將不會再次執(zhí)行中斷程序。

Lab9動動手,P4.1中斷方式控制P4.6的LED

實現代碼:

#includeintmain(void){

WDTCTL=WDTPW+WDTHOLD;P4DIR|=BIT5;P4REN|=BIT1;P4OUT|=BIT1;P4IES|=BIT1;P4IFGP4IE|=BIT1;__bis_SR_register(LPM4_bits+GIE);__no_operation();}

#pragmavector=PORT4_VECTOR__interruptvoidPort_4(void){

P4OUT^=BIT6;P4IFG}//Stopwatchdogtimer

//SetP4.5tooutputdirection//EnableP2.6internalresistance//SetP2.6aspull‐Upresistance//P4.1Hi/Loedge//P4.1IFGcleared

//P4.1interruptenabled//EnterLPM4w/interrupt//Fordebugger

//P4.6=toggle//P4.1IFGcleared

試驗改進:

在試驗過程中發(fā)現,按鍵時偶爾會產生燈閃爍的狀況。因此在程序中增加消抖程序,從而消除按鍵抖動對試驗結果造成的影響。

程序如下:

#includeintmain(void){WDTCTL=WDTPW+WDTHOLD;//StopwatchdogtimerP4DIR|=BIT6;//SetP4.5tooutputdirectionP4REN|=BIT1;//EnableP2.6internalresistance

P4OUT|=BIT1;P4IES|=BIT1;P4IFGP4IE|=BIT1;__bis_SR_register(LPM4_bits+GIE);__no_operation();}

#pragmavector=PORT4_VECTOR__interruptvoidPort_4(void){inttemp=P4IN__delay_cycles(10000);if(P4INP4IFG}

//SetP2.6aspull‐Upresistance//P4.0Hi/Loedge//P4.0IFGcleared

//P4.0interruptenabled//EnterLPM4w/interrupt//Fordebugger

//消抖

//P4.5=toggle//P4.0IFGcleared

}

試驗確實消除了按鍵的抖動狀況,但偶爾又會出現長時間按鍵無響應的狀況,一段時間后又能正常工作,目前尚不明白原因。

三、試驗思考:

1、MSP430系列單片機的POR、PUC和BOR信號分別是如何產生的?答:

POR:BOR信號;電源管理SVS產生;一個軟件的POR事件;

PUC:POR信號;看門狗定時器工作在看門狗模式的溢出;看門狗操作密碼錯誤;Flash存儲器操作密碼錯誤;電源管理模塊操作密碼錯誤;

BOR:器件上電;RST/NMI管腳配置為復位模式時,管腳上的低電平信號;從LPM3.5或者LPM4.5模式喚醒一個軟件的BOR事件

2、簡述MSP430系列單片機復位后的狀態(tài)及軟件必需完成的工作。

答:

RST/NMI為復位狀態(tài);IO口為輸入狀態(tài);各模塊和寄放器恢復為初始化狀態(tài);狀態(tài)寄放器SR復位;看門狗WDT為看門狗狀態(tài);FFFE的內容裝入PC指針

必需完成的工作:初始化堆棧指針SP,一般為RAM的頂端;根據應用的需要,初始化WDT;對模塊初始化;

3、MSP430單片機工作模式有哪些位控制?

答:CPU內狀態(tài)寄放器SR中的SCG1、SCG2、OscOff和CPUOff位是重要的低功耗控制位。只要任意中斷被響應,上述控制位就被壓入堆棧保存,中斷處理之后,又可以恢復從前的工作方式。在中斷處理子程序執(zhí)行期間,通過間接訪問堆棧數據,可以操作這些位;這樣允許程序在中斷返回(RETI)后,以另一種功耗方式繼續(xù)運行。

4、簡述MSP430單片機低功耗設計的基本原則。

答:

最大化LPM3的時

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論