單片機(jī)中斷技術(shù)實(shí)驗(yàn)報告(共22頁)_第1頁
單片機(jī)中斷技術(shù)實(shí)驗(yàn)報告(共22頁)_第2頁
單片機(jī)中斷技術(shù)實(shí)驗(yàn)報告(共22頁)_第3頁
單片機(jī)中斷技術(shù)實(shí)驗(yàn)報告(共22頁)_第4頁
單片機(jī)中斷技術(shù)實(shí)驗(yàn)報告(共22頁)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、實(shí)驗(yàn)(shyn)名稱:中斷(zhngdun)技術(shù)、基本(jbn)時鐘和定時功能(實(shí)驗(yàn)4、5)姓名_ 學(xué)號_實(shí)驗(yàn)班號_ 21_機(jī)器號_實(shí)驗(yàn)?zāi)康牧私庵袛嘣恚▽χ袛嘣?、中斷向量、中斷類型號、中斷程序以及中斷響?yīng)過程的理解;掌握單片機(jī)C語言中斷程序設(shè)計(jì)方法;了解MSP430G2553基本時鐘模塊的工作原理,掌握其控制方法;掌握利用時鐘信號和中斷技術(shù)實(shí)現(xiàn)定時功能的方法實(shí)驗(yàn)基本任務(wù)1 中斷響應(yīng)過程的理解 閱讀下面 C 語言中斷程序,說明程序 HYPERLINK l 程序L4_intC L4_int.c執(zhí)行的流程和實(shí)現(xiàn)功能。上機(jī)實(shí)踐,回答下面問題,掌握用 C 語言編寫中斷程序的方法。 從程序如何判斷用

2、的是哪個中斷源?其中斷類型號是多少?將實(shí)驗(yàn)板上某一按鍵與該中斷源對應(yīng)的引腳相連,運(yùn)行程序,操作按鍵,觀察現(xiàn)象。答:(注:源程序主函數(shù)中第7、8行有誤,應(yīng)為P1SEL &= BIT5; P1SEL2 &= BIT5; )P1.1為中斷源,中斷類型號為2;現(xiàn)象:LED燈一直在閃爍,按下按鍵后閃爍暫停,蜂鳴器響三聲,然后LED燈繼續(xù)閃爍;main 函數(shù)中無調(diào)用函數(shù) Buzz 的語句, 函數(shù) Buzz 如何能被執(zhí)行?何時會被執(zhí)行? 據(jù)此描述中斷響應(yīng)過程。答:當(dāng)按下按鍵時函數(shù)Buzz被執(zhí)行; 中斷響應(yīng)的過程:P1.1處發(fā)出中斷請求判斷是否滿足響應(yīng)條件若滿足,則CPU在執(zhí)行完當(dāng)前指令后,硬件自動完成保護(hù)現(xiàn)

3、場的操作從中斷向量表中取中斷向量至PC轉(zhuǎn)去執(zhí)行中斷服務(wù)子程; 如果port_int 函數(shù)中不清分中斷標(biāo)志 P1IFG的后果是什么?答:中斷將一直重復(fù)進(jìn)行下去; 如果 HYPERLINK l 程序L4_intC L4_int.c中的 PORT1_VECTOR 改為 PORT2_VECTOR, 其他不變,程序執(zhí)行的后果是什么?為什么?(可在中斷處加一斷點(diǎn),運(yùn)行程序,看現(xiàn)象,分析原因)答:PORT1_VECTOR改為PORT2_VECTOR,其他不變,程序?qū)o法進(jìn)入中斷。因?yàn)槌绦蛑械闹袛鄬儆赑1引腳的中斷,中斷向量與P2引腳的中斷向量不同,所進(jìn)行的的改動則是把中斷程序?qū)懭氲搅薖2引腳的中斷向量對應(yīng)

4、的地址中,而P1引腳的中斷向量對應(yīng)的地址上沒有程序,因此無法執(zhí)行原先的中斷子程。 如果中斷源采用的是P1.5, 按鍵用K7,請?jiān)O(shè)計(jì)連線,修改程序完成以中斷方式響應(yīng)K7的操作。 答:只需將程序中對P1.1的操作改為對P1.5的操作即可,程序見附錄 HYPERLINK l 程序1 程序1;連線(lin xin):將引腳與K6相連,其他連線不變;2.中斷(zhngdun)程序(chngx)編程練習(xí)在實(shí)驗(yàn)板上用跳線將按鍵K5、K6分別與單片機(jī)的P1.4、P1.5相連,編程以中斷方式響應(yīng)按鍵K5和K6的請求:當(dāng)按一次K5鍵,實(shí)驗(yàn)板上的蜂鳴器發(fā)出一聲警報聲;當(dāng)按下一次K6鍵,實(shí)驗(yàn)板上的發(fā)光二極管L1閃3次

5、。主循環(huán)中控制L7循環(huán)閃亮。思考:如果用長導(dǎo)線將按鍵 K5、K6 分別連接在 P2.2 和 P2.5 上,如何修改程序以實(shí)現(xiàn)任務(wù) 2 功能? 答:經(jīng)過分析,本程序需要有四個函數(shù),分別是延時函數(shù)、L1閃爍3次的函數(shù)、L7循環(huán)閃爍、以及蜂鳴器響一聲的函數(shù);其次P2端口為輸出端口,分別控制L1、L7和蜂鳴器,本程序中選用P2.1、P2.3、P2.4引腳;P1.4與P1.5作為中斷源;應(yīng)注意到本程序有兩個中斷源,須利用P1IFG判斷產(chǎn)生中斷的中斷源引腳。程序見附錄 HYPERLINK l 程序2 程序2。思考題:如果用長導(dǎo)線將按鍵 K5、K6 分別連接在 P2.2 和 P2.5 上,則應(yīng)設(shè)置P2.2、

6、P2.5為中斷源,設(shè)置中斷向量時也應(yīng)注意將對P1端口的操作改為對P2端口操作。具體程序見附錄 HYPERLINK l 程序2之思考題 程序2之思考題。3. 數(shù)字示波器的使用 1)將信號源的波形在示波器上顯示出來,掌握測量周期、頻率、峰峰值的方法; 2)用孔孔導(dǎo)線將實(shí)驗(yàn)板的地信號與示波器的地信號相連,測量實(shí)驗(yàn)板上的 Vcc 電源信號是否正常。答:1)信號源的峰峰值為3.20V; 周期為1.000ms; 頻率為1.000kHz. 2)經(jīng)測量,Vcc=3.64V,正常4. 測試上電復(fù)位系統(tǒng)的ACLK、和SMCLK時鐘頻率 編程輸出單片機(jī)上電復(fù)位后的ACLK、 和SMCLK時鐘, 用示波器測量其頻率,

7、 并記錄下來。 思考:上電復(fù)位后,CPU工作的時鐘信號 MCLK頻率值是多少? 答:經(jīng)分析本程序需要置引腳P1.0、P1.4分別輸出ACLK、SMCLK;需要確認(rèn)外部晶振連上;具體程序見附錄 HYPERLINK l 程序5測試 程序5測試程序。測得f(ACLK)=32.79kHz,f(SMCLK)=1.044MHz.思考題上電復(fù)位后,通過觀察寄存器,發(fā)現(xiàn)BCSCTL2寄存器上SELM位為00,SELS位為則0,說明MCLK與SMCLK均由DCO振蕩器控制,所以MCLK的頻率與SMCLK相同,也為1.044MHz。5. 掌握基本時鐘模塊的編程控制 參看附錄 A實(shí)驗(yàn)板原理圖,用跳線將 JP8 中的

8、插針信號接到晶振 32.768Khz 側(cè),使晶振與單片機(jī)的 P2.6 和 P2.7 相連。編程控制基本時鐘模塊,設(shè)置 ACLK 分別為下面時鐘頻率,并通過 P1.0 輸出 ACLK,用示波器觀察: 1) ACLK=4096Hz; (時鐘(shzhng)源外部晶振,32768Hz/8) 2) ACLK=3KHz;(時鐘(shzhng)源 VLOCLK, 12KHz/4) 思考(sko):可否編程在引腳 P2.0 上輸出 ACLK? 為什么? 答:1)中,應(yīng)使單片機(jī)接外部晶振,并使ACLK的輸出為8分頻;具體程序見附錄 HYPERLINK l 程序5之1) 程序5之1)2)中,應(yīng)通過BCSCTL3

9、寄存器選擇時鐘源VLOCLK,并使其輸出為4分頻,具體程序見附錄 HYPERLINK l 程序5之2) 程序5之2)思考題不能在引腳 P2.0 上輸出 ACLK,因?yàn)?,各引腳的特殊功能是由單片機(jī)結(jié)構(gòu)所決定的,P2.0引腳不具有輸出輔助時鐘的功能.6. DCO出廠校驗(yàn)值的頻率檢測 1)利用出廠校驗(yàn)值,編程使 DCO 分別為 1MHz、8MHz、12MHz、16MHz,通過 P1.4輸出,用示波器測量實(shí)際值。 答:經(jīng)分析知P1.4輸出的是SMCLK;1MHz、8MHz、12MHz、16MHz的情況類似,此處僅以1MHz為例,具體程序見附錄 HYPERLINK l 程序6 程序6測得真實(shí)值分別為1.

10、002MHz、7.752MHz、12.08MHz、15.94MHz。7. 利用輸出的時鐘信號做中斷源,實(shí)現(xiàn)定時功能 將任務(wù) 3 中P1.0 輸出的3KHz ACLK 時鐘信號,作為 P1.5 的中斷申請信號,用導(dǎo)線將P1.5 與 P1.0相連即可,在中斷子程中設(shè)置一個計(jì)數(shù)變量,計(jì)數(shù)中斷子程被執(zhí)行的次數(shù),中斷子程每被執(zhí)行 3000 次表示一秒時間到。利用該定時功能,將 8 個發(fā)光二級管設(shè)計(jì)成一個秒表,顯示秒值,每秒改變一次 8 個發(fā)光二級管的顯示。答:根據(jù)分析可知需要在實(shí)驗(yàn)5之2)的基礎(chǔ)上進(jìn)行編程;須用跳線板將P2的引腳與LED燈相連;具體程序見附錄 HYPERLINK l 程序7 程序7思考:

11、如果要每隔 10 秒蜂鳴器響一聲,如何在任務(wù) 5 的基礎(chǔ)上編程實(shí)現(xiàn)? 答:將P1.7與蜂鳴器相連,增加一個延時函數(shù)以及每10秒操作一次P1.7上電位;具體程序見附錄 HYPERLINK l 程序7之思考題 程序7之思考題 實(shí)驗(yàn)選做任務(wù)1.中斷響應(yīng)的理解(選做) 去掉 HYPERLINK l 程序L4_intC L4_int.c程序最后的那條無限循環(huán)語句, 看看有什么現(xiàn)象?可以去掉嗎? 答:現(xiàn)象:程序很快運(yùn)行結(jié)束,無法響應(yīng)中斷;不可去掉無限循環(huán)語句注意: 1) 查看 io430G2553.h 文件末尾處有關(guān)中斷向量偏址的符號定義。 2)為便于了解程序執(zhí)行流程,可在中斷子程入口處設(shè)置一斷點(diǎn),然后連

12、續(xù)運(yùn)行程序(F5) ,觀察操作按鍵和不操作按鍵兩種情況下程序執(zhí)行的現(xiàn)象有何不同。 2. (選做) 采用事件標(biāo)志處理中斷 閱讀(yud) HYPERLINK l 程序(chngx)L4_intA 程序(chngx)L4_intA.c和 HYPERLINK l 程序L4_intB L4_intB.c(見后頁) ,描述其實(shí)現(xiàn)功能。在實(shí)驗(yàn)板上將P1.0與一個按鍵的控制端相連, P1.7與蜂鳴器的控制端相連。 比較L4_intA.c和L4_intB.c二者在編程實(shí)現(xiàn)上有何不同。注意各自中斷子程執(zhí)行時間的長短。 用L4_intB.c的方法,改寫任務(wù)2的編程。答:不同之處: 采用事件標(biāo)志處理中斷時,按鍵之后

13、機(jī)器做出的反應(yīng)相對較慢,這是因?yàn)樗枰F(xiàn)在中斷子程中設(shè)置flag,再回到主程序根據(jù)flag做相應(yīng)改動,耗費(fèi)時間較長。但是采用事件標(biāo)志中斷的一個好處就是,由于它在中斷子程中只是進(jìn)行了一個標(biāo)記,你可以在標(biāo)記flag在主程序中發(fā)揮作用之前再次進(jìn)行中斷,將flag改為其它值。它相當(dāng)于解決了一般中斷過程中“中斷執(zhí)行時,屏蔽其他中斷”的問題。任務(wù)2改寫后的程序 HYPERLINK l 程序3 程序33.(選做) 按鍵抖動處理 程序 HYPERLINK l 程序L4_keyC L4_Key.C 見后頁, 其功能是用中斷方式相應(yīng)與 P1.2 連接的按鍵,計(jì)數(shù)按鍵的次數(shù),并將所計(jì)的次數(shù)用 8 個發(fā)光二極管顯示出

14、來。運(yùn)行該程序,并操作按鍵,觀察實(shí)際操作的次數(shù)與顯示值之間的關(guān)系。編程改進(jìn)L4_Key.C程序,用軟件方式去除按鍵抖動的影響。 答:根據(jù)分析,需要在響應(yīng)了第一次下降沿后,加入一定的延時,躲過其它電壓毛刺的產(chǎn)生時間。具體程序見附錄 HYPERLINK l 程序4 程序4通過實(shí)驗(yàn)觀察可以發(fā)現(xiàn),改進(jìn)之前,二進(jìn)制顯示的數(shù)值明顯大于實(shí)際按鍵數(shù),而改進(jìn)之后,兩者數(shù)值大致相等。4. DCO出廠校驗(yàn)值的頻率檢測 2) (選做)控制發(fā)光二級管通過延時閃亮,編程分別使主系統(tǒng)時鐘工作在 (1)MCLK=復(fù)位頻率/8 約 100KHz; (2)MCLK=DCO=16MHz; 兩種不同頻率下,觀察燈的亮滅速度有何不同,

15、掌握主系統(tǒng)時鐘的變化對程序執(zhí)行速度的影響 答:根據(jù)分析(1)須選擇8分頻;(1)須具備延時函數(shù)與LED燈亮函數(shù);(2)須選擇DCO時鐘源,并使用出廠校驗(yàn)值16MHz;(2)須具備延時函數(shù)與LED燈亮函數(shù);具體程序見附錄 HYPERLINK l 選作4之1) 選作4之1)和 HYPERLINK l 選作4之2) 選作4之2)實(shí)驗(yàn)觀察到兩種不同頻率下,第一種情形下燈的亮滅速度非常慢,而第二種情形下燈的亮滅速度非常快,則說明:主系統(tǒng)時鐘頻率的加快會加速執(zhí)行速度。5. (選做)改用 4 個數(shù)碼管顯示秒值,重新完成必做任務(wù) 7答:本題需要用到數(shù)碼管的知識,需要標(biāo)志值,具體程序見附錄 HYPERLINK

16、l 選作5程序 選作5程序四、小結(jié) 總的來說,我覺得這次的實(shí)驗(yàn)內(nèi)容很多,但是收獲也是很大的;并且在這個過程中重溫了課本,加深了對課本上抽象的內(nèi)容的理解,比如說實(shí)驗(yàn)前對于時鐘,我的理解一直很模糊,似是而非,經(jīng)過實(shí)驗(yàn),發(fā)現(xiàn)其實(shí)它不過是三個寄存器,三個時鐘信號,四個時鐘源之間的問題,雖然過程比較繁瑣,脈絡(luò)卻是清晰的;而且關(guān)于中斷,我也有了進(jìn)一步的理解,特別是最后幾個選作實(shí)驗(yàn)和必做實(shí)驗(yàn)是對這兩節(jié)知識的綜合應(yīng)用,難度有點(diǎn)大,但是寫出來之后還是很有成就感的?!靖戒?fl)】一、基本(jbn)任務(wù)程序1. HYPERLINK l 必做第1題 必做第1題5)#include io430.h #include

17、in430.h void delay( ) /延時函數(shù)(hnsh) unsigned int j; for (j=0;j0 xffff;j+); void Blink( ) /LED閃 P2OUT &=BIT3; delay(); P2OUT |= BIT3; delay(); void Buzz( ) /蜂鳴響 unsigned int i; for (i=0;i3;i+) P2OUT &=BIT4; delay(); P2OUT|= BIT4; delay(); ; void main ( void ) WDTCTL = WDTPW + WDTHOLD; /關(guān)閉看門狗 /設(shè)置引腳 P2.4

18、、P2.3 輸出,P2.3 連接 LED,P2.4 連接蜂鳴器 P2SEL &=(BIT3+BIT4); P2SEL2 &=(BIT3+BIT4); P2OUT|=(BIT3+BIT4); P2DIR|=(BIT3+BIT4); /設(shè)置端口 P1.5 允許中斷 P1SEL &= BIT5; P1SEL2 &= BIT5; P1OUT |=BIT5; P1REN |=BIT5; P1DIR &=BIT5; P1IES |= BIT5; P1IFG &=BIT5; P1IE |= BIT5; _EINT(); /總中斷允許 for (;) /主循環(huán) Blink(); ; #pragma vecto

19、r=PORT1_VECTOR _interrupt void port_ISR( ) Buzz(); P1IFG &=BIT5; 2. HYPERLINK l 必做第2題 必做第2題#include io430.h #include in430.h void delay( ) /延時函數(shù)(hnsh) unsigned int j; for (j=0;j0 xffff;j+); void L1Blink( ) /L1閃3次 unsigned int i; for (i=0;i3;i+) P2OUT &=BIT1; delay(); P2OUT|= BIT1; delay(); ; void L7

20、Blink( ) /L7閃 P2OUT &=BIT3; delay(); P2OUT |= BIT3; delay(); void Buzz( ) /蜂鳴響(mn xin) P2OUT &=BIT4; delay(); P2OUT|= BIT4; delay(); void main ( void ) WDTCTL = WDTPW + WDTHOLD; /關(guān)閉(gunb)看門狗 /設(shè)置引腳 P2.1、P2.3 、P2.4輸出,P2.1、P2.3分別連接 L1和L7,P2.4 連接蜂鳴器 P2SEL &=(BIT1+BIT3+BIT4); P2SEL2 &=(BIT1+BIT3+BIT4); P

21、2OUT|=(BIT1+BIT3+BIT4); P2DIR|=(BIT1+BIT3+BIT4); /設(shè)置(shzh)端口 P1.4、P1.5 允許(ynx)中斷 P1SEL &= (BIT4+BIT5); P1SEL2 &= (BIT4+BIT5); P1OUT |=(BIT4+BIT5); P1REN |=(BIT4+BIT5); P1DIR &=(BIT4+BIT5); P1IES |= (BIT4+BIT5); P1IFG &=(BIT4+BIT5); P1IE |= (BIT4+BIT5); _EINT(); /總中斷(zhngdun)允許 for (;) /主循環(huán) L7Blink()

22、; ; #pragma vector=PORT1_VECTOR _interrupt void port_ISR( ) if (P1IFG&BIT4)!=0) Buzz(); P1IFG &=BIT4; ;if (P1IFG&BIT5)!=0)L1Blink();P1IFG&=BIT5; HYPERLINK l 必做第2題 2.思考題#include io430.h #include in430.h void delay( ) /延時函數(shù) unsigned int j; for (j=0;j0 xffff;j+); void L1Blink( ) /L1閃3次 unsigned int i;

23、for (i=0;i=3000) time+=1; i=0; P2OUT=time; /LED燈顯示輸出(shch)秒表的值 #pragma vector=PORT1_VECTOR _interrupt void port_ISR() i+; P1IFG&=(BIT5); /清中斷標(biāo)志2)必做7之思考題#include io430.h#include in430.hunsigned char time=0;unsigned int i=0;void delay();int main( void )/關(guān)閉看門狗 WDTCTL = WDTPW + WDTHOLD; /設(shè)置端口P1.0輸出3KHzA

24、CLK時鐘信號 P1SEL|=BIT0; P1SEL2&=BIT0; P1DIR|=BIT0; BCSCTL3&=LFXT1S0; BCSCTL3|=LFXT1S1; BCSCTL1&=DIVA0; BCSCTL1|=DIVA1; /設(shè)置P2.0P2.7為輸出(shch)狀態(tài) P2SEL&=0; P2SEL2&=0; P2DIR|=0Xff; P2OUT|=0Xff; /設(shè)置P1.7為輸出(shch)狀態(tài) P1SEL&=BIT7; P1SEL2&=BIT7; P1OUT|=BIT7; P1DIR|=BIT7;/設(shè)置(shzh)端口P1.5允許中斷 P1SEL&=BIT5; P1SEL2&=BI

25、T5; P1REN|=BIT5; P1OUT&=BIT5; P1DIR&=BIT5; P1IES&=BIT5; P1IFG&=BIT5; P1IE|=BIT5; _EINT(); while(1) if (i=3000) time+=1; if(time%10)=0) P1OUT&=BIT7; delay(); P1OUT|=BIT7; i=0; P2OUT=time; /LED燈顯示輸出秒表的值 void delay()/延時函數(shù) unsigned int j; for (j=0;j0 xffff;j+); #pragma vector=PORT1_VECTOR _interrupt voi

26、d port_ISR() i+; P1IFG&=(BIT5); /清中斷(zhngdun)標(biāo)志二、選做任務(wù)(rn wu)程序 HYPERLINK l 選作2 2.采用事件標(biāo)志(biozh)處理中斷#include io430.h #include in430.h int flag=0;void delay( ) /延時函數(shù) unsigned int j; for (j=0;j0 xffff;j+); void L1Blink( ) /L1閃3次 unsigned int i; for (i=0;i3;i+) P2OUT &=BIT1; delay(); P2OUT|= BIT1; delay(

27、); ; void L7Blink( ) /L7閃 P2OUT &=BIT3; delay(); P2OUT |= BIT3; delay(); void Buzz( ) /蜂鳴響 P2OUT &=BIT4; delay(); P2OUT|= BIT4; delay(); void main ( void ) WDTCTL = WDTPW + WDTHOLD; /關(guān)閉看門狗 /設(shè)置引腳 P2.1、P2.3 、P2.4輸出,P2.1、P2.3分別連接 L1和L7,P2.4 連接蜂鳴器 P2SEL &=(BIT1+BIT3+BIT4); P2SEL2 &=(BIT1+BIT3+BIT4); P2O

28、UT|=(BIT1+BIT3+BIT4); P2DIR|=(BIT1+BIT3+BIT4); /設(shè)置(shzh)端口 P1.4、P1.5 允許(ynx)中斷 P1SEL &= (BIT4+BIT5); P1SEL2 &= (BIT4+BIT5); P1OUT |=(BIT4+BIT5); P1REN |=(BIT4+BIT5); P1DIR &=(BIT4+BIT5); P1IES |= (BIT4+BIT5); P1IFG &=(BIT4+BIT5); P1IE |= (BIT4+BIT5); _EINT(); /總中斷(zhngdun)允許 for (;) /主循環(huán) L7Blink();

29、if (flag=1) Buzz(); flag=0; if (flag=2) L1Blink(); flag=0; ; #pragma vector=PORT1_VECTOR _interrupt void port_ISR( ) if (P1IFG&BIT4)!=0) flag=1; P1IFG &=BIT4; ;if (P1IFG&BIT5)!=0)flag=2;P1IFG&=BIT5; HYPERLINK l 選作3 3.(選做) 按鍵抖動處理 #include io430.h #include in430.h unsigned int number=0; /記錄響應(yīng)按鍵次數(shù) void

30、 delay( ) /延時函數(shù) unsigned int j; for (j=0; j0 xffff; j+); int main( void ) WDTCTL = WDTPW + WDTHOLD; /關(guān)閉(gunb)看門狗 _disable_interrupt(); /_DINT(); 禁止(jnzh)總中斷 P2SEL=0; /置 P2 為基本(jbn) I/O功能 P2SEL2=0; / P2OUT=0 xFF; /置 P2 輸出的初值 P2DIR=0 xFF; /置 P2 為輸出方向 P1SEL &= BIT2; P1SEL2 &= BIT2; P1OUT |=BIT2; P1REN

31、|=BIT2; P1DIR &=BIT2; P1IES |= BIT2; P1IFG &=BIT2; P1IE |= BIT2; _enable_interrupt(); /_EINT(); 總中斷運(yùn)行 while(1) ; #pragma vector=PORT1_VECTOR _interrupt void port_int(void) if( (P1IFG&BIT2)!=0 ) delay(); /增加延時函數(shù),避開毛刺 if ( (P1IFG&BIT2)!=0 ) number+; P2OUT=number; P1IFG &=BIT2; HYPERLINK l 選做第4題 選做第4題之

32、DCO出廠校驗(yàn)值的頻率檢測 1)MCLK=復(fù)位頻率/8 約100KHz;將P2.0與L1相連,程序如下:#include io430.hvoid LED();void delay();int main( void ) /關(guān)閉看門狗 WDTCTL = WDTPW + WDTHOLD;/設(shè)置P2.0為輸出狀態(tài) P2SEL&=BIT0; P2SEL2&=BIT0; P2OUT|=BIT0; P2DIR|=BIT0; /復(fù)位(f wi)8分頻 BCSCTL2|=(DIVM0+DIVM1); while(1) LED(); void LED() /LED燈延時亮滅 P2OUT&=BIT0; delay(); P2OUT|=BIT0; delay();void delay() /延時函數(shù)(hnsh) unsigned int i; for (i=0;i0 xffff;i+);2)MCLK=DCO=16MHz;#include io430.hvoid LED();void delay();int main( void ) / 關(guān)閉(gunb)看門狗 WDTCTL = WDTPW + WDTHOLD; /P2.0為輸出狀態(tài) P2SEL&=BIT0; P2SEL2&=BIT0; P2OUT|=BIT0; P2DIR

溫馨提示

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

評論

0/150

提交評論