173 2438 5004
KEROS加密芯片——品牌直销 | 免费样品 | 技术支持
当前位置:网站首页 > 资讯中心 正文 资讯中心

定时器怎么用单片机

htxw 2023-03-15 资讯中心 24 ℃

如何利用定时器T0的工作方式1实现1秒钟延时程序(单片机)?

1、#include reg52.h

2、#define uchar unsigned char

3、#define uint unsigned int

4、sbit LED = P0^0;uchar T_Count = 0;void main(){TMOD = 0x01;TH0  = (65535-50000)/256;TL0  = (65535-50000)%256;IE   = 0x82;TR0  = 1;while(1);}

5、void LED_Flash() interrupt 1{TH0  = (65535-50000)/256;TL0  = (65535-50000)%256;if(++T_Count == 20){LED = !LED;T_Count = 0;}}

6、这个程序是1秒钟LED灯会亮与灭显示。

1单片机,拥有两个定时器,用来中断计数,分别是T0和T1。而52单片机和51单片机的定时器是一样的,只是52比51多了一个定时器/计数器T2,它们的设置都大同小异。

51单片机的3个定时器怎样使用?

51单片机只有T0,T1。52才有T2的。

定时器设置方法:

做定时用一般采用16位模式,也就是TMOD=0x11(10或01单独一个定时器的话),初值的计算是这样的:

假设时间是X毫秒,晶振为YMhz,那么:

THn=(65536-1000*X*Y/12)/256    

TLn=(65536-1000*X*Y/12)%256

之后就是TRn=1(开启定时器)

ETn=1(开启定时器中断)

EA=1

有关单片机定时器的使用和定时器的介绍

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

  定时器的结构

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

计数过程

每来一个脉冲计数器加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 。

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

单片机定时器原理及使用

这里通俗的说下C51单片机的定时器的工作原理,C51单片机的定时器是由计数器构成的,所计量的时间是通过计算固定周期的脉冲个数的累计获得的,通过设置定时器的工作模式,可以由16位(高、低两个8位)寄存器模式或其他位数的寄存器模式来计数,以16位计数模式来讨论,那就是无论那种工作模式只有当计数用的寄存器的各个位全部置1,也就是满值后下一个计数脉冲进入时使寄存器产生溢出,而这个溢出才会使计数产生中断从而完成一次定时控制,因此,如果我们想产生某个时长的定时,那么我需要将这个时长根据单片机运行的时钟频率、周期等等相关因素换算成需要计数的个数,进而在这个满值的16位寄存器中扣除需要计数的个数,启动运行后当计数值补充满了寄存器就完成了一次计时,而一个16位寄存器满值为2的16次方=65536,假如一个计数脉冲的周期为1us,那么满值后就会耗时65536us,假如我们需要计时36us,那么我们只需要为寄存器赋值65500就可以了,这里需要注意的是,因为C51单片机的寄存器是8位的,我们需要将这个65500拆分出高8位数据装入THx中计算方法为THx=65500/256,再计算出低8位数据装入TLx中,THx=65500%256。

定时器怎么用单片机的介绍到此就结束了,感谢您耐心阅读,谢谢。

本文标签:定时器怎么用单片机

<