收藏 分销(赏)

定时器84545.doc

上传人:xrp****65 文档编号:7424907 上传时间:2025-01-04 格式:DOC 页数:4 大小:44.50KB 下载积分:10 金币
下载 相关 举报
定时器84545.doc_第1页
第1页 / 共4页
定时器84545.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
  MCS-51定时器   MCS-51内部有两个可编程的16位定时器T0和T1。通过编程,可以设定为定时器和外部计数方式。T1还可以作MCS-51串行口的波特率发生器。定时器T0由特殊功能寄存器TL0和TH0构成,定时器T1由特殊功能寄存器TL1和TH1构成。特殊功能寄存器TMOD控制定时器的工作方式,TCON控制其运行,TCON还包含了定时器T0和T1的溢出标志。定时器的中断由中断允许寄存器IE、中断优先级寄存器IP中的相应位进行控制。定时器T0的中断入口地址为000BH,T1的中断入口地址为001BH。   特殊功能寄存器TMOD为定时器的方式控制寄存器,其格式如下:  D7                   D0 GATE C/-T M1 M0 GATE C/-T M1 M0     其中高4位用来对T1进行编程,低4位用来对T0进行编程。   M1、M0用来选择工作方式。其含义如表6-5所示。 表6-5 工作方式选择 M1 M0  功能说明 0 0  方式0,13位定时器计数器 0 1  方式1,16位定时器计数器 1 0  方式2,常数自动装入的8位定时器计数器 1 1  方式3,仅用于T0,分为两个8位定时器计数器   C/-T用来选择定时器和外部计数方式。   当C/-T=0时为定时器方式,它以时钟信号的12分频为计数器的计数信号。   当C/-T=1时为外部计数方式,以外部引线(T0为P3.4,T1为P3.5)的输入脉冲作为计数信号。当输入信号由高到低变化时,计数器加1。最高输入信号为时钟信号的 24分频。   GATE为门控位。   当GATE=0时,计数不受外部影响。当GATE=1时,计数受外部引线输入电平的控制(-INT0控制T0运行,-INT1控制T1运行)。   特殊功能寄存器TCON为定时器控制寄存器,其格式如下: D7                 D0 TF1 TR1 TF0 TR0           此控制寄存器中仅高4位与定时器有关。   TR0、TR1为定时器T0、T1的运行控制位。当GATE(TMOD.3)为0时,由TR0控制T0的允许计数与否,当TR0为1时允许T0计数,TR0为0时禁止T0计数。当GATE(TMOD.3)为1时,TR0为1,INT0为1允许计数,其中任一个为0禁止计数。TR1用来控制T1,与TR0相似。TR0、TR1的0或1在编程时设置。   TF0、TF1为T0与T1的溢出标志位。当T0允许计数后,T0从初值开始加 1,最高位溢出时将TF0置"1"。如置定时器为允许中断方式,则向CPU申请中断, CPU响应中断时清除TF0。如不用中断可采用查询方法,通过软件复位TF0。TF1为T1的溢出标志位,与TF0相似。   中断允许寄存器IE中的ET0及ET1两位分别为T0及T1的溢出中断允许位,为1时分别允许T0、T1中断。为0时则禁止中断。   中断优先级寄存器IP中的PT0及PT1两位为T0及T1的中断优先级控制位,当其为1时定义为高优先级中断,为0时定义为低优先级中断。   定时器T0具有0、1、2、3四种工作方式,定时器T1只有0、1、2三种工作方式。   方式 0为 13位的定时器/计数器方式。低位 TLx为 5位,高位 THx为 8位(x= 0,1)。当低位加1计数溢出时向高位进位,高位计数溢出则置"1"TFx。   方式1与方式0相似,但采用了16位计数器,即高位,低位各8位。   方式 2为自动恢复初值方式的 8位定时器/计数器。此时 TLx为 8位计数器, THx为常数缓冲器,当 TLx溢出时,置"1" TFx,并将THx中的计数初值送入 TLx,使 TLx再次重新计数。   方式3仅适用于T0,此时将T0分为两个独立的8位计数器TL0及TH0。TL0使用控制位C/-T、GATE、TR0、TF0及控制端-INT0。TH0为一个固定的8位定时器,使用T1的TR1及TF1。通常只有在T1作为串行接口的波特率发生器时,T0才定义为方式3。此时T1仍可用定时器或计数器方式,并可定义为方式0,方式1及方式2。   定时器的编程包括;   (l)置工作方式。   (2)置计数初值。   (3)中断设置。   (4)启动定时器。   由于MCS-51的定时器采用加1计数,因此,计数初值应根据计数器长度及计数值来决定。对于同样的计数值,在采用13位计数器、16位计数器及8位计数器时,其计数初值各不相同。此外,方式0、1、3均不能自动恢复初值,如果要求重复计数必须在每次计数溢出后重新装入计数初值。   例 6-5 利用 89C51定时器对输入信号进行两分频,由 P1.0输出分频信号。   现利用定时器0实现分频,由于89C51的定时器没有信号输出端,现利用P1.0输出。每当输入信号由1到0变化时,计数器溢出,TF0置1,可采用查询或中断的方法,在TF0置1时将P1.0求反后输出。因此在此例中计数值为1。   如采用方式0,TH0为8位,TL0为5位,计数初值分别为FFH及1FH。   如采用方式1,TH0及TL0分别为8位,计数初值为FFH,FFH。   采用方式0或1时,由于计数初值不能恢复,因此在TF0置1后,以 P1.0输出信号时必须重新写入计数初值。   如采用方式2,TH1为常数缓冲器,TL0为8位计数器,计数初值为FFH。此时在TF0置1之后TH0将自动重新装入TL0,因此不必再次写入计数初值。   图6-8及图6-9分别为用方式0,方式1以及方式2实现此例的程序流程图。      图6-8用方式0、方式1的程序流程图   图6-9用方式2的程序流程图  
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服