基與89C51單片機(jī)外部中斷實(shí)驗(yàn).doc

基與89C51單片機(jī)外部中斷實(shí)驗(yàn).doc

ID:56518206

大?。?7.00 KB

頁數(shù):6頁

時(shí)間:2020-06-26

基與89C51單片機(jī)外部中斷實(shí)驗(yàn).doc_第1頁
基與89C51單片機(jī)外部中斷實(shí)驗(yàn).doc_第2頁
基與89C51單片機(jī)外部中斷實(shí)驗(yàn).doc_第3頁
基與89C51單片機(jī)外部中斷實(shí)驗(yàn).doc_第4頁
基與89C51單片機(jī)外部中斷實(shí)驗(yàn).doc_第5頁
資源描述:

《基與89C51單片機(jī)外部中斷實(shí)驗(yàn).doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、實(shí)驗(yàn)六外部中斷實(shí)驗(yàn)一一、實(shí)驗(yàn)要求1.在Proteus軟件中畫好51單片機(jī)最小核心電路,包括復(fù)位電路和晶振電路2.P1口上拉接8個(gè)LED;3.在Keil軟件中編寫程序,對LED顯示進(jìn)行控制,顯示方式有兩種:(1)0、7亮,1、6亮,2、5亮,3、4亮,0、7亮循環(huán);(2))3、4亮,2、5亮,1、6亮,0、7亮,3、4亮循環(huán)。4.在P3.2連接一個(gè)按鍵,當(dāng)按鍵彈起時(shí)引腳為高電平,當(dāng)按鍵按下時(shí)引腳為低時(shí)平5.編寫程序:系統(tǒng)對LED顯示進(jìn)行控制,一開始顯示方式為(1),當(dāng)按下P3.2連接的按鍵時(shí),系統(tǒng)在(1)和(2)之間切換顯示方式二、實(shí)驗(yàn)?zāi)康?.學(xué)習(xí)端口輸入輸出的高級應(yīng)用2

2、.掌握LED查表顯示法3.掌握外部中斷的工作原理4.掌握外部中斷程序設(shè)計(jì)三.實(shí)驗(yàn)說明(條理清晰,含程序的一些功能分析計(jì)算)1.程序中voidmy_int(void)interrupt0using1{flag=!flag;}//中斷子程序是中斷子程序,就是按鍵按下中斷一次。2.以下是燈亮的方式改變,即flag取反一次就改變一次。通過i++或i—實(shí)現(xiàn)變化。while(1){P1=LED[i];//在P1口顯示燈亮的方式delay_ms(500);//延時(shí)0.05sif(flag)//判斷P3^2開關(guān)是否按下{i++;if(i>=4)//如果燈顯示從兩邊到中間要在回到兩邊i=

3、0;}else{i--;if(i<0)//同上i=3;}四、硬件原理圖及程序設(shè)計(jì)(一)硬件原理圖設(shè)計(jì)(二)程序流程圖設(shè)計(jì)是開始定義變量i=0;flag=1;P0=LED[i];Flag?i++;否i--;P3.3按下時(shí)進(jìn)行中斷Flag=flag!;(三)程序設(shè)源代碼#include#defineledP0//1MS延時(shí)子程序voiddelay_ms(intx){//延時(shí)程序inti,j;for(i=0;i

4、XDB,0XE7};//查表顯示的LED代碼voiddelay_ms(inti);main(){EA=1;//開總開關(guān)EX0=1;//開中斷小開關(guān)IT0=1;while(1){P1=LED[i];//在P1口顯示燈亮的方式delay_ms(500);//延時(shí)0.05sif(flag)//判斷P3^2開關(guān)是否按下{i++;if(i>=4)//如果燈顯示從兩邊到中間要在回到兩邊i=0;}else{i--;if(i<0)//同上i=3;}}}voidmy_int(void)interrupt0using1{flag=!flag;}//中斷子程序五.實(shí)驗(yàn)總結(jié)1.當(dāng)我們沒用外部中

5、斷實(shí)現(xiàn)燈亮方式變化時(shí),要判斷P3.3口是否按下。這種方法比較不好,按鍵要按就點(diǎn)才可以改變。2.我們仿真圖中燈管腳要與程序中的對應(yīng)。3.燈亮的間隔時(shí)間要設(shè)置合適。實(shí)驗(yàn)七外部中斷實(shí)驗(yàn)二一、實(shí)驗(yàn)要求1.在數(shù)碼管動態(tài)顯示實(shí)驗(yàn)中的電路圖基礎(chǔ)上,繪制兩個(gè)按鈕K1和K2,一端分別與單片機(jī)P3.2和P3.3引腳,當(dāng)按鍵彈起時(shí)引腳為高電平,當(dāng)按鍵按下時(shí)引腳為低時(shí)平2.在Keil軟件中編寫程序,采用動態(tài)顯示法,主程序讓實(shí)現(xiàn)數(shù)碼管分別顯示數(shù)字1,2,3,4,當(dāng)K1按下時(shí)數(shù)字順序向右移一位顯示,當(dāng)K2按下時(shí)數(shù)字順序向左移一位顯示二、實(shí)驗(yàn)?zāi)康?.掌握7段數(shù)碼管的連接方式和動態(tài)顯示法2.鞏固中斷的

6、知識,學(xué)會外部中斷的使用3.掌握查表程序、中斷服務(wù)子程序和延時(shí)等子程序的設(shè)計(jì)三.實(shí)驗(yàn)說明1.對程序的用查表法顯示1234.當(dāng)要移位時(shí)用中斷對j++,就是每按下按鍵就加一,而另外一個(gè)中斷j--。2.查表時(shí)我們的表數(shù)據(jù)是1,2,3,4,1,2,3,4這樣就可以實(shí)現(xiàn)移位,這種方法比較簡單。四、硬件原理圖及程序設(shè)計(jì)(一)硬件原理圖設(shè)計(jì)(二)程序流程圖設(shè)計(jì)開始定義變量j;把1234進(jìn)行動態(tài)顯示到數(shù)碼管上判斷j大小對應(yīng)的移位的位置進(jìn)行外部中斷0和1的判斷,當(dāng)P3_2按下是j++;當(dāng)P3_3按下j--;(三)程序設(shè)源代碼#includesbitP3_2=P3^2;s

7、bitP3_3=P3^3;//1MS延時(shí)子程序voiddelay_ms(intx){//延時(shí)子程序(x)msinti,j;for(i=0;i

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

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

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