第6章 定时器计数器和串行通信幻灯片.ppt

  1. 1、本文档共119页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 定时器/计数器和串行通信 6.1 定时器/计数器的结构及工作原理 6.2 定时器/计数器的应用 6.3 串行口的结构及工作方式 6.4 串行口的应用 6.5 RS-232C串行通信接口 6.1 定时器/计数器的结构及工作原理 MCS-51单片机内部有两个16位的可编程的定时器/计数器,称为定时器0、定时器1,分别用T0、T1表示。它们均可独立编程,具有四种工作方式 。 6.1.1 定时器/计数器的结构 6.1.1 定时器/计数器的结构 6.1.1 定时器/计数器的结构 在作定时器使用时,是对内部的机器周期进行计数。 每个机器周期包含12个振荡周期,即定时器的输入脉冲是对外部晶振进行12分频后得到的。例如,外部晶振频率为12MHz,则定时器的输入时钟脉冲频率为1MHz,即每隔1us接收到一个脉冲,计数值加1。所以,实际上是通过对机器周期的计数实现计算时间的功能。 6.1.1 定时器/计数器的结构 当定时器用作为外部事件计数时,是对引脚T0或T1上外部输入的负脉冲信号做加法计数。 将外部输入信号接到T0(P3.4)或T1(P3.5)引脚,当检测到的电平由高跳变到低时,计数器就加1。因此,为了确保得到可靠的采样值,需要2个机器周期来识别一个从“1”到“0”的跳变,这就要求外部计数脉冲的高电平与低电平保持时间至少为一个完整的机器周期。所以最高计数频率为晶振频率的1/24。 6.1.1 定时器/计数器的结构 不管是定时还是计数,T0或T1在对内部时钟或外部事件计数时都不占用CPU时间,只有定时器/计数器产生溢出时,才会向CPU发出中断请求。CPU也可重新设置定时器/计数器的工作方式和计数初值,以改变定时器的操作。 设计数的最大值为M,所需的计数值为N,则初值X的计算方法如下: 计数状态: X=M-N 定时状态: X=M-定时时间/T 其中,T=12÷晶振频率 6.1.2 工作方式和控制寄存器 1. 工作方式寄存器TMOD 寄存器TMOD是可编程的特殊功能寄存器,字节地址为89H,不可位寻址。其中低4位控制T0,高4位控制T1 。 GATE:控制方式选择位,用来控制定时器启动操作方式。 当GATE=0时,只能由软件控制TR0或TR1位来控制定时器的启停。TRi(i=0,1)位为1,定时器启动;TRi(i=0,1)为0时,定时器停止工作; 当GATE=1时,定时器的启动要由外部中断引脚和TRi(i=0,1)位共同控制。只有当外部中断引脚为高时,TRi(i=0,1)置1才能启动定时器工作。 6.1.2 工作方式和控制寄存器 C/T:计数/定时方式选择位,当C/T=0时设置为定时器工作方式;当C/T=1时设置为计数器工作方式。 M1、M0:工作方式控制位,对应于4种工作方式。 例 要设定T1为定时器,方式2,T0为计数器,方式1,并由内部TRi控制启停。则TMOD=25H,可用下面指令赋值: MOV TMOD, #25H 6.1.2 工作方式和控制寄存器 2. 控制寄存器TCON TCON字节地址为88H,位地址为88H~8FH。 TF1和TF0:定时器T1和定时器T0的溢出标志位。 TR1和TR0:定时器T1和定时器T0的启动控制位。 IE1和IE0:外部中断INT1和外部中断INT0的中断请求标志位。 IT1和IT0:外部中断INT1和外部中断INT0的触发方式选择位。 TCON中低4位是与外部中断有关的位,高4位为定时器控制位。对T0的启、停控制可以通过以下位操作指令完成: SETB TR0 ;启动T0计数 CLR TR0 ;停止T0计数 6.1.3 定时器/计数器的工作方式 1. 工作方式0 TMOD中M1M0=00时,定时/计数器被选为工作方式0,计数器长度为13位。由TLi(i=0,1)的低5位(TL的高3位未用)和THi(i=0,1)的8位构成13位计数器(对T0、T1都适用)。 6.1.3 定时器/计数器的工作方式 当C/T=0为定时方式时,T0对机器周期进行计数。设定时时间为t,则计数初值 例6-1设T0工作方式0,定时时间t=1ms,fosc=12MHz,计算T0的计数初值。 7192 11000B= E0H 18H 高8位 低5位 TH0计数初值为E0H,TL0计数初值为18H。 6.1.3 定时器/计数器的工作

文档评论(0)

love87421 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档