首页 > 用户投稿

有关单片机定时器的使用和定时器的介绍【详解】

  导语:单片机,其实就是一种用于集成电路中的芯片,而单片机的定时器是一个电子元件,它是一个稳定的计数器,是由单片机本身提供的。它也是单片机上的一个连接部件,可以用来编程。定时器还有一个功能显而易见就是可以用来定时,同时,它也可以用来统计一些脉冲信号。下面就来介绍下单片机定时器的使用的相关内容。  

  定时器的结构

  定时器是由两个寄存器组成的,其中一个寄存器是用来确定计数器的工作形式和功能的,另外一个计时器是用来控制单片机的启动和停止的,同时它也是设置溢出的一个标志。  

有关单片机定时器的使用和定时器的介绍【详解】

  计数过程

  每来一个脉冲计数器加1,当加到计数器为全1(即ffffh)时,再输入一个脉冲就使计数器回零,且计数器的溢出使tcon中tf0或tf1置1,向cpu发出中断请求(定时器/计数器中断允许时)。如果定时器/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。

  定时应用

  用作定时器:此时设置为定时器模式,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值n乘以机器周期tcy就是定时时间t。

  计数运用

  用作计数器:此时设置为计数器模式,外部事件计数脉冲由t0或t1引脚输入到计数器。每来一个外部脉冲,计数器加1。但单片机对外部脉冲有基本要求:脉冲的高低电平持续时间都必须大于1个机器周期。  

  定时器的使用

  定时器的使用主要分为五个步骤,首先是要打开中断的可以允许的位置,主要是对ie寄存器的控制,然后选择定时器的工作的形式,定时器的一个格式是tmod的形式,主要有四种方式。第一种计数的方式是十三位加一的形式,第二种是十六位加一的计数器,第三种的定数器被分解成两部分,一个是八位的寄存器,另外一个是八位的计数器。第三步就是要为定时器进行赋值,首先定时器的初值是等于计数器模值减去计数器记满的招满值,而定时器的初值是等于模值减去预定时的时间与单片机时钟周期的十二倍。接下来就是启动计时器,当tro为0的时候,停止to开始计数,而tro值为1的时候,就启动to进行计数。当tfo为0的时候,没有to的中断,这时是没有硬件复位,而当值为1的时候有to溢出中断的情况。当tr1为0的时候,停止ti进行计数,而值为1的时候开启t1进行计数。  

  当tf1为0的时候,没有t1的中断,为1的时候会出现t1的溢出中断情况。当ie1的值为0的时候时,出现硬件的复位而当其值为1的时候出现中断。当it1的值为0的时候int1出现电平触发的情况,也就是软件复位,而当值为1的时候,int1的负边沿会出现触发的情况。当ie0的值为0时会出现硬件复位,而当ieo的值为1的时候,int0上会有中断的情况。当it0的值为0时,int0会发生电平触发,也就是软件复位,同时int0的负边沿触发。最后一步就是计数器中断入口程序。  

  定时器/计数器的工作方式

  方式0为13位计数,由tl0的低5位(高3位未用)和th0的8位组成tl0的低5位溢出时向th0进位,th0溢出时,置位tcon中的tf0标志,向cpu发出中断请求。

  方式1的计数位数是16位,由tl0(tl1)作为低8位、th0(th1)作为高8位,组成了16位加1计数器。

  方式2为自动重装初值的8位计数方式。

  在方式2下,当计数器计满255(ffh)溢出时,cpu自动把th的值装入tl中,不需用户干预。因此特别适合于用作较精确的脉冲信号发生器。

  方式3只适用于定时器/计数器t0,定时器t1方式3时相当于tr1=0,停止计数。

  工作方式3将t0分成为两个独立的8位计数器tl0和th0。  

  总而言之,定时器的使用可以为单片机的功能增加一些性能上的增强。所以,合理的运用定时器将会帮助我们使用单片机。以上就是有关单片机定时器的使用的相关内容,希望能对大家有所帮助!

原文标题:有关单片机定时器的使用和定时器的介绍【详解】,如若转载,请注明出处:https://www.angelbnb.com/tougao/13436.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「天使号」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。