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个中断源:
更新中断(溢出,计数器初始化);
触发信号输入(仅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时钟校准笔记二——通过AWU校准HSI
下一篇:STM8S定时器工作
推荐阅读
史海拾趣
2013年,ELESTA公司更名为ELESTA GmbH,这一品牌重塑标志着公司进入了新的发展阶段。同时,ELESTA也开始实施全球化战略,积极拓展国际市场,通过不断提升产品质量和服务水平,赢得了全球客户的信赖和认可。
背景:Fritz Hartmann Gerätebau KG成立于1961年,起初专注于电子元器件的研发与生产。随着技术的不断积累和市场的逐步拓展,公司业务逐渐壮大,并更名为Hartmann Codier GmbH。这一时期,公司凭借对开关技术的深刻理解,逐步在行业内建立了良好的声誉。
发展:在初创阶段,Hartmann Codier GmbH致力于提升产品质量和技术水平,通过不断的技术创新和产品优化,逐渐在旋转编码开关和微动开关领域占据了一席之地。同时,公司也积极拓展国内外市场,为后续的快速发展奠定了坚实的基础。
随着市场竞争的加剧,Dawning意识到只有不断创新才能在行业中立于不败之地。公司加大了对研发的投入,聘请了一批在电子制造领域具有丰富经验的专家。在专家团队的带领下,Dawning成功开发出了多款具有自主知识产权的高精度电子产品,这些产品不仅在性能上领先同行,而且在价格上也更具竞争力。这些创新产品的推出,极大地提升了Dawning在市场上的竞争力。
在技术创新和产品研发的过程中,赛微高度重视知识产权的保护和管理。公司积极申请各类专利和软件著作权,加强知识产权保护力度。截至目前,赛微已经拥有国际/国内软件著作权98项,国际/国内专利166项,正在申请的国际/国内专利64项。这些知识产权的积累不仅提升了公司的核心竞争力,也为公司的长期发展奠定了坚实基础。
随着公司规模的扩大和产品线的丰富,ECM Electronics Limited.开始积极拓展市场。公司不仅在国内市场取得了良好的销售业绩,还积极开拓国际市场,将产品出口到多个国家和地区。为了更好地服务全球客户,公司还设立了海外办事处和研发中心,加强与国际市场的联系和合作。通过国际化战略的实施,ECM进一步提升了品牌知名度和市场竞争力。
宇阳科技自2001年成立以来,一直致力于片式多层陶瓷电容器(MLCC)的研发和生产。2002年,公司成功研发出0402 BME微型片式多层陶瓷电容器,并通过了新产品鉴定,填补了国内市场的空白。这一创新不仅彰显了宇阳科技在MLCC领域的技术实力,也为公司赢得了市场的认可,为后续的发展奠定了坚实的基础。
!!!超级单片机开发工具!!! 单片机开发过程中用到的多功能工具,包括热敏电阻RT值--HEX数据转换;3种LED编码;色环电阻计算器;HEX/BIN 文件互相转换;eeprom数据到C/ASM源码转换;CRC校验生成;串口调试,带简单而实用的数据分 ...… 查看全部问答∨ |
长期以来,以Flash Memory为存储体的SD卡因具备体积小、功耗低、可擦写以及非易失性等特点而被广泛应用于消费类电子产品中。特别是近年来,随着价格不断下降且存储容量不断提高,它的应用范围日益增广。当数据采集系统需要长时间地采集、记录海量数 ...… 查看全部问答∨ |
底应该选择哪种无线技术?---- 各种无线技术简介及其选择 摘要:本文将简要介绍各种无线技术,包括:红外线、蓝牙技术、Zigbee技术、自组织网络、Wi-Fi技术、射频识别技术(RFID)、实时定位服务(RTLS)、微波存取全球互通技术(WiMax)、大功 ...… 查看全部问答∨ |
我想每个学电子的,都会为自己的发展方向而忧愁过。在选择从事方向时不知道就行选择哪一个? 究竟是做硬件好还是做软件好,还是全部都做? 希望网友能说是你的看法,给为选择的人们一定指引。。。… 查看全部问答∨ |
我在主机上建了两个虚拟机,可客户端向服务器发送数据,服务器端都没有反应,建的虚拟FTP客户端也无法登陆虚拟FTP服务器,请问虚拟机间到底应该如何通信啊??… 查看全部问答∨ |
ucos中的OSUnMapTbl是一个很大的静态数组,提高查找速度 以前看过一个网页说 这中设计思想在硬件设计中也有应用,固化在芯片中什么的, 烦请请高手指点一下。… 查看全部问答∨ |
以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 ...… 查看全部问答∨ |
#include <msp430x16x.h> #define Num_of_Results 8 uint ADC_BUF0[Num_of_Results]; uint ADC_BUF1[Num_of_Results]; uint sumI; //定义电流采样均值 uint ...… 查看全部问答∨ |