IO實(shí)驗(yàn)3——中斷按鍵LED(同名2207)(共5頁)_第1頁
IO實(shí)驗(yàn)3——中斷按鍵LED(同名2207)(共5頁)_第2頁
IO實(shí)驗(yàn)3——中斷按鍵LED(同名2207)(共5頁)_第3頁
IO實(shí)驗(yàn)3——中斷按鍵LED(同名2207)(共5頁)_第4頁
IO實(shí)驗(yàn)3——中斷按鍵LED(同名2207)(共5頁)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)報(bào)告三: IO實(shí)驗(yàn)3中斷按鍵LED一、實(shí)驗(yàn)?zāi)康模毫私鈫纹瑱C(jī)中斷系統(tǒng)的結(jié)構(gòu)以及與中斷有關(guān)的寄存器、中斷的開放與禁止,以及中斷程序的編寫技巧。二、實(shí)驗(yàn)準(zhǔn)備內(nèi)容:1、認(rèn)真理解并讀懂程序,根據(jù)程序畫出protues的仿真原理圖。2、把protues文件和編譯生成的HEX文件帶到實(shí)驗(yàn)室。三、實(shí)驗(yàn)內(nèi)容及要求1、基本內(nèi)容IF (已經(jīng)準(zhǔn)備有protues仿真文件和HEX文件的) (1)進(jìn)行仿真演示。(1)認(rèn)真理解并讀懂程序,將所給程序在KEIL中編譯,產(chǎn)生HEX文件;(2)將程序燒寫到實(shí)驗(yàn)箱中的單片機(jī)中;(3)連接實(shí)驗(yàn)箱中的硬件:序號單片機(jī)(A2區(qū))LED燈、按鍵(D1區(qū))備注1J61(P10P17)J5

2、2(LED1 LED8)2J57(P30P37)J53(KEY1 KEY8)只有K3,K4有作用(4)運(yùn)行程序,在實(shí)驗(yàn)箱中實(shí)現(xiàn)程序功能。四、實(shí)驗(yàn)程序/*/程序:ex3.c/功能:外部中斷0、中斷1控制LED/實(shí)驗(yàn)箱上D1區(qū)J52接P1/實(shí)驗(yàn)箱上D1區(qū)J53接P3/*#include/*包含頭文件REG51.H*/#define uchar unsigned char#define uint unsigned int#define LED P1/*定義8個(gè)LED接至P1口*/void ExInt_Init();/外部中斷初始化函數(shù)聲明void DelayMS(uint x);/延時(shí)函數(shù)聲明voi

3、d LED_Down(uint x);/單只LED燈依次下移點(diǎn)亮函數(shù)聲明void LED_Up(uint x);/單只LED燈依燈上移點(diǎn)亮函數(shù)聲明void main()ExInt_Init();/外部中斷初始化LED=0x00;/8個(gè)LED全亮while(1)DelayMS(250);LED=LED;/8個(gè)LED閃爍/*/函數(shù)名:ExInt_Init/函數(shù)功能:外部中斷初始化 /*void ExInt_Init() IE=0x85;/允許外部中斷 、 開放IP=0x01;/外部中斷 為最高優(yōu)先級IT0=1;/設(shè)置外部中斷 為邊沿觸發(fā)方式IT1=1;/設(shè)置外部中斷 為邊沿觸發(fā)方式/*/函數(shù)名:E

4、xInt0_ISR/函數(shù)功能:每次按鍵都會觸發(fā) 中斷,中斷發(fā)生時(shí)8個(gè)LED將變成從上到下依次點(diǎn)亮LED,/ 循環(huán)三圈后恢復(fù)成8個(gè)LED將閃爍狀態(tài),產(chǎn)生LED狀態(tài)由按鍵控制的效果/*void ExInt0_ISR() interrupt 0uchar Save_LED=LED; /保護(hù)現(xiàn)場,將中斷前LED的狀態(tài)保存LED_Down(3);/單只LED依次燈下移點(diǎn)亮3圈LED= Save_LED;/恢復(fù)現(xiàn)場,恢復(fù)LED中斷前的狀態(tài)/*/函數(shù)名:ExInt1_ISR/函數(shù)功能:每次按鍵都會觸發(fā) 中斷,中斷發(fā)生時(shí)8個(gè)LED將變成從下到上依次點(diǎn)亮LED,/ 循環(huán)三圈后恢復(fù)成8個(gè)LED將閃爍狀態(tài),產(chǎn)生LE

5、D狀態(tài)由按鍵控制的效果/*void ExInt1_ISR() interrupt 2uchar Save_LED=LED; /保護(hù)現(xiàn)場,將中斷前LED的狀態(tài)保存EA=0;/關(guān)中斷EA=1;/開中斷LED_Up(3); /單只LED依次燈上移點(diǎn)亮3圈EA=0;/關(guān)中斷LED=Save_LED; /恢復(fù)現(xiàn)場,恢復(fù)LED中斷前的狀態(tài)EA=1;/開中斷/*/函數(shù)名:DelayMS/函數(shù)功能:軟件延時(shí)函數(shù)/形式參數(shù):uint x;x控制空循環(huán)的外循環(huán)次數(shù),共循環(huán)x*120次/*void DelayMS(uint x)uint j,k;/定義無符號字符型變量j和kfor(k=0;kx;k+)/雙重for循

6、環(huán)語句實(shí)現(xiàn)軟件延時(shí)for(j=0;j120;j+);/循環(huán)體為空循環(huán)/*/函數(shù)名:LED_Down/函數(shù)功能:單只LED依次燈下移點(diǎn)亮/形式參數(shù):uint x;下移點(diǎn)亮x圈/*void LED_Down(uint x)uchar i,j; for(i=0;ix;i+)/單只LED依次燈下移點(diǎn)亮x圈LED=0xfe;/最上邊的LED亮for(j=0;j8;j+)DelayMS(250); /延時(shí)函數(shù)調(diào)用LED=(LED1)|0x01;/下移1位后,將LSB設(shè)為1,點(diǎn)亮下一個(gè)LED/*/函數(shù)名:LED_Up/函數(shù)功能:單只LED依次燈上移點(diǎn)亮/形式參數(shù):uint x;上移點(diǎn)亮x圈/*void LE

7、D_Up(uint x)uchar i,j; for(i=0;ix;i+)/單只LED依次燈上移點(diǎn)亮x圈LED=0x7f;/最下邊的LED亮for(j=0;j1)|0x80;/上移1位后,將MSB設(shè)為1,點(diǎn)亮上一個(gè)LED 五、實(shí)驗(yàn)結(jié)果截圖(1)protues仿真圖(2)實(shí)驗(yàn)箱運(yùn)行效果圖六、實(shí)驗(yàn)心得體會回顧起此實(shí)驗(yàn)至今我仍感慨頗多,從理論到實(shí)踐在這段時(shí)間里可以說得是苦多于甜,但是可以學(xué)到很多很多的東西,比如課本的知識,以及軟件的運(yùn)用,不僅鞏固了以前所學(xué)過的知識而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。而且我明白了理論到實(shí)際的轉(zhuǎn)變是有一定難度的,僅僅學(xué)習(xí)理論知識不用來實(shí)踐是不夠的,只有把理論知識與實(shí)踐結(jié)合起來,從實(shí)踐中得到感悟體會,提高自己的實(shí)際動手能力和獨(dú)立思考的能力。雖然實(shí)驗(yàn)的過程中遇

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論