历史上的今天
返回首页

历史上的今天

今天是:2025年01月03日(星期五)

正在发生

2020年01月03日 | STM8学习笔记---定时器 TIM2功能实现

2020-01-03 来源:eefocus

STM8的TIM2、TIM3、TIM5是16位通用寄存器,他们的操作方法一样。

在这里插入图片描述

主要功能如下

在这里插入图片描述

相关寄存器如下:

在这里插入图片描述

如果只用到定时功能的话,需要用到的寄存器有自动装载寄存器ARR、预分频寄存器PSCR、事件产生寄存器EGR、状态寄存器SR、控制寄存器CR、中断使能寄存器IER。

此处用TIM2实验,定时器2初始化代码如下:


void Timer2_Init( void )

{

    TIM2_ARRH = ( unsigned char )( 1000 >> 8 );         //定时1ms

    TIM2_ARRL = ( unsigned char )( 1000 );

    TIM2_PSCR = 0x04;         // 16M / (2^4) =1M        //分频值

   

    TIM2_EGR = 0x01;                              //产生更新事件

    TIM2_SR1 = ( ~0x01 );                        //清除更新中断标志

    TIM2_CR1 |= 0x01;                                   //使能计数器

    TIM2_IER |= 0x01;                          //更新中断使能

}


首先设置自动重装载值,此处设置为1000,也就是计数器从0开始计数,当计数到1000时,产生一个中断,然后从0开始重新计数。


下来设置分频系数

在这里插入图片描述

系统默认使用的是内部16M晶振,设置分频值为4,定时器频率就为16M / ( 2^4 ) = 1MHz,计数值设置为1000,这样中断一次就是1ms。

下来使能计数器,开启更新中断。这样定时器初始化工作就设置完成了。

下来编写中断函数


#pragma vector  =  15                          // IAR中的中断号,要在STVD中的中断号上加2

__interrupt void Timer2_Handle( void )         //1ms 定时中断

{

    TIM2_SR1 = ( ~0x01 );                      //清除更新中断标志

    time_cnt++;

    if( time_cnt > 999 )

    {

        time_cnt = 0;

        LED = !LED;

    }

}


进入中断函数中首先清除中断标志位,下来统计中断次数,因为中断1次为1ms,当时间到达1s后,对LED灯状态取反。这样通过定时器2的定时功能就可以实现LED灯1s中闪烁一次。

推荐阅读

史海拾趣

EPCOS (TDK)公司的发展小趣事

在国际化布局方面,TDK-EPC公司始终保持着积极开放的态度。公司通过设立海外研发中心、生产基地和销售网络等方式,不断拓展国际市场。同时,公司还积极参与国际竞争和合作,与全球众多知名企业建立了长期稳定的合作关系。这些举措不仅提升了TDK-EPC公司的品牌影响力和市场竞争力,也为公司的长期发展提供了有力保障。

Abbatron公司的发展小趣事

在电子行业的激烈竞争中,Abbatron公司以其创新的技术赢得了市场的认可。某年,公司研发团队成功开发出了一款新型的高效能芯片,这款芯片不仅性能卓越,而且功耗极低,引起了业界的广泛关注。通过这一技术突破,Abbatron公司在市场上占据了有利地位,并逐渐成为了行业内的佼佼者。

Anytek Technology Corporation Ltd公司的发展小趣事

Anytek Technology Corporation Ltd自创立之初,便敏锐地捕捉到了车载电子产品的市场潜力。2003年,公司果断进军车载及行车记录仪领域,凭借前瞻性的市场洞察力和技术积累,迅速在行业内崭露头角。当时,随着汽车保有量的不断增加,行车记录仪作为保障行车安全、记录行车过程的重要设备,市场需求日益旺盛。Anytek凭借高品质的产品和专业的服务,赢得了广大消费者的信任和好评。

台湾君耀(Brightking)公司的发展小趣事

君耀(Brightking)公司于1996年在台湾新竹高科技园区创立,初期专注于防雷元器件的研发和生产。凭借对技术的深入研究和市场需求的敏锐洞察,君耀逐步在台湾的电子器件市场上占得一席之地。随着产品质量和技术含量的提升,君耀的产品开始受到国内外客户的青睐,销售网络逐渐拓展至全球。

Elcoma公司的发展小趣事

随着公司业务的不断发展,Elcoma意识到要进一步拓展市场,必须与国际同行建立合作关系。他们积极寻求与全球知名电子企业的合作机会,通过技术交流和合作研发,不断提升自身的技术水平和市场竞争力。同时,Elcoma还积极参与国际电子展会和论坛,展示公司的最新技术和产品,吸引了众多国际客户的关注。这些国际合作不仅为Elcoma带来了更多的商业机会,也进一步提升了公司的国际影响力。

ATP [ATP Electronics]公司的发展小趣事

面对工业应用领域的特殊需求,ATP敏锐地捕捉到了市场机遇。公司成功推出了业界首款工业级SLC e.MMC产品E800Pi,这款产品以其高达6万次的单元擦写耐久性和出色的耐高温、交叉温度能力,受到了工业领域的广泛认可。E800Pi的推出,不仅拓宽了ATP的产品线,也进一步提升了公司在工业存储解决方案领域的市场地位。

问答坊 | AI 解惑

电力线损管理

如何才能管理好线损主要 体现在以下四个方面。      实际线损可分为理论线损和管理线损两大类。理论线损是正常的线路上的电能损耗;管理线损是由计量设备误差、管理 不善以及电力网元件漏电引起的电能损 耗。由于这种损耗无规律 ...…

查看全部问答>

高速电路的信号完整性分析

关于高速PCBLayout的很好学习资料…

查看全部问答>

关于mini2440的初识

我也是刚刚收到友善支持的mini2440,非常感谢他们的支持,我原来用过一段时间的qq2440,上面的NANDFLASH是64m的而mini2440是128m的,昨天看了一个光盘中有64m、128m的烧写文件!不确定为什么要分成两个呢? 原来在qq2440上移植的u-boot是64m的由于1 ...…

查看全部问答>

在解调中有关载波恢复的疑问?请教

在载波恢复中,根据DD、RC-DD、极性判决的算法得到的结果是相位,为什么在论文上都是通过环路滤波后得到频率差的曲线?似乎DD、RC-DD、极性判决的算法似乎可以鉴频,可是算法出来的结果确是相位呢?…

查看全部问答>

“低碳”理念,“绿色”电源——电源大鳄之一“TI”之见

更注重安全 一系列安全事故的发生,例如Sony电芯在Dell的笔记本上起火,知名手机厂商的手机电池相继爆炸等,中国政府发布了手机充电器强制性的法令。在半导体行业TI等相继发布侧重充电安全的保护芯片bq24316等,同时大幅提高了充电管理芯片的耐 ...…

查看全部问答>

中国gprs业务,有提供 公网IP的吗???

如果不提供,如何在internet上找到它??…

查看全部问答>

evc工程怎样设定可以修改其SDK环境

原有工程是选择ARM,怎样修改成X86,谢谢!…

查看全部问答>

求助版主主

想寻找一ARM芯片 看了一些ST32F10XXX的,但没找到 要求有10路以上的ADC 及10路左右输入捕捉 及PWM…

查看全部问答>

图文详解 如何正确的测量直流转换电源纹波

    DC/DC模块的电源纹波指标是一项很重要的参数。干净的电源是数字电路稳定工作的前提,也是模拟器件的各项参数的重要保障。为确定电源的质量,必须对DC/DC模块的输出纹波进行测量。但很多人测量得到的纹波值动辄上百mV,甚至几百mV, ...…

查看全部问答>

好消息,好消息,TI出中文手册咯!!!

今天找资料,突然返现有中文版的手册,哈哈哈哈!!!http://www.ti.com.cn/product/cn/msp430g2413  第一个文档看来貌似现在就G系列的有,其他的暂时未看到,看来TI越来越重视中国本土化了哈哈哈,好消息好消息!!!…

查看全部问答>