- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
§2.4 定时器/计数器 * * * * * 定 时 器 / 计 数 器 1. 定时器/计数器的基本组成 CPU 定时/计数器T1 TCON(88H) TMOD(89H) TH1(8DH) TL1(8BH) 定时/计数器T0 TH0(8CH) TL0(8AH) T1(P3.5) T0(P3.4) 中断 启动 定 时 器 / 计 数 器 1)方式寄存器TMOD:设置T0、T1的工作方式 2)控制寄存器TCON:启动T0、T1工作,并且当T0或T1溢出时,TCON的TF0或TF1自动硬件置1,同时给CPU发中断请求信号。 3)定时/计数寄存器TH1、TL1、TH0、TL0 4)T1、T2引脚 5)INT1(平)、INT0(平)引脚 2. 定时器/计数器的原理 1)定时工作方式:每过一个机器周期(12个时钟周期),定时/计数器计数1次(即加1),直到计满溢出为止。计数频率fCOUNT=fOSC/12 定 时 器 / 计 数 器 12分频 fOSC C/T(平)=0 C/T(平)=1 Ti TRi + INTi(平) GATE TLi THi TFi 中断请求 定时/计数器 3)通过指令用软件方法给定时器/计数器设置某种工作方式,之后定时器/计数器独立计数,计满溢出,发出中断请求。 4)定时器初始化:1)将工作方式控制字写入方式寄存器;2)将工作状态控制字写入控制寄存器。 2)计数工作方式:通过引脚T0和T1对外部信号计数。计数器在每个机器周期的S5P2期间采样T0或T1引脚的输入电平。若前一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1(所以计数一次需要两个机器周期,外部事件的最高计数频率为振荡频率的1/24)。 定 时 器 / 计 数 器 3. 定时器/计数器的方式寄存器TMOD (89H) D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T(平) M1 M0 GATE C/T(平) M1 M0 定时器1 定时器0 定 时 器 / 计 数 器 1) TMOD各位的含义 a. GATE:门控位。 当GATE=0,只要软件控制位TR0或TR1置1即可启动定时器开始工作;当GATE=1,只有INT0(平)和INT1(平)引脚为高电平,且TR0或TR1置1时,才能启动相应的定时器工作 M1 M0 工作方式 ? 0 0 方式0 13位定时/计数器 0 1 方式1 16位定时/计数器 1 0 方式2 自动再装入8位定时/计数器 ,TH仅保存初始值 1 1 方式3 定时器0:分成两个8位定时/计数器 定时器1:工作于方式2作为波特率发生器 c. M0、M1:方式选择位 定 时 器 / 计 数 器 ?b. C/T(平):功能选择位 当C/T(平)=0,用作定时器;C/T(平)=1,用作计数器。 THi(0-7) TLi(0-4) TH TL ? 2) 方式0:13位定时/计数器 ?TH的8位、和TL的低5位 定 时 器 / 计 数 器 定时器初始值设置举例: 如:定时2ms,时钟频率FOSC=12MHz,定时器T0工作于方式0,求初始值 解:计数一次的时间为: 12/FOSC=12/(12*106)=1*10-6s 2ms的计数次数为:2*10-3/10-6=2000=7D0H=0111 1101 0000B ? 因为方式0为13位,所以定时初始值为: m=213- 7D0H=10 0000 0000 0000B-0111 1101 0000B =1 1000 0011 0000B 将m代入TH的8位和TL的低5位,则计数器的初始值为: 1100 0001 0001 0000B=C1 10H 所以TH0的初始值为C1H,TL0的初始值为10H 定 时 器 / 计 数 器 THi(8) TLi(8) 方式1 3) 方式1:16位定时/计数器 定时器初始值设置: 其中x:定时时间 定 时 器 / 计 数 器 TH0=F8H,TL0=30H 如上例,FOSC=12MHz,x=2ms 则自加1次数: =2000=0111 1101 0000B 定时器初始值: 1 0000 0000 0000 0000B – 0111 1101 0000B = 1111 1000 0011 0000B= F8 30H 4) 方式2:T0、T1均为初始值自动重装入的8位计数器 TLi(8) THi(8) 方式2 方式2的
文档评论(0)