5_定时器(精品).ppt

上传人:gsy****95 文档编号:85151965 上传时间:2023-04-10 格式:PPT 页数:20 大小:473KB
返回 下载 相关 举报
5_定时器(精品).ppt_第1页
第1页 / 共20页
5_定时器(精品).ppt_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《5_定时器(精品).ppt》由会员分享,可在线阅读,更多相关《5_定时器(精品).ppt(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、8051内部定时内部定时/计数器计数器创新实验学院杜 猛概述8051有两个16位定时/计数器。可设置为定时和计数两种模式,在每种模式下又可设置为4种工作方式。工作方式不同则最大定时/计数值不同。加1计数器,计数超过所在工作方式的最大值时发生溢出,回零,同时产生中断。控制寄存器TCON8位寄存器,可按位寻址。TR0/1:定时器0/1启停控制。TF0/1:定时器0/1溢出标志,硬件复位。中断请求受EA,ET0/1控制。方式寄存器TMOD8位寄存器,不可按位寻址。GATE:门控信号。C/T:设置工作模式为定时器(0)或计数器(1)。M1 M0:工作方式设置 00 01 10 11。控制逻辑定时器:对

2、振荡器的12分频计数。计数器:对T0引脚输入脉冲计数。检测T0引脚下降沿需要2个机器周期。通常,T0上输入的脉冲频率小于100KHz。控制逻辑GATE决定INT0引脚信号是否参与对T0的控制。若GATE=0,T0只受TR0控制。若GATE=1,T0受INT1信号和TR0共同控制。此时INT0不再作为中断请求输入线。门控信号可用于脉冲宽度的测量。原理示意定时/计数器是16位SFR,分为TH0和TL0两个8位。工作方式决定最大计数值。初值是人为设置的,期待计数值=最大值 初值如果计数脉冲的间隔相等,则计数值就代表了时间的流逝。工作方式-013位加1计数器,兼容48系列单片机。由TH的8位和TL的低

3、5位组成,TL高3位弃之不用。最大计数值:213=8192计满8192,再加1则溢出归零,产生中断请求。如要再次使用,需要手动再次装入初值。工作方式-116位计数器,TH和TL全部参与。最大计数值:216=65536其余特性与方式-0相同。工作方式-28位自装入计数器。最大计数值:28=256自装入即计数器溢出归零后,自动装入前一次的初值。TH保存初值,仅用TL进行计数。初始化时对TH和TL送相同值。工作方式-3前三种方式,T0和T1完全相同。而方式-3一般只应用于T0。T0:两个独立的8位计数器。TL0可设定为定时或计数模式,仍由TR0控制,并用TF0作溢出标志。TH0只能作定时器,借用TR

4、1和TF1。一般只有将T1用作串口波特率发生器时,才将T0设置为方式-3,以增加一个计数器。初始化步骤根据需要,选择适当的模式和方式,写入TMOD。根据期待的计数值和所选工作方式,计算初值,写入TH和TL。开放中断,设置优先级,写入IE和IP。控制定时/计数器的起停,操作TCON。初值的计算计数模式:TC=M CTC:初值 M:所选方式最大计数值 C:期待计数值定时模式:TC=M T/TsT:期待定时时长 Ts:时钟周期的12倍,即机器周期最大定时时间(以12MHz晶振为例)方式0:Tmax=213 1us=8.192ms方式1:Tmax=65.536ms方式2和3:Tmax=0.256ms初

5、值计算举例假设采用12MHz晶振,要定时2ms,如何设置初值?方式2、3最大只能定时0.256ms,不用。若采用方式0:TC=213 2ms/1us=6192=1830H即TH=0 xC1 TL=0 x10若采用方式1:TC=216 2ms/1us=63536=F830H即TH=0 xF8 TL=0 x30初值计算举例假设采用12MHz晶振,要定时1s,如何设置初值?4种方式最大只能定时65.536ms,都不满足要求。类似情况可采用软件复合定时。比如,用定时器定时10ms,再额外维持一个变量,在每次溢出中断中对其加1。变量值等于100时,即得到1s,清零该变量。软件定时示例volatile u

6、nsigned char cnt=0;void ISR_Timer0()interrupt 1cnt+;if(cnt=100)/your task herecnt=0;/reload TH0&TL0关键字 volatile 指示编译器不要优化该变量。如果某个变量可能会被“并行”地修改,应将其声明成 volatile。例如,某变量的值可能在中断服务程序中被修改,而在主程序中检测其值,则应用 volatile 声明之。应用举例采用12MHz晶振,在P1.0上输出周期为2.5秒,占空比为20%的脉冲信号。选取合适的定时时间,太小导致频繁中断,影响效率。此例中选50ms。高电平10次中断,低电平40次

7、中断。测频与测周测频与测周均为测量脉冲信号频率的方法。测频:在单位定时时间内对被测信号脉冲进行计数。测周:在被测信号一个周期时间内,对某一基准时间脉冲进行计数。主要误差是由于计数器只能进行整数计数而引入的1误差。高频测频,低频测周。应用举例2个方波信号,频率 f1=50Hz,f2=10KHz,分别用测频、测周法测量其频率,并比较误差。测频法:T0定时模式,开放50ms闸门;T1计数模式,对引脚脉冲计数。测周法:待测信号高电平作时间闸门,T1定时模式。测量结果实际频率50(Hz)10000(Hz)测频法40/6010000/10020误 差20%0.2%测周法5011627误 差0%16%高频测频,低频测周。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁