查詢方式spa
1 //定時器T1查詢 2 3 #include <iocc2540.h> 4 5 #define uchar unsigned char 6 #define unit unsigned int 7 8 #define led4 P1_3 9 #define key4 P0_5 10 11 12 13 void IO_Init() 14 { 15 P0DIR |= 0xFF; //io默認爲高電平,P0設置爲輸入 16 P0SEL &= 0X00; //IO默認高電平,P0設置爲普通io 17 18 P1DIR |= 0X0F; //P1設置爲輸出 19 P1SEL &= 0X00; //P1設置爲普通io 20 } 21 22 //查詢方式 23 void T1_Init() 24 { 25 T1CTL = 0x0d; //設置128分頻,自由運行從0x0000到0xffff反覆計數 26 T1STAT = 0X21; //通道0,定時器計數器溢出中斷標誌 27 28 } 29 30 void T3_Init() 31 { 32 T3IE = 1; //中斷使能 33 T3CCTL0 = 0XCA; //上升沿捕獲 34 T3CTL |= 0XF8; //自動重裝,128分頻 35 EA = 1; //總中斷開 36 } 37 38 uchar count = 0; 39 #pragma vector = T3_VECTOR 40 __interrupt void T3_ISR(void) 41 { 42 IRCON = 0X00; //清除中斷標誌 43 count++; 44 if(count>240) 45 { 46 count = 0; //計數清零 47 led4 = ~led4; 48 } 49 } 50 51 void main(void) 52 { 53 T1_Init(); 54 IO_Init(); 55 56 //uchar flag = 0; 57 while(1) 58 { 59 //查詢方式 60 /* 61 if(IRCON > 0) 62 { 63 IRCON = 0; 64 if(flag++>2) 65 { 66 flag = 0; 67 led4 = ~led4; 68 } 69 }*/ 70 } 71 } 72 73 //使用串口功能以前,P0.7,P0.6或P0.2,P1.6置1 74 //或操做 | ,同爲0才爲0. 75 //與操做 & ,同1爲1