定时/计数器结构(T0和T1)
16位寄存器T0、T1分别由TH0、TL0和TH1、TL1四个8位计数器组成
定时器的区别:
T0可分成2个独立的8位定时器,而定时器1则不能;
T1可作为串口的波特率发生器,而定时器0则不能。
工作原理
注:T0或T1都不能同时既做定时器也做计数器
补充:
计数器工作原理:
用作计数器时,对T0或T1引脚的外部脉冲计数,如果前一个机器周期采样值为1,后一个机器周期采样值为0 ,则说明有一个脉冲,计数器加1。
在每个机器周期的S5P2期间采样引脚输入电平。新的计数初值于下一个机器周期的S3P1期间装入计数器。
此种方式需要两个机器周期来检测一个1->0负跳变信号,因此最高的计数频率为时钟频率的1/24。
S5P2:
S5P2指的是第5个时钟周期的相位2。
晶体振荡器的振荡信号从XTAL2端输入到片内的时钟发生器上,时钟发生器是一个二分频触发器电路,它将振荡器的信号频率除以2,向CPU提供了两相时钟信号P1和P2。时钟信号的周期称为机器状态时间S,它是振荡周期的2倍。在每个时钟周期(即机器状态时间S)的前半周期,相位1(即P1信号)有效,在每个时钟周期的后半周期,相位2(即P2信号)有效。
定时器:脉冲来源是由系统的时钟晶振器输出脉冲源提供
计数器:脉冲来源是由T0或T1引脚(P3.4或P3.5)输入的外部脉冲源提供
用途:定时器和计数器
核心:加1计数器
原理:每来一个脉冲则加1计数器加1,当加到全1时再来一个脉冲使加1计数器归零,同时加1计数器的溢出使TCON寄存器中的TF0(或TF1)置1,向CPU发出中断请求
脉冲来源:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
使用的寄存器
TCON控制寄存器:启动和停止定时/计数器的计数,并控制定时器的工作状态,不能按位寻址
TMOD方式寄存器:设置定时器的工作方式,选择定时或计数的功能,可以按位寻址。(和中断共用寄存器,高四位为定时计数器使用,低四位为中断使用)
注:GATE逻辑结构此处略过,详见书P100
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
工作方式:
方式0
计算公式:
最大计数:8192个机器周期
工作原理:
13位计数器,使用TL0的低5位和TH0的高8位组成,TL0的低5位溢出时向TH0进位。TH0溢出时发出中断请求。
方式1
计算公式:
最大计数:65536个机器周期
工作原理:
16位计数器,TL0作为低8位,TH0作为高8位
方式2:自动重装初值的8位计数方式
计算公式:
p.s.晶振频率必须选择12的整数倍,因为定时器的频率是晶振频率的1/12。
最大计数:256个机器周期
优点:
适合做比较精准的脉冲信号发生器
缺点:
工作原理:
计数器溢出后,计数器自动将上次设置的初值重装。
方式3:p.s.只能用于定时/计数器T0,T0工作在方式3时,T1不要使用在有中断的场合。通常该种情况下T1用作串口波特率发生器
工作原理:
将T0分成两个独立的8位定时/计数器TL0和TH0。
TL0为正常的8位定时/计数器,计数器溢出后置位TF0,申请中断,之后重装初值。
TH0也是8位定时/计数器,但由于TL0占用了TF0和TR0,因此TH0占用定时器TF1和TR1(所以T1不能用)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
时钟周期/机器周期计算:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
定时/计数器初始化
对TMOD赋值,确定T0和T1的工作方式
计算初值,并将其写入TH.x和TL.x
使用中断方式时对IE寄存器赋值开发中断
使TR0或TR1置位,启动定时/计数器
上一篇:51单片机入门 - 串口通信实验(模拟串口通信/多机通信实例)
下一篇:51单片机入门 - 串口工作原理知识点汇总
推荐阅读最新更新时间:2024-11-11 10:09
推荐帖子
- 51单片机中ALE管脚是什么意思
- 为什么一直都是高电平,如何才是低电平51单片机中ALE管脚是什么意思RAM当访问外部RAM或外部取指时,LAE输出锁存信号。系统扩展时用来把先送出的地址锁存起来,等到高8位地址送出后再一起送给外扩的RAM地址使能锁存信号在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,
- yhb123 嵌入式系统
- 贴片二三极管查询起来就是烦,有没有汇总查询手册,大家分享下
- 贴片二三极管查询起来就是烦,有没有汇总查询手册,大家分享下贴片二三极管查询起来就是烦,有没有汇总查询手册,大家分享下撒狗叼来,比什么手册查询都强嘛。仙猫老师,啥叫撒狗叼来?呵呵回复沙发仙猫的帖子“狗”=狗狗=google 对已知型号的可以撒狗找,如是设计选型,型号未知的,俺搅得查Digi-Key是个好办法,它可以输入条件检索。呵呵,又找到个好的网站港还找到个PDF,看着也可以吧,分享了帖片元件的代码实在让人头疼啊。。。派睿网上那个查询系统好像也不错吧网址?呵
- simonprince 模拟电子
- 用定时器实现DA功能
- 我现在正在做一个无线对讲,想用定时器实现DA功能,两块板的单片机都是MSP430F2012,A板用AD采咪头信号,采到的数据再通过CC2500无线发出去,另一块B板子接收,MSP430F2012是没有DA功能的,我想B板通过定时器来实现DA功能,把接到的数据赋值R1,改变PWM的脉宽来还原咪头信号。我现在做到了,A板的AD采样和两板通信都已经正常,定时器来实现DA功能部分还有问题,我不知道频率该怎么设置,或者是还有很多地方没有注意到的,请大家帮帮忙谢谢!
- wangyg007 嵌入式系统
- 说一下开关电源的测量
- 电子器件的电源测量通常情况是指开关电源的测量(当然还有线性电源)。讲述开关电源的资料非常多,下面讨论的内容为PWM开关电源,而且仅仅是作为测试经验的总结,为大家简述容易引起系统失效的一些因素。因此,在阅读本文之前,已经假定您对于开关电源有一定的了解。1开关电源简述开关电源(SwitchingModePowerSupply,常常简化为SMPS),是一种高频电能转换装置。其功能是将电压透过不同形式的架构转换为用户端所需求的电压或电流。开关
- qwqwqw2088 模拟与混合信号
- 最后一天!有奖直播|瑞萨电子 R-Car 先进驾驶辅助系统方案
- 直播时间9月22日(周四)上午10:00-11:30直播主题瑞萨电子R-Car先进驾驶辅助系统方案直播简介瑞萨电子在汽车领域有丰富的产品线,本次直播介绍瑞萨电子针对汽车电子AD(自动驾驶)/ADAS相关R-CarSoC产品线的概况,以及针对前视智能摄像头,中央域控制器等应用的产品信息以及其应用场景。报名直播直播讲师应毅辰汽车电子市场部副经理于2014年加入瑞萨电子汽车部门,负责汽车部门R-CarA
- EEWORLD社区 汽车电子
- 转一篇文章:卷积神经网络CNN完全指南。写的蛮好的。
- 转自:https://www.toutiao.com/article/71491300338386048341】导论先来说一写题外话...研究生入学后就被导师逼着学习神经网络,一开始非常盲目,先是在网上搜了一大堆的资料,各种什么一文读懂卷积神经纹网络,叫你三分钟搭建属于自己的神经网络框架,五分钟速读神经网络全解,之类的文章层出不穷。看了太多导致的结果是,学了很久都没能真正意义上地入门。而后自己艰辛摸索才慢慢了解了卷积神经网络的真谛。(好官方啊哈哈哈哈哈哈)
- freebsder 嵌入式系统