930电子网

 找回密码
 立即注册
艾克姆科技推出最新产品STC32G12K128开发板
查看: 12280|回复: 0

STC15W4K32S4系列定时器之程序设计2

[复制链接]

101

主题

333

帖子

7428

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7428
发表于 2019-7-10 10:04:53 | 显示全部楼层 |阅读模式
    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定时器/计数器可以同时打开多个。
















回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|官方淘宝店|930电子网 ( 皖ICP备16000695号-2 )

Copyright © 合肥艾克姆电子科技有限公司
快速回复 返回顶部 返回列表