定时器的制作与使用

一、STM32定时器的分类

        STM32最多达11个定时器,其中2个为高级控制定时器,4个为普通定时器和2个为基本定时器,2个看门狗定时器和1个 SysTick 滴答定时器。
        高级控制定时器﹣-TIM1、TIM8。
        通用定时器﹣-TIM2~TIM5,超大容量产品还有通用定时器TIM9~TIM14。

        基本定时器﹣-TIM6和TIM7。

种类:

        1、 接通延时型定时器:接通延时型定时器是各种PLC中最常见最基本的定时器,这种定时器在 SIEMENS的PLC中,称为SD型定时器。

        2、 断开延时型定时器:这种定时器是当输入条件00000为ON时无延时作用,只有在输入条件00000为OFF时产生延时作用。在SIEMENS的PLC中,称为SF型定时器。

        3、保持型接通延时定时器:这种定时器是当输入条件00000为ON后,即产生锁存功能,即使输入条件00000又变为OFF,仍视输入条件为ON,当定时器的当前值等于设定值时,定时器动作,这种定时器在SIEMENS的PLC中,称为SS型定时器。

        4、脉冲型定时器:这种定时器是当输入条件00000为ON后,定时器即时动作,但经过定时器所设定的时间后,即使输入条件00000仍为ON,定时器却变为OFF状态。即这种定时器ON状态的维持时间是由设定值决定的。如果00000为ON的时续时间小于定时器的设定值,定时器的ON状态维持时间为输入条件00000为ON的持续时间。这种定时器在SIEMENS的PLC中,称为SP型定时器。

        5、扩张型脉冲定时器:这种定时器与脉冲型定时器的区别是,只要输入条件00000出现了ON状态,不管其持续时间多长,均可使定时器为ON的维持的时间与定时器的设定值一致。这种定时器在SIEMENS的PLC中,称为SE型定时器。

二、STM32的特性

        高级控制定时器----功能最强,可以实现所以其他定时器的所以功能,在APB2总线上3对互补PWM,可用于电机控制。
        通用定时器-------功能次之,在APB1总线上。
        基本定时器-------功能最简单,在APB1总线上。

三、定时器的原理及原理图

原理:

        通用定时器的核心是一个通过可编程预分频器驱动的16位自动装载计数器。通俗地讲,就是按一定的频率计数的计数器。计数到预设值,则置位相关标志、输出信号切换、触发中断,同时,自动重装预设值它适用于多种场合,包括测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM )

原理图:

四、编写定时器的基本代码

//编写中断服务函数
void EXTI0_IRQHandler()
{
    if(EXTI_GetITStatus(EXTI_Line0) != RESET )
        {
            delay_time += 10000;
//            //清除中断标记
            EXTI_ClearITPendingBit(EXTI_Line0);
        }    
    }

void EXTI15_10_IRQHandler()
{
if(EXTI_GetITStatus(EXTI_Line13) != RESET )
{
    delay_time -= 10000;
    EXTI_ClearITPendingBit(EXTI_Line13);
}
}


int main(void)
{
    
    LED_init();
    key1_init();
    key2_init();
        Delay_init();
   
    //关闭3个灯
                LED_Red_Ctrl(LED_OFF);
                LED_Green_Ctrl(LED_OFF);
                LED_Blue_Ctrl(LED_OFF);
     
    while(1)
    {
            
                LED_Red_Ctrl(LED_ON);
                LED_Green_Ctrl(LED_OFF);
                LED_Blue_Ctrl(LED_OFF);
                Delay_10us(delay_time);
            
                LED_Red_Ctrl(LED_OFF);
                LED_Green_Ctrl(LED_OFF);
                LED_Blue_Ctrl(LED_ON);
                Delay_10us(delay_time);
            
                LED_Red_Ctrl(LED_OFF);
                LED_Green_Ctrl(LED_ON);
                LED_Blue_Ctrl(LED_OFF);
                Delay_10us(delay_time);
            
}
}

五、定时器的应用

                定时器在多个领域中发挥着重要作用,包括家居应用、农业种植、工业生产等。

  1. 家居应用

    • 定时器在家居中主要用于控制室内灯光的开关,实现自动开启或关闭,增加居住舒适度并节约能源。
    • 还可以用于热水器的定时开关,确保在指定时间提供热水,满足人们的生活需求。
  2. 农业种植

    • 在农业种植中,定时器用于自动控制灌溉系统的开关,定时为农作物提供水源,确保农作物的生长和发展。
    • 此外,还可以用于控制温室的温度和湿度,为种植环境提供最适宜的生长条件。
  3. 工业生产

    • 定时器在工业生产中扮演着关键角色,通过预设的时间发送输出信号,控制设备的启动和停止。
    • 它可以作为基本定时器计时、PWM输出或者比较输出,以及作为捕获功能,计算外部脉冲数,触发其他事件。
  4. 其他应用

    • 定时器还可以用于通信协议管理模块,作为一个多任务定时提醒的软件,支持Windows操作系统,可以执行多种操作如播放声音、关机、待机等。
    • 在传统小家电中,如加湿器、热水壶、电饭煲和电蚊香等,定时器可以用来控制设备的间歇性工作,避免设备长时间工作造成的不便或安全隐患。

        综上所述,定时器的应用广泛,不仅提高了生活的便利性,还在工业生产和农业种植等领域发挥了重要作用。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值