首页 > 编程知识 正文

51单片机脉冲计数器(单片机计数器工作原理)

时间:2023-05-04 23:07:47 阅读:94289 作者:56

计时器/计数器的结构

计时器/计数器的本质是加上1个计数器(16位),由上位8位和下位8位的2个寄存器构成。 TMOD是计时器/计数器的工作模式寄存器,决定工作模式和功能; TCON是控制寄存器,控制T0、T1的启动、停止和溢出标志的设定。

输入到计数器的计数脉冲源

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

T0或T1端子输入的外部脉冲源。

计数过程

每当脉冲计数器递增1个,计数器变为全部1 (即FFFFH )时,如果再输入一个脉冲,计数器就会归零,由于计数器的溢出而在TCON上设置TF0或TF1,CPU 计时器/计数器在计时器模式下工作时,表示计时器时间到了。 在计数模式下工作时,表示计数值已满。

计时器应用

用作计时器:这种情况下,设定为计时器模式,加1个计数器是对内部机器周期进行计数(1个机器周期为12个振荡周期,即计数频率为石英振动频率的1/12 )。 计数值n乘以机器周期Tcy就是定时时间t。

计数运用

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

动作模式寄存器(TMOD ) )。

GATE :门控制。 GATE=0时,软件只需将TCON的TR0或TR1设为1,即可开始计时器/计数器动作; 也就是说,需要启动条件)

GATE=1时,用软件将TR0或TR1设为1,外部中断端子也设为高电平后启动计时器/计数器动作,需要2个启动条件。

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

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

M1M0:动作模式设定位。

计数器动作模式选择

M1 M0动作模式功能说明

0方式0 13位计数器

0方式1 16位计数器

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

方式3定时器0 :分为2个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 :停止

计时器/计数器的结构

方式1

方式1是13位计数,在由TL0的低位5位(高位3位未使用)和TH0的8位构成的TL0的低位5位溢出的情况下向上舍入到TH0,在TH0溢出的情况下设置TCON的TF0标志,中断到CPU

方式2

方式2的计数比特数为16比特,以TL0(TL1 )为低位8比特,th0 )为高位8比特,构成了16比特1计数器。

方式3

方式3是自动重载初始值的8位计数方式。

在方式3中,如果计数器溢出255(ffh ),则CPU在没有用户干预的情况下自动将TH值加载到TL中。 因此,它特别适合作为更精确的脉冲信号发生器。

方式4

方式4仅适用于计时器/计数器T0,在计时器T1方式3的情况下相当于TR1=0,停止计数。 在操作模式4中,将T0点设置为两个独立的8位计数器TL0和TH0。

这篇报道是从网上转载的。 如果涉及版权,请联系删除

读课文有收获吗? 请分享给更多的人

回复的关键词是干货。 电路设计电容晶体管PCB接地

长按二维码识别关注

阅读原文,一键即可关注历史信息

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。