定时器中断是什么意思,定时器中断的工作原理

发布时间:2024-02-22  

定时器中断是由单片机中的定时器溢出而申请的中断。51单片机中有两个定时器T0和T1。STM32中共有11个定时器。


一、定时器中断是什么意思

定时器中断是由单片机中的定时器溢出而申请的中断。

51单片机中有两个定时器T0和T1:

(1)TF0:定时器T0溢出中断请求。当定时器TO产生溢出时,TO中断请求标志TF0置1,请求中断处理。

(2)TF1:定时器T1溢出中断请求。当定时器Tl产生溢出时,T1中断请求标志TF1置1,请求中断处理。

Stm32共有11个定时器:

1、两个高级定时器:TIM1、TIM8-------------------------APB2

2、四个通用定时器:TIM2~TIM5-------------------------APB1

3、两个基本定时器:TIM6、TIM7-------------------------APB1

4、两个看门狗

5、一个系统嘀嗒定时器(SysTick)

二、定时器中断原理

所谓中断就是程序执行的正常的时候,出现了突发事件,CPU停止当前的程序的执行,转去处理突发事件,处理完毕后又返回原程序被中断的位置继续执行。

中断可以被分为内部中断和外部中断,内部中断的来源来自CPU内部(软件中断指令,溢出,除法错误等,例如操作系统从用户态切换到内核态需借助CPU内部的软件中断),外部中断的中断源来自CPU外部,由外设提出请求。

中断过程:一个完整的中断传送方式的处理过程应包括中断请求、中断优先权判别、中断响应、中断处理和中断返回等几个步骤。

中断源:

(1)INTO:外部中断0请求,由P3.2引脚输入。它有两种触发方式,通过IT0(TCON.O)来决定是电平触发方式还是边沿触发方式。一旦输入信号有效,则向CPU申请中断,并且将中断标志IEO置1。

(2)INT1:外部中断1请求,由P3.3引脚输入。通过IT1(TCON.2)来决定是电平触发方式还是边沿触发方式。一旦输入信号有效,则向CPU申请中断,并将中断标志IE1置1。

(3)TF0:定时器T0溢出中断请求。当定时器TO产生溢出时,TO中断请求标志TF0置1,请求中断处理。

(4)TF1:定时器T1溢出中断请求。当定时器Tl产生溢出时,T1中断请求标志TF1置1,请求中断处理。

(5)TI/RI:串行口发送/接收中断请求。当通过串行口发送或接收完一帧串行数据时,串行口中断请求标志TI或RI置1,请求中断处理。

三、定时器中断程序流程

定时器工作的流程可以按照这个顺序(以51为例用定时器0方式一产生50毫秒的定时):

1、确定使用哪个定时器,使用哪种方式,这一步通过TMOD设置,TMOD的低四位是设置定时器0的,高四位是用来设置定时器1的,其中的M0,M1是用来设置定时器工作在哪种方式,GATE一般用不要设置,C/T是选择计数模式还是定时模式的,如:TMOD=0X01,就说明定时器0工作在方式1。

2、接下来就要设置定时的时间,用定时器定时50毫秒,可以用这种方式TH0=(65535-50000)/256,TL0=(65535-50000)%256;可以这样理解:因为这是定时器的初值,也就是说计数脉冲就是在这个数的基础上向上递增,到达65535后就溢出产生中断。

3、第三步打开中断,使用IE寄存器,首先打开总中断EA=1,这一步是所有中断所必须的,然后打开定时器0中断,ET0=1。

4、这时准备工作结束,启动定时器,使用TCON寄存器,TR0=1,实现了一个50毫秒的定时。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    .设置计数值或定时器的初值。   3.打开定时器中断(如果需要中断)。   4.打开定时器开关。   // 定时器0初始化函数 void timer0_init() {     TMOD &......
    定时器/计数器0(定时器);/* 效果说明:       定时器中断:通过单片机计数使程序执行       一秒中断一次,中断发生时高四位亮一秒,中断......
    一计数器。 当开始计数的时候,低八位计数计满,低八位全部归零,向高八位进一位。当高八位计数计满时,全16位归零,进入中断函数,执行相关操作。 之所以要给定时器装初值,是为了计整数,方便计算使用。 每50ms......
       = TCON^4;//定时器/计数器中断0启动、停止: sbit IE1   = TCON^3;//外部中断1中断标志位:中断产生时硬件置1,中断函数处理完后硬件置0 sbit IT1......
    周期和预分频器 启动定时器更新中断,并开启定时器 定时器中断服务函数实现 RGB 灯的反转 */ // 中断函数 static void TIMx_NVIC_Configuretion......
    注册回调,每一次定时器中断执行一次回调,回调函数只需对计时时间TCNT做减1操作即可。 当TCNT为0时即定时/超时时间到,并置超时标志,应用程序只需判断标志即可明确定时/超时时间是否到来;回调函数和回调注册函数......
    /超时服务函数注册回调,每一次定时器中断执行一次回调,回调函数只需对计时时间TCNT做减1操作即可。 当TCNT为0时即定时/超时时间到,并置超时标志,应用程序只需判断标志即可明确定时/超时......
    缓存区则不再接收 } recv_time_cnt = 0; //每接收到一帧数据,把定时计数器清零,相当于喂狗                    //但是在定时器中断......
    程序(中断函数)。   此篇主要整理定时器中断笔记。采用定时器中断会涉及中断寄存器,定时器/计数器相关寄存器(TCON,TMOD),中断函数等知识点。   其中,中断寄存器,定时器/计数......
    (ISR),并在其中对延时时间进行判断。当计数器计数达到预设值时,就说明已经延时完成,可以清除中断标志位,并执行相应的处理。需要注意的是,在定时器中断函数中,可以使用全局变量来统计中断......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>