单片机定时/计数工作方式
来源:互联网 发布:linux telnet服务 编辑:程序博客网 时间:2024/05/24 05:30
单片机中的定时/计数器都能有多种用途,要通过定时/计数器的方式控制字来设置,需要的用途。
在单片机中有两个特殊功能寄存器与定时/计数有关,这就是TMOD和TCON。,TMOD和TCON是名称,我们在写程序时就能直接用这个名称来指定它们,当然也能直接用它们的地址89H和88H来指定它们(其实用名称也就是直接用地址,汇编软件帮你翻译一下而已)。
TMOD被分成两部份,每部份4位。分别用于控制T1和T0。TCON也被分成两部份,高4位用于定时/计数器,低4位则用于中断(TF1、0在这)。TR0(1)称之为运行控制位,为1,开关才能合上,计数脉冲才能过来,可用指令SETB和CLR来置位以启动/关闭计数器/定时器。
方式0框图
定时/计数器的四种工作方式
方式0
为13位计数器,由TL(1/0)的低5位和TH(0/1)的8位组成,,此时TL(1/0)的高3位未用。
M1、M0:定时/计数器一共有四种工作方式,就是用M1M0来控制的,2位正好是四种组合。
C/T:C/T为0就是用作定时器(开关往上打),如果C/T为1就是用作计数器(开关往下打)。
GATE:GATE后非门后是一或门,GATE=0时只要TR1=0则开关闭合
GATE=1时,开关合闭不仅要由TR1,而且还受到INT1管脚控制,两个都为高电平计数脉冲才能通过。
方式1
工作方式1是16位的定时/计数方式,将M1、M0设为01即可,其它特性与工作方式0相同。
方式2
自动装入预置数的工作方式。当溢出后,T(0/1)高、低八位之间的开关打开,放在高八位的预置数进入低八位,开始第二轮,由硬件完成。代价是计数范围少一半。
方式3
定时/计数器被拆成2个独立的定时/计数器来用。
(最下是TR1)
TL0能组成8位的定时器或计数器的工作方式,而TH0则只能作为定时器来用。
TLO使用T0状态控制位C/T、GATE、TR0、INT0,而TH0使用T1的状态控制位TR1,一般只有T1以方式2运行(当波特率发生器用),才能让T0以方式3工作。
定时器/计数器的定时/计数范围
工作方式0:13位定时/计数方式,因此,最多能计到2的13次方,也就是8192次。
工作方式1:16位定时/计数方式,因此,最多能计到2的16次方,也就是65536次。
工作方式2和工作方式3,都是8位的定时/计数方式,因此,最多能计到2的8次方,也说是256次。
预置值计算:用最大计数量减去需要的计数次数即可。
- 单片机定时/计数工作方式
- 单片机 计数/定时 中断实验
- 单片机定时/计数器的四种工作方式
- 51单片机,汇编语言,定时与计数
- 单片机C简单定时计数组件
- 单片机工作方式
- 51单片机---定时器工作方式
- 4、SONIX单片机TC0、TC1基本定时与计数功能
- 单片机原理(3):中断、定时/计数、串行通信
- 单片机IO口工作方式详细分析
- 单片机C语言编程-定时器/计数器(计数方式)
- C51单片机 波特率选择 和 串口的工作方式
- 51单片机工作于方式0的定时器模式
- (单片机原理与应用)理解单片机串行口实现通信的各种工作方式
- 可编程定时/记时器8253工作方式验证实验
- 定时器0工作方式1,定时1s
- 定时器0工作方式2,定时1s
- 51单片机CPU定时
- 初步理解spring ioc原理(读完可自己实现依赖注入部分的spring框架)
- js进行表单验证函数中innerHTML显示不出来
- 常用数据库 JDBC URL 格式
- 文件拷贝
- 机器学习基石
- 单片机定时/计数工作方式
- BZOJ 2738: 矩阵乘法
- Shell脚本基础11-bash下如何做浮点型计算
- [DP]357. Count Numbers with Unique Digits
- [PAT-甲级]1002.A+B for Polynomials
- jdialog模态化
- 用户体验设计学习总结(下)
- 子元素absolute定位时父元素有无relative的区别
- 单片机的定时器与计数器