基于STM8的TIM定时器操作---STM8-第三章

本文详细介绍了STM8S103芯片中TIM1、TIM2和TIM4定时器的配置与中断处理,包括预分频系数、计数模式和自动重载值的设定,以及如何通过库文件实现1秒间隔的LED翻转效果。
摘要由CSDN通过智能技术生成

1. 综述

  STM8S提供三种类型的 TIM 定时器:高级控制型(TIM1)、通用型(TIM2/TIM3/TIM5)和基本型定时器(TIM4/TIM6)。它们虽有不同功能但都基于共同的架构。此共同的架构使得采用各个定时器设计应用变得非常容易与方便(相同的寄存器映射,相同的基本功能)。

  本文只针对STM8S103该芯片进行介绍,该芯片的定时器个数为3个,每个类型的定时器都一个,分别为高级控制型(TIM1)、通用型(TIM2)、基本型定时器(TIM4)。

 

2. 关于STM8S103手册的TIM简介

  每个定时器的功能都有详细介绍,大家可以认真看下。

 

3. TIMx详细讲解

3.1 TIM1解析

  TIM1_Prescaler          :即预分频系数,带有16位预分频的16位递增、递减和双向(递增/递减)自动重载计数器。

  TIM1_CounterMode      :即计数模式,共有3种计数模式,分别为是向上计数模式、向下计数模式、中央对齐模式(该模式又含有3种对齐模式)。

  TIM1_Period                 :自动重载值,此项可取1-65535任意数值。

  TIM1_RepetitionCounter :重复计数器值。

 

  假设我们的系统时钟是16Mhz,我们定时1秒钟,那我们初始化设置应该为:  

  TIM1_TimeBaseInit(15,TIM1_COUNTERMODE_UP,1000,100);  

计算方法:定时器的频率fcnk = 16Mhz/(15+1) = 1Mhz,说明一次计数为1us,1000次计数为1ms,而重复计数100次,则一次中断计时时间为100ms,为了到达1s的效果,我们还需要在中断函数里面,进行一个10次的判断。(1MHZ = 1000KHZ = 1000000HZ, 相当于 1/1000000 = 1us)

3.2 TIM2解析

  TIM2_Prescaler :15位的预分频系数,分频系数可调整为1~32768之间的2次幂数值。

  TIM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值