历史上的今天

今天是:2024年10月20日(星期日)

正在发生

2021年10月20日 | STM8S定时器的使用 - stm8s定时器tim4使用方法解析

发布者:HarmonyJoy 来源: eefocus关键字: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功能概述

  stm8s定时器tim4使用方法解析

  (TIM4框图 )

  中断

  通用定时器包括2个中断源:

  更新中断(溢出,计数器初始化);

  触发信号输入(仅TIM6可用)


  STM8S定时器的使用

  环境:STM8SF103 ,仿真器为:STLINK

  TIM4 属于8位定时器,最大128分频。

  这个定时器的时钟源是系统时钟源(fMaster),然后直接通过预分频器分频后供CK_CNT使用。如:系统频率为4MHz,经过128分频后,提供给定时器使用的频率就为31250Hz


  因为项目需要,我这里使用的内部RC 16MHz振荡器,并进行LSI 4分频,所以主频为4MHz。

  //main.c

  void Init_Tim4(void)

  {

  /*很多人都是在这里装填0xFF,其实是为了让PSC尽快生效,对于PSC的设置,需要在下一个更新事件时才会生效*/

  TIM4_CNTR=0; //计数器值

  TIM4_ARR=0xFA; //自动重装寄存器 250,产生125次定时1S

  TIM4_PSCR=0x07; //预分频系数为128 TIM4_EGR=0x01; //手动产生一个更新事件,用于PSC生效 注意,是手动更新

  TIM4_IER=0x01; //更新事件中断使能

  TIM4_CR1=0x01; //使能计时器,TIM4_CR0停止计时器

  }

  void main(void)

  {

  _asm(“rim”); //这是必须的,因为系统重启后,软件中断级别为3级,处于最高级,除了TRAP,TLI,RESET三个中断外不响应其他中断。

  //rim将软件级别更改为0级别,这样其他中断就能得到相应。

  Init_Tim4();

  while(1);

  }

  //中断向量表必须将TIM4的中断处理函数填写进去

  {0x82, TIM4_UPD_OVF_IRQHandler}, /* irq23 */

  //处理函数如下:

  /*定时器4用作看门狗喂狗定时,因为看门狗最大延时510ms,

  定时器频率为4MHz/128=31250 = 250 * 125,125 / 5 = 25 (200ms)*/ @far @interrupt void TIM4_UPD_OVF_IRQHandler(void)

  {

  t4++;

  TIM4_SR=0; //清除中断标志

  //t4==125 //定时1S

  if(t4==25) //25 * 250 定时200ms

  {

  FREE_IWDG; //喂狗,如果单纯定时用,可以拿掉

  //可以尝试点亮LED灯

  t4=0;

  }

  return;

  }

  定时器延时计算过程,如主频4MHz,预分频为128,定时器频率等于4000000 / 128 = 31250 (Hz),周期为32us。4分频时周期为1us。

  如:主频8MHz,预分频为128,定时器频率等于8000000 / 128 = 62500 (Hz),周期为16us。

  整个代码没有使用库函数,诸如TIM4_SR TIM4_CR1之类的定义在stm8s103k.h,其他的头也可以。

  定时器2 (16位计时器) 的简单实用与此类似,但需要注意设置初值的方法,如:

  void Init_Tim2(void)

  {

  TIM2_EGR=0x01; //手动产生更新事件,重新初始化计数器,并允许产生一个更新事件

  //设置定时器初值

  TIM2_CNTRH=0; //不能使用TIM2_CNTR直接设值,TIM2_CNTRL=0;

  //设定自动重装寄存器值

  //这里得注意不能使用TIM2_ARR的方式进行设值,TIM2是十六位的。

  //如TIM2_ARR=0xFA,实际上是赋给高字节了,TIM2_ARRH=0xFA,而不是想象中的赋给低字节。

  TIM2_ARRH=0x7A; //31250 4MHz / 128 = 31250Hz (1S)

  TIM2_ARRL=0x12; //0x7A12 31250 意味着每产生一次中断时间为1S

  TIM2_PSCR=0x07; //分频128

  TIM2_IER=0x01; //中断允许位使能

  TIM2_CR1=0x01; //使能计时器

  }

  整个使用需要注意几点:

  第一、总中断的开启_asm(“rim”)

  第二、中断向量表对应位置的中断处理过程改写

  第三、定时器自身的使能,包括中断使能和计时器使能

  第四、默认情况下,TIM4的外设时钟是开启的,CLK_PCKENR为0xFF,外设TIM4时钟如果关闭,时钟是运行不起来的。


关键字:STM8S  定时器  tim4 引用地址:STM8S定时器的使用 - stm8s定时器tim4使用方法解析

上一篇:STM8S时钟校准笔记二——通过AWU校准HSI
下一篇:STM8S定时器工作

推荐阅读

有人的地方就有江湖,有了江湖则需要领路人。小米曾自称是国内最大的IoT企业,其利用产品的高性价比获取了大量粉丝;而华为则霸了全球通讯技术的首座,以技术称王。一场性价比与技术的厮杀,小米和华为智能家居的霸主抢夺战一触即发。 不可否认的是,小米的智能家居生态链经过3年的积累,已经形成了一套自研、自产、自销的完整体系,据了解小米接入生态链...
“经常寻找‘迷路’的它,扫的不干净还需人工扫、清理尘盒易扬尘影响我们的健康”作为一款能帮我们减轻家庭负担的智能扫地机,似乎并没有让我们省心省力。致力打造家居清洁服务的一站式解决方案的联想,推出了全球首款自动集尘的扫拖一体机器人,自动集尘、扫拖一体、导航等高能设计,不仅弥补了用户体验上的不足,更是完全碾压石头、科沃斯等产品。 究...
10月18日,“徐州发布”发布信息称,徐州市委、市政府16日向徐州鑫晶半导体科技有限公司首批12英寸半导体大硅片成功下线发出贺信。贺信中表示,12英寸半导体大硅片的下线是我国半导体制造工艺的又一重大突破。徐州鑫晶半导体大硅片项目,一期投资68亿元,建设12英寸半导体大硅片长晶及切磨抛生产线,年规划产能360万片。该项目是江苏省、徐州市重大产业项...
stm32的中断分为 1.抢占优先级。 2.子优先级。1.抢占优先级。抢占优先级高的中断,可以打断抢占优先级低的中断。2.子优先级。抢占优先级相同的中断,子优先级高的可以优先执行。其实,子优先级主要给出了一种响应的优先队列。假设中断的抢占优先级都相同。如果有多个相同抢占优先级的中断来了 ,那么他们不会互相打断,但是他们后续的排队会按照子优先...

史海拾趣

问答坊 | AI 解惑

超级单片机开发工具!! 很实用哦!

!!!超级单片机开发工具!!!   单片机开发过程中用到的多功能工具,包括热敏电阻RT值--HEX数据转换;3种LED编码;色环电阻计算器;HEX/BIN 文件互相转换;eeprom数据到C/ASM源码转换;CRC校验生成;串口调试,带简单而实用的数据分 ...…

查看全部问答∨

基于AT89C52单片机的SD卡的读写设计

长期以来,以Flash Memory为存储体的SD卡因具备体积小、功耗低、可擦写以及非易失性等特点而被广泛应用于消费类电子产品中。特别是近年来,随着价格不断下降且存储容量不断提高,它的应用范围日益增广。当数据采集系统需要长时间地采集、记录海量数 ...…

查看全部问答∨

到底应该选择哪种无线技术?

底应该选择哪种无线技术?---- 各种无线技术简介及其选择 摘要:本文将简要介绍各种无线技术,包括:红外线、蓝牙技术、Zigbee技术、自组织网络、Wi-Fi技术、射频识别技术(RFID)、实时定位服务(RTLS)、微波存取全球互通技术(WiMax)、大功 ...…

查看全部问答∨

辩题讨论-硬件工程师好还是软件工程师好?

我想每个学电子的,都会为自己的发展方向而忧愁过。在选择从事方向时不知道就行选择哪一个?   究竟是做硬件好还是做软件好,还是全部都做?   希望网友能说是你的看法,给为选择的人们一定指引。。。…

查看全部问答∨

Vxworks下两个虚拟机如何正常通信

我在主机上建了两个虚拟机,可客户端向服务器发送数据,服务器端都没有反应,建的虚拟FTP客户端也无法登陆虚拟FTP服务器,请问虚拟机间到底应该如何通信啊??…

查看全部问答∨

ucos中的OSUnMapTbl原理在硬件中的应用?

ucos中的OSUnMapTbl是一个很大的静态数组,提高查找速度 以前看过一个网页说 这中设计思想在硬件设计中也有应用,固化在芯片中什么的, 烦请请高手指点一下。…

查看全部问答∨

大家一般怎么采购电子元器件?

我一般是在华强电子网上搜,华强上面的商家一般是深圳广州的,然后逐个打电话去问,网上显示有货也不一定有货。不知道大家一般怎么买元器件。…

查看全部问答∨

【MSP430共享】基于智能检测技术的室内照明系统

以MSP430单片机为核心,采用检测单元阵列进行人体检测,并结合自然光检测,实现照明系统的只能控制,解决了传统节能照明控制系统存在的检测不准确、可靠性不高的问题,达到了节能目的。实际应用验证了方案的可行性,具有良好的实用价值。 [ 本帖最 ...…

查看全部问答∨

How to deliver employee's welfare?

The high welfare of valley song on the other hand can keep a talented person, can deliver the information of \"the valley song has good business enterprise quality\" to the north face denali external world on the other hand.As lon ...…

查看全部问答∨

430F169AD采样工作有间断期

#include <msp430x16x.h> #define   Num_of_Results   8 uint ADC_BUF0[Num_of_Results]; uint ADC_BUF1[Num_of_Results]; uint sumI;            //定义电流采样均值 uint ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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