- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 单片机定时/计数器原理及应用
5. 1 单片机定时器/计数器(Timer/Counter)概述
在工业检测、控制中,很多场合都要用到计数或者定时功能。例如对外部脉冲进行计数、产生精确的定时时间、作串行口的波特率发声器等。
定时/计数器是单片机的一个重要部件,At89C51单片机内部有两个可编程的定时器/计数器,以满足多方面的需要。它们具有两种工作模式(计数器模式、 定时器模式)和四种工作方式( 方式0、方式1、方式2、方式3),其控制字均在相应的特殊功能寄存器(SFR)中,通过对它的SFR的编程,可以方便的选择工作模数和工作方式。
定时器/计数器(Timer/Counter)本质上都是加法计数器,当对固定周期的脉冲信号计数时是定时器,对脉冲长度不确定的信号计数时是计数器。每接收到一个计数脉冲,加法计数器的值就加一,当计满时发生溢出,并从0开始继续计数。
当设置为定时工作模式时,定时器对89C51片内振荡器输出的经12分频后的脉冲计数,即每个机器周期使定时器(T/C0或T/C1)的数值加1直至计满溢出。当采用12MHz晶振时,一个机器周期为1μs。
当设置为计数工作模式时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号产生由1到0的下降沿时,定时器的值加1.
不管时定时还是计数工作模式,定时器T0或T1在对内部时钟或外部事件计数时,都不占用CUP时间,除非定时器/计数器溢出,才可能中断CPU的当前操作,计数器的计满溢出信号就是定时/计数器的输出,该信号使TCON的某位(TF0或TF1位)置1,作为定时器/计数器的溢出中断标志,定时器/计数器的内部结构框图如下图所示。
图5-1 定时器/计数器结构框图
5. 2 与定时/计数器有关的特殊功能寄存器
计数寄存器TH和TL
定时器/计数器T/C0和T/C1都是16位寄存器,由TH高8位和TL低8位构成,在特殊功能寄存器(sfr)中,对应T/C0为TH0和TL0,对应T/C1为TH1和TL1,定时器/计数器T/C0和T/C1的初值分别通过TH0/TL0和TH1/TL1来设置,加法计数器是计满溢出时才申请中断, 所以在给定时器/计数器赋初值时, 不能直接输入所需的计数值, 而应输入的是计数器计数的最大值与这一计数值的差值, 设最大值为 M, 计数值为N, 初值为 X, 则X的计算方法如下:
计数状态: X=M-N
定时状态: X=M-定时时间/T(T=12÷晶振频率)
定时器/计数器控制寄存器TCON
对TCON的相关位的说明:
TF0、TF1:T0、 T1溢出标志位。
TF0、TF1分别是定时器/计数器T0、 T1 的溢出标志位, 加法计数器计满溢出时置 1, 申请中断, 在中断响应后自动复 0。TF产生的中断申请是否被接受, 还需要由中断是否开放来决定。
TR1、TR0:T1、 T0 的运行控制位。
TR1、TR0 分别是定时器 /计数器T1、 T0 的运行控制位, 通过软件置1后, 定时器 /计数器才开始工作, (如本设计案例中用到定时器T0,启动时用语句:TR0=1;停止时用语句:TR0=0;)在系统复位时被清0。
定时器/计数器方式控制寄存器TMOD
TMOD是8位寄存器,分为两组,高四位控制T1,低4位控制T0。
对TMOD的各个位的说明:
GATE位:门控位。
GATE=1时,T0、T1是否计数要受到外部引脚输入电平的控制,INT0引脚控制T0,INT1引脚控制T1。可用于测量在INT0和INT1引脚出现的正脉冲的宽度。若GATE=0,即不使能门控功能,定时计数器的运行不受外部输入引脚INT0、INT1的控制
C/位:计数器模式和定时器模式的选择位。
C/=0,为定时器模式,内部计数器对晶振脉冲12分频后的脉冲计数,该脉冲周期等于机器周期,所以可以理解为对机器周期进行计数。从计数值可以求得计数的时间,所以称为定时器模式。
C/=1,为计数器模式,计数器对外部输入引脚T0(P3.4)或T1(P3.5)的外部脉冲(负跳变)计数,允许的最高计数频率为晶振频率的1/24。
M1 M0:四种工作方式的选择位
表5-1 定时/计数器工作方式
M1
方 式
说 明
0 0
0
13 位定时器(TH的 8 位和TL的低 5 位)
0 1
1
16 位定时器/计数器
1 0
2
自动重装入初值的 8 位计数器
1 1
3
T0 分成两个独立的 8 位计数器,T1 在方式 3 时停止工作
5. 3 定时/计数器的工作方式
方式0
方式0下,T0和T1工作在13位的定时/计数器方式,由TH的高 8 位和TL的低 5 位组成。 当T0的13位计数器加到全部为 1 以后,再加
文档评论(0)