|
這是做的外部中斷計數(shù),用了好幾天終于完成,謝謝指教- #include < reg51.h >
- #include <intrins.h>
- sbit LS138A=P2^2;
- sbit LS138B=P2^3;
- sbit LS138C=P2^4;
- unsigned int LedNumVal_1,LedNumVal_2,LedOut[8];
- //此表為 LED 的字模, 共陰數(shù)碼管 0-9 -
- unsigned char code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
- void delay(unsigned int i)
- {
- char j;
- for(i; i > 0; i--)
- for(j = 200; j > 0; j--);
- }
- void main(void)
- { unsigned char i;
- P0=0xff;
- P1=0xff;
- P2=0xff;
- // IT0=0; //低電平觸發(fā)
- IT0=1; //下降沿觸發(fā)
- EX0=1;
-
- // IT1=0; //低電平觸發(fā)
- IT1=1; //下降沿觸發(fā)
- EX1=1;
- EA=1;
- while(1)
- {
- LedOut[0]=Disp_Tab[LedNumVal_1%10000/1000];
- LedOut[1]=Disp_Tab[LedNumVal_1%1000/100]|0x80; //0x7f小數(shù)點
- LedOut[2]=Disp_Tab[LedNumVal_1%100/10];
- LedOut[3]=Disp_Tab[LedNumVal_1%10];
- LedOut[4]=Disp_Tab[LedNumVal_2%10000/1000];
- LedOut[5]=Disp_Tab[LedNumVal_2%1000/100];
- LedOut[6]=Disp_Tab[LedNumVal_2%100/10];
- LedOut[7]=Disp_Tab[LedNumVal_2%10];
- for( i=0; i<8; i++)
- { P0 = LedOut[i];
-
- switch(i)
- {
- case 0:LS138A=0; LS138B=0; LS138C=0; break;
- case 1:LS138A=1; LS138B=0; LS138C=0; break;
- case 2:LS138A=0; LS138B=1; LS138C=0; break;
- case 3:LS138A=1; LS138B=1; LS138C=0; break;
- case 4:LS138A=0; LS138B=0; LS138C=1; break;
- case 5:LS138A=1; LS138B=0; LS138C=1; break;
- case 6:LS138A=0; LS138B=1; LS138C=1; break;
- case 7:LS138A=1; LS138B=1; LS138C=1; break;
-
- }
- delay(5);
- }
-
- }
- }
- /********************************************************
- * INT0中斷函數(shù) *
- ********************************************************/
- void counter0(void) interrupt 0 using 1
- {
-
- EX0=0;
- LedNumVal_1++;
- EX0=1;
- }
- /********************************************************
- * INT1中斷函數(shù) *
- ********************************************************/
- void counter1(void) interrupt 2 using 2
- {
-
- EX1=0;
- LedNumVal_2++;
- EX1=1;
- }
- /********************************************************/
復(fù)制代碼
|
-
-
3 外部中斷計數(shù).rar
2017-1-3 13:05 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
17.58 KB, 下載次數(shù): 20, 下載積分: 黑幣 -5
外部中斷計數(shù)
|