|
1、STC15W4K32S4系列MCU定时器/计数器2初始化程序配置和中断服务函数设计。
- /********************************************
- 变量定义
- *********************************************/
- uint16 cnt = 0;
- /***********************************************************
- 功能描述:定时器2初始化
- 入口参数:无
- 返回值:无
- ************************************************************/
- void Timer2Init(void)
- {
- AUXR &= 0xF7; //定时器2设置为定时方式
- AUXR |= 0x04; //设置定时器2为1T模式
- T2L = 0x00; //1T模式下初始装载值
- T2H = 0x28; //1T模式下初始装载值
- IE2 |= 0x04; //使能定时器2中断
- AUXR |= 0x10; //打开定时器2
- }
- /***********************************************************
- 功能描述:定时器2中断服务程序
- 入口参数:无
- 返回值:无
- ************************************************************/
- void timer2_int (void) interrupt TIMER2_VECTOR
- {
- cnt++; //5ms进入1次中断
- if(cnt == 200) //200次中断被响应后,正好1000ms
- {
- led_toggle(LED_1); //翻转蓝色指示灯DS1
- cnt = 0;
- }
- }
2、STC15W4K32S4系列MCU定时器/计数器3初始化程序配置和中断服务函数设计。
- /********************************************
- 变量定义
- *********************************************/
- uint16 cnt = 0;
- /***********************************************************
- 功能描述:定时器3初始化
- 入口参数:无
- 返回值:无
- ************************************************************/
- void Timer3Init(void)
- {
- T4T3M &= 0xFB; //定时器3设置为定时方式
- T4T3M |= 0x02; //设置定时器3为1T模式
- T3L = 0x00; //1T模式下初始装载值
- T3H = 0x28; //1T模式下初始装载值
- IE2 |= (1<<5); //使能定时器3中断
- T4T3M |= 0x08; //打开定时器3
- }
- /***********************************************************
- 功能描述:定时器3中断服务程序
- 入口参数:无
- 返回值:无
- ************************************************************/
- void timer3_int (void) interrupt TIMER3_VECTOR
- {
- cnt++; //5ms进入1次中断
- if(cnt == 200) //200次中断被响应后,正好1000ms
- {
- led_toggle(LED_1); //翻转蓝色指示灯DS1
- cnt = 0;
- }
- }
3、STC15W4K32S4系列MCU定时器/计数器4初始化程序配置和中断服务函数设计。
- /********************************************
- 变量定义
- *********************************************/
- uint16 cnt = 0;
- /***********************************************************
- 功能描述:定时器4初始化
- 入口参数:无
- 返回值:无
- ************************************************************/
- void Timer4Init(void)
- {
- T4T3M &= 0xBF; //定时器4设置为定时方式
- T4T3M |= 0x20; //设置定时器4为1T模式
- T4L = 0x00; //1T模式下初始装载值
- T4H = 0x28; //1T模式下初始装载值
- IE2 |= (1<<6); //使能定时器4中断
- T4T3M |= 0x80; //打开定时器4
- }
- /***********************************************************
- 功能描述:定时器4中断服务程序
- 入口参数:无
- 返回值:无
- ************************************************************/
- void timer4_int (void) interrupt TIMER4_VECTOR
- {
- cnt++; //5ms进入1次中断
- if(cnt == 200) //200次中断被响应后,正好1000ms
- {
- led_toggle(LED_1); //翻转蓝色指示灯DS1
- cnt = 0;
- }
- }
4、STC15W4K32S4系列MCU定时器/计数器可以同时打开多个。
|
|