STM8S——8位基本定时器(TIM4)

发布者:cloudy德德最新更新时间:2019-12-27 来源: eefocus关键字:STM8S  8位  基本定时器  TIM4 手机看文章 扫描二维码
随时随地手机看文章

简介:该定时器由一个带可编程预分频器的8位自动重载的向上计数器所组成,它可以用来作为时基发生器,具有溢出中断功能。


主要功能:


(1)8位向上计数的自动重载计数器;


(2)3位可编程的预分配器(可在运行中修改),提供1、2、4、8、16、32、64、128这8种分频比例;


(3)中断产生:更新中断(溢出,计数器初始化)。


代码实现:


 1 /* Includes ------------------------------------------------------------------*/

 2 #include "stm8s.h"

 3 

 4 /* Private define ------------------------------------------------------------*/

 5 #define TIM4_PERIOD       124

 6 /* Private variables ---------------------------------------------------------*/

 7 __IO uint32_t TimingDelay = 0;

 8 /* Private function prototypes -----------------------------------------------*/

 9 void Delay(__IO uint32_t nTime);

10 void TimingDelay_Decrement(void);

11 static void TIM4_Config(void);

12 

13 /**

14   * @brief  Main program.

15   * @param  None

16   * @retval None

17   */

18 void main(void)

19 {

20   /* TIM4 configuration -----------------------------------------*/

21   TIM4_Config();    

22   

23   /* Insert 50 ms delay */

24   Delay(50);

25   }

26 }

27 

28 /**

29   * @brief  Configure TIM4 to generate an update interrupt each 1ms 

30   * @param  None

31   * @retval None

32   */

33 static void TIM4_Config(void)

34 {

35   /* TIM4 configuration:

36    - TIM4CLK is set to 16 MHz, the TIM4 Prescaler is equal to 128 so the TIM1 counter

37    clock used is 16 MHz / 128 = 125 000 Hz

38   - With 125 000 Hz we can generate time base:

39       max time base is 2.048 ms if TIM4_PERIOD = 255 --> (255 + 1) / 125000 = 2.048 ms

40       min time base is 0.016 ms if TIM4_PERIOD = 1   --> (  1 + 1) / 125000 = 0.016 ms

41   - In this example we need to generate a time base equal to 1 ms

42    so TIM4_PERIOD = (0.001 * 125000 - 1) = 124 */

43 

44   /* Time base configuration */

45   TIM4_TimeBaseInit(TIM4_PRESCALER_128, TIM4_PERIOD);

46   /* Clear TIM4 update flag */

47   TIM4_ClearFlag(TIM4_FLAG_UPDATE);

48   /* Enable update interrupt */

49   TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);

50   

51   /* enable interrupts */

52   enableInterrupts();

53 

54   /* Enable TIM4 */

55   TIM4_Cmd(ENABLE);

56 }

57 

58 

59 /**

60   * @brief  Inserts a delay time.

61   * @param  nTime: specifies the delay time length, in milliseconds.

62   * @retval None

63   */

64 void Delay(__IO uint32_t nTime)

65 {

66   TimingDelay = nTime;

67 

68   while (TimingDelay != 0);

69 }

70 

71 /**

72   * @brief  Decrements the TimingDelay variable.

73   * @param  None

74   * @retval None

75   */

76 void TimingDelay_Decrement(void)

77 {

78   if (TimingDelay != 0x00)

79   {

80     TimingDelay--;

81   }

82 }


TIM4


关键字:STM8S  8位  基本定时器  TIM4 引用地址:STM8S——8位基本定时器(TIM4)

上一篇:stm8s开发(四) CLOCK的使用:时钟控制
下一篇:STM8S003/103K使用uart1注意事项

推荐阅读最新更新时间:2024-10-25 14:11

STM8S——8位基本定时器(TIM4)
简介:该定时器由一个带可编程预分频器的8位自动重载的向上计数器所组成,它可以用来作为时基发生器,具有溢出中断功能。 主要功能: (1)8位向上计数的自动重载计数器; (2)3位可编程的预分配器(可在运行中修改),提供1、2、4、8、16、32、64、128这8种分频比例; (3)中断产生:更新中断(溢出,计数器初始化)。 代码实现: 1 /* Includes ------------------------------------------------------------------*/ 2 #include stm8s.h 3 4 /* Private define --------------
[单片机]
STM8S——8位基本定时器(TIM4)
简介:该定时器由一个带可编程预分频器的8位自动重载的向上计数器所组成,它可以用来作为时基发生器,具有溢出中断功能。 主要功能: (1)8位向上计数的自动重载计数器; (2)3位可编程的预分配器(可在运行中修改),提供1、2、4、8、16、32、64、128这8种分频比例; (3)中断产生:更新中断(溢出,计数器初始化)。 代码实现: 1 /* Includes ------------------------------------------------------------------*/ 2 #include stm8s.h 3 4 /* Private define ------------
[单片机]
STM8S——8位基本定时器TIM4
简介:该定时器由一个带可编程预分频器的8位自动重载的向上计数器所组成,它可以用来作为时基发生器,具有溢出中断功能。 主要功能: (1)8位向上计数的自动重载计数器; (2)3位可编程的预分配器(可在运行中修改),提供1、2、4、8、16、32、64、128这8种分频比例; (3)中断产生:更新中断(溢出,计数器初始化)。 代码实现: 1 /* Includes ------------------------------------------------------------------*/ 2 #include stm8s.h 3 4 /* Private define -------------
[单片机]
STM8 8位基本定时器(TIM4,TIM6)
介绍 该定时器由的8可位自动重载的向上计数器所组成,它可以用来作为时基发生器,具有溢出中断功能。 TIM6同时钟信号控制器用于定时器同步和级联。 STM8通用定时器TIM4的主要功能 TIM4功能包括: 8位向上计数的自动重载计数器; 3位可编程的预分配器(可在运行中修改),提供1,2,4,8,16,32,64和128这8种分频比例。 中断产生 –在计数器更新时:计数器溢出 STM8通用定时器TIM6主要功能 TIM6的功能包括: 8位向上计数的自动重载计数器; 3位可编程的预分配器(可在运行中修改),提供1,2,4,8,16,32,64和128这8种分频比例。 用于和外部信号相连和定时器
[单片机]
STM8 <font color='red'>8位</font><font color='red'>基本</font><font color='red'>定时器</font>(<font color='red'>TIM4</font>,TIM6)
STM8 8位基本定时器 TIM4
STM8S 的定时器 TIM4 由一个带可编程预分频器的 8 位可自动重载的向上计数器组成。 TIM4 的时钟源为系统主时钟 f MASTER ,因为 f MASTER 来源于 HSE、HSI、LSI,所以也相当于 TIM4 的时钟源可以为 HSE、HSI、LSI。 f MASTER 直接连接到 CK_PSC 时钟,然后经过预分频器分频,3 位可编程预分频器可以提供 1、2、4、8、16、32、64、128 的分频,生成 CK_CNT 时钟,以驱动向上计数器进行计数。计数时钟的频率为: fCK_CNT =f CK_PSC / 2(PSC ) 向上计数时,计数器从 0 开始计数,当计数值(TIM4_CNTR 寄存器的值
[单片机]
STM8 <font color='red'>8位</font><font color='red'>基本</font>型<font color='red'>定时器</font> <font color='red'>TIM4</font>
STM8S定时器的使用 - stm8s定时器tim4使用方法解析
  stm8s定时器TIm4概述   该定时器由的8可位自动重载的向上计数器所组成,它可以用来作为时基发生器,具有溢出中断功能。   TIM6同时钟信号控制器用于定时器同步和级联。   STM8通用定时器TIM4的主要功能   TIM4功能包括:   1、8位向上计数的自动重载计数器;   2、3位可编程的预分配器(可在运行中修改),提供1,2,4,8,16,32,64和128这8种分频比例。   3、中断产生   –在计数器更新时:计数器溢出   STM8通用定时器TIM4功能概述      (TIM4框图 )   中断   通用定时器包括2个中断源:   更新中断(溢出,计数器初始化);   触发信号输入(仅TIM
[单片机]
<font color='red'>STM8S</font><font color='red'>定时器</font>的使用 - <font color='red'>stm8s</font><font color='red'>定时器</font><font color='red'>tim4</font>使用方法解析
stm8s定时器tim4使用方法解析
  stm8s定时器TIm4概述   该定时器由的8可位自动重载的向上计数器所组成,它可以用来作为时基发生器,具有溢出中断功能。   TIM6同时钟信号控制器用于定时器同步和级联。   STM8通用定时器TIM4的主要功能   TIM4功能包括:   1、8位向上计数的自动重载计数器;   2、3位可编程的预分配器(可在运行中修改),提供1,2,4,8,16,32,64和128这8种分频比例。   3、中断产生   –在计数器更新时:计数器溢出   STM8通用定时器TIM4功能概述      (TIM4框图 )   中断   通用定时器包括2个中断源:   更新中断(溢出,计数器初始化);   触发信号输入(
[单片机]
<font color='red'>stm8s</font><font color='red'>定时器</font><font color='red'>tim4</font>使用方法解析
STM8S定时器TIM4定时1kHz输出
1.将主时钟切换到HSE;(外部晶振为8MkHz) 2.将主时钟时钟频率8分频,即计数器时钟周期为1us; 3.设置定时器250us中断一次; 4.在中断程序里判断中断次数是否到2次; 5.到2次翻转引脚电平。(逻辑分析仪检测频率) 寄存器版: unsigned char i=255; PE_DDR_DDR5=1;//配置PD0为输出模式 PE_CR1_C15=1;//配置PD0为推挽模式 PE_CR2_C25=0;//配置PD0输出最大为10Mhz if(CLK_CMSR==0xE1) {//如果HSI为主时钟源(复位值),切换到HSE CLK_SWCR_SWIEN=1;//时钟切换中断使能 CLK_SWR=0
[单片机]
<font color='red'>STM8S</font><font color='red'>定时器</font><font color='red'>TIM4</font>定时1kHz输出
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved