单片机计数器工作原理及讲解
常用的单片机中大多数都配备了计数器,随着科技水平的提升,人们对于计数产品的功能需求越来越高,计数器也经过不断的更新升级,现如今已经可以达到精准计数的程度了。计数器给人们工作计数工作带来了很大的便利,大大提高了工作效率,今天这篇文章就为大家讲解一下 单片机计数器的工作原理。
单片机计数器
一、单片机计数器定义
计数是一种简单的基本运算,单片机计数器就是通过单片机实现这种运算的逻辑电路,计数器在数字系统中主要是针对脉冲的个数进行计数,可以实现测量、计数和控制等功能,同时兼有分频功能。计数器用来计数并指示在任意间隔内输入信号(事件)的个数,用来指示经历的时间计数器可以用来显示产品的工作状态,一般来说主要是用来表示产品已经完成了多少份的折页配页工作。它主要的指标在于计数器的位数,常见的有3位和4位的。
二、单片机计数器的结构极工作原理
1、单片机计数器结构图
在上图中,我们设有两个可编程的16位的定时/计数器:T0和T1,它们既可以用于定时,也可以用来对外部脉冲计数。
定时功能:对机器周期进行加1计数即机器周期X计数值。
计数功能:对外部事件产生的脉冲进行加1计数。
从结构图中,可以看出T0与T1分别由高8位和低8位两个特殊功能寄存器组成,即T0由TH0和TL0组成,T1由TH1和TL1组成。定时/计数器的控制是通过两个特殊功能寄存器来实现的,其中,TMOD是定时/计数器的工作方式寄存器.由它确定定时/计数器的工作方式和功能,TCON是定时/计数器的控制寄存器,用于管理T0和T1的启停,溢出和中断。
引用:单片机计数器工作原理及讲解-深圳宇凡微
单片机定时器计数器的结构以及和工作原理
定时器/计数器的结构
定时器/计数器的实质是加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 。
相关问答
【设振荡频率为12MHz,如果用定时/ 计数器 T0产生周期为100ms的...[最佳回答]查询方式和中断方式都可以实现!解释如下:由于振荡频率为12MHz,如果按常规标准的12分频的51系列单片机算的话,一个机器周期就是1uS.定时器/计数器数...
单片机 定时 计数器 应如何选用?在选择单片机定时计数器时,需要考虑以下几个因素。首先,根据实际需求确定计数器的精度和范围,例如需要计算毫秒级别的定时器还是微秒级别的定时器。其次,考...
51 单片机计数 原理?单片机中,脉冲计数与时间之间的关系十分密切,每输入一个脉冲,计数器的值就会自动累加1,只要相邻两个计数脉冲之间的时间间隔相等,则计数值就代表了时间的流...
8951 单片机 中定时计时 计数器 有哪几种工作 方式 ?总共有4种工作方式,它们分别是:方式0:13位定时器/计数器,TH0的高8位,TL0的低5位方式1:16位定时器/计数器,TH0的高8位,TL0的低8位方式2:自动重装的8位...总...
51 单片机 设置时钟带日期a.用AT89S51 单片机 的定时/ 计数器 T0产...[最佳回答]要实物还是仿真呢我做单片机的
在 单片机 中如何产生随机数字?对于51单片机里有两个定时器/计数器,可以利用其中的一个来产生随机数。但要设置成方式2,自己计数状态。这样,只有8位数。但不要开中断,只要计数就行。需要时...
电子 计数器 怎么用?①当给该仪器通电后,应预热一定的时间,晶振频率的稳定度才可达到规定的指标,对E312A型通用电子计数器预热约2h。使用时应注意,如果不要求精确的测量,预热时...
单片机 定时器有65535 计数 值,66535是什么单位,微秒还是毫秒?怎么计算定时1秒led闪烁一次?65535是16进制的FFFF,是51单片机定时器最大值,就是最大65535us,=65.535ms,计数器初值设置50ms,65536-50000=15536=3CB0H,,使用一个计数器计数20...
晶振6mhz定时器最大定时时间?应该是51单片机吧,那我按照51的步骤来说。首先51单片机机器周期的计算方式=12/晶振(Hz),单位秒(s),你的6MHz晶振那么就是12/6M=2us,而计数器每一个机器周期...
51 单片机 用C语言或者汇编程序如何实现定时1秒?如何设定初始值?如何计算?如何输出方波?如何对外部?使用定时器实现1秒定时;初始值要看单片机配置的晶振频率了,若12M晶振,初始值为TH0=0x3c;TL0=0xb0;这才是50ms,还要一个单元做计数器,计数20次才是1秒方波...