一、實(shí)驗(yàn)?zāi)康?/div> 1.學(xué)習(xí)并掌握外中斷的使用。 2.學(xué)習(xí)中斷處理程序的編程方法。 二、實(shí)驗(yàn)設(shè)備 PC 機(jī)一臺、Keil C 、Proteus 三、實(shí)驗(yàn)內(nèi)容 1.使用單脈沖作中斷源,每按一次按鈕,響應(yīng)一次外部中斷; 2. 實(shí)現(xiàn)中斷的嵌套功能,設(shè)置其優(yōu)先級; 四、實(shí)驗(yàn)步驟 1.本實(shí)驗(yàn)電路如下所示。
五、實(shí)驗(yàn)報告要求 1.編寫程序并加上注釋; 2.把設(shè)計的PROTEUS仿真圖,寫入實(shí)驗(yàn)報告。 6.思考題: 單片機(jī)外中斷兩種觸發(fā)方式的區(qū)別,各適用于何種情況。 - #include<reg51.h>
- #define SEG1 P0
- #define SEG2 P1
- #define SEG3 P2
- unsigned char code TAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};
- void delay(int x)
- {
- int i ,j;
- for(i=0;i<x;i++)
- for(j=0;j<100;j++);
- }
- main()
- {
- IE=0x85;
- IP=0x04;
- TCON=0x05;
- while(1)
- {
- int i;
- for(i=0;i<10;i++)
- {
- SEG1=TAB[i];
- delay(250);
- }
- }
- }
- void my_int1(void) interrupt 2
- {
- int i;
- for (i=0;i<10;i++)
- {
- SEG2=TAB[i];
- delay(250);
- }
- }
- void my_int0(void) interrupt 0
- {
- int i;
- for (i=0;i<10;i++)
- {
- SEG3=TAB[i];
- delay(250);
- }
- }
復(fù)制代碼全部資料51hei下載地址:
外部中斷的應(yīng)用.zip
(18.14 KB, 下載次數(shù): 17)
2020-6-14 10:37 上傳
點(diǎn)擊文件名下載附件
|