定時器T1

 

 

 

查詢方式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