定时器T1
查询方式
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