- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 定时/计数器及应用
第一节 定时/计数器
1.定时/计数器工作原理
在实际应用中,常用定时器实现定时检测、定时控制。计数器主要用于事件的计数。许多物理量的测量经过外部电路设计都可将其转换为定时或计数功能。
51单片机内部集成了两个16位可编程的定时/计数器T0和T1(为描述方便,后面将以下标x来代表T0和T1的相关参数),他们具有定时和计数两种工作方式。定时/计数器Tx由特殊功能寄存器TH x、TL x及相关控制寄存器构成。
定时器/计数器本质上就是16位加法计数器,由TH x、TL x存各自的计数值。计数工作方式下,加法计数器对芯片引脚T0(P3.4)、T1(P3.5)上输入的脉冲计数;定时工作方式下,加法计数器对内部机器周期脉冲进行计数,定时时间为:计数值×机器周期。
计数初值由用户编程设定,设置的初值不同,计数值或定时时间就不同。因为加法计数器计数满后将回零溢出并申请中断,且在二进制数的补码表示形式中,-1的形式为全1,加1后也将回0溢出,所以计数初值可以用负数的补码来表示。
2.控制寄存器
定时器/计数器两种工作方式是由用户对定时器工作方式控制寄存器TMOD编程设定的,定时器/计数器的启动、停止及溢出等情况是由定时器控制寄存器控制的。
工作方式控制寄存器TMOD
D7 D6 D5 D4 D3 D2 D1 D0
GATE M1 M0 GATE M1 M0 其中,低4位控制T0,高4位控制T1,各位的作用为:
M1M0:工作模式选择位。定时器的工作模式由M1M0设定。
M1M0 工作模式 功能 0 0 模式0 13位定时器/计数器 0 1 模式1 16位定时器/计数器 1 0 模式2 自动重装初值的8位定时器/计数器 1 1 模式3 T0分为两个8位定时器/计数器;T1停止 (1):工作方式选择位
= 1工作在计数方式,计数脉冲来自于外部脉冲输入端(P3.4,P3.5引脚);
= 0工作在定时方式,计数脉冲来自于内部机器周期。
(2)GATE:门控位
GATE = 0 时,定时器由TCON中的TR x(x =0,1)位进行控制,置1定时器/计数器启动,该位清0定时器/计数器停止;
GATE = 1时,外部中断引脚(或)上的高电平与TR x共同控制。(如:TR x置1且相应外部中断引脚为高电平,定时器/计数器启动)。
定时器控制寄存器TCON
D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 TR0:定时/计数器0运行控制位
TF0:定时/计数器0中断请求标志
TR1:定时/计数器1运行控制位
TF1:定时/计数器1中断请求标志
3.定时器/计数器的工作模式
工作模式的选择由TMOD中的M1M0的值来决定,定时器/计数器T0有4种工作模式(模式0、1、2、3),T1有3种工作模式(模式0、1、2),前3种工作模式,T0和T1除了所使用的寄存器、控制位和标志位不同外,其他的操作完全相同。
(1)工作模式0
当M1M0为00时,定时器/计数器工作于模式0。模式0为13位计数模式,最大计数值为213(8192),TH x提供高8位,TL x提供低5位。程序初始化时,向TH x和TL x装入计数初值,启动计数后,开始加1计数,TL x的低5位溢出后,向TH x的最低位进位,TH x溢出后将置位TCON中的TF x,以申请中断。由于此时TH x、TL x均回0,若需要继续计数,用户应在程序中再次装入计数初值。
由于模式0的进位特点,在装入计数初值时,13位二进制的高8位装入TH x中,低5位装入TL x中(TL x的高3位无效,可补0)。
例:T0的计数初值为1000,TH0、TL0中的代码应该是什么?
分析:由于补码的特点与定时/计数器回0溢出以申请中断的原理相同,故计数初值用-1000的补码(即1111,1100,0001,1000)来表示;由于模式0的特点,TH0中装入E0H,TL0中装入18H。
(2)工作模式1
当M1M0为01时,定时器/计数器工作于模式1。模式1为16位计数模式,最大计数值为216(65536),TH x提供高8位,TL x提供低8位。其他情况和模式0相似。
(3)工作模式2
当M1M0为10时,定时/计数器工作于模式2。模式2为自动重装初值的8位计数器,TL x作为工作计数器,TH x作为初值寄存器。程序初始化过程中,TH x、TL x装入相同的计数初值,启动计数器后,TL x开始计数,TL x溢出时,硬件置位TF x ,向CPU发出中
原创力文档


文档评论(0)