单片机定时器:单片机定时器的配置方法,你们会

 2021-07-17 5:10    77  

定时器有什么用呢单片机定时器,我们又在什么时候会用到定时器,想知道这些我们一定要了解清楚定时器有什么用才行;

单片机定时器:单片机定时器的配置方法,你们会了吗

其实不难理解单片机定时器,定时就是我设定一个计数值,以一个固定的频率从零开始计数,当计数到我们设定的计数值,那么单片机就会给出一个标志位提示定时时间到了,这时就可以拿这个标志位来控制单片机的IO口引脚输出高电平或低电平从而控制你想控制的电器了!

单片机定时器:单片机定时器的配置方法,你们会了吗

一款单片机定时器做的电子时钟

单片机定时器:单片机定时器的配置方法,你们会了吗

拿单片机定时器0来举例子单片机定时器;

CKCON |= 1<<3;//定时器0的时钟选择为系统时钟

定时器0时钟选择

TMOD &= ~(1<<3);//无论INT0的逻辑为何,当TR0为1时,开始计数

TMOD &= ~(1<<2);//定时器0随内部系统时钟而递增

TMOD &= ~(3<<0);//模式1: 16位定时器/计数器

TMOD |= 1<<0;

TMOD寄存器配置

TH0 = (65536-16000)/256; //x=1/16000000=0.0000625ms*16000=1ms

TL0 = (65536-16000)%256;

TR0 = 1;//打开定时器0

EA = 1;//打开总中断

ET0 = 1;//使能定时器0中断

void IinterruptTim0(void) interrupt 1

{

TH0 = (65536-16000)/256; //x=1/16000000=0.0000625ms*16000=1ms

TL0 = (65536-16000)%256;

}

以上代码就是配置定时器0以1ms进入一次中断的配置方法。

备注:想学习更多内容,可点击下方链接->,如果文章内容对你有帮助,多帮转发收藏并关注哦,相信以后会出更好的文章内容和视频教程,一起学电子。谢谢!

单片机定时器/计数器的结构以及和工作原理

定时器/计数器的结构

单片机定时器:单片机定时器的配置方法,你们会了吗

定时器/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。

单片机定时器:单片机定时器的配置方法,你们会了吗

单片机定时器:单片机定时器的配置方法,你们会了吗

单片机定时器:单片机定时器的配置方法,你们会了吗

单片机定时器:单片机定时器的配置方法,你们会了吗

定时器/计数器的工作原理

单片机定时器:单片机定时器的配置方法,你们会了吗

计数器输入的计数脉冲源

系统的时钟振荡器输出脉冲经12分频后产生;

T0或T1引脚输入的外部脉冲源。

计数过程

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

定时应用

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

计数运用

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

工作方式寄存器(TMOD)

GATE:门控位。

GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时器/计数器工作;(即需要一个启动条件)

GATE=1时,要用软件使TR0或TR1为1,同时外部中断引脚也为高电平时,才能启动定时器/计数器工作,即需要两个启动条件。

C/T :定时/计数模式选择位。

C/T =0为定时模式; C/T =1为计数模式。

M1M0:工作方式设置位。

计数器工作方式选择

M1 M0 工 作 方 式 功 能 说 明

0 0 方式0 13位计数器

0 1 方式1 16位计数器

1 0 方式2 自动重装8位计数器

1 1 方式3 定时器0:分成两个8位

定时器1:停止计数

定时器/计数器的控制

控制寄存器TCON

TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时器/计数器的启动和中断申请。其格式如下:

TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。TR1(TCON.6):T1起/停控制位。1:启动 0:停止

TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。

TR0(TCON.4):T0起/停控制位。1:启动 0:停止

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

方式0

方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。

方式1

方式1的计数位数是16位,由TL0(TL1)作为低8位、TH0(TH1)作为高8位,组成了16位加1计数器 。

方式2

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

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

方式3

方式3只适用于定时器/计数器T0,定时器T1方式3时相当于TR1=0,停止计数。

工作方式3将T0分成为两个独立的8位计数器TL0和TH0 。

本文标签:单片机计数器定时器

原文链接:https://www.xgfox.com/kfbc/1024.html

本文版权:如无特别标注,本站文章均为原创。