定时器T1

 

 

定时器T1_第1张图片

 

查询方式

 1 //定时器T1查询
 2 
 3 #include 
 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

 

转载于:https://www.cnblogs.com/Blue-Moniter4/p/9712690.html

你可能感兴趣的:(定时器T1)