MCS51单片机内部定时器计数器.pptVIP

  • 12
  • 0
  • 约3.99千字
  • 约 31页
  • 2021-11-26 发布于广东
  • 举报
第七章 MCS - 51单片机内部定时器/;一、定时器/计数器的结构及工作原理 ; 选择计数器工作方式时,计数脉冲来自相应的外部引脚T0和T1。当输入信号产生由1至0的跳变时,计数寄存器(TH0、TL0或TH1、TL1)的值增1。每个机器周期的S5P2期间,对外部输入进行采样。如果在第一个周期中采得的值为1,而在下一个周期中采得的值为0,则在紧跟着的再下一个周期的S3P1期间,计数值就增1。由于确认一次下跳变要花2个机器周期,即24个振荡器周期,因此外部输入的计数脉冲的最高频率为振荡器频率的1/24。对外??输入信号的占空比并没有什么限制,但是为了确保某一给定的电平在变化之前至少被采样一次,则这一电平至少要保持一个机器周期。 ;定时器/计数器结构框图 ; 定时器/计数器在本质上都是加法计数器。 每接收到一个计数脉冲,加法计数器的值就加一,当计满时发生溢出,并从0开始继续计数。 加法计数器的计满溢出信号就是定时/计数器的输出,该信号使TCON的某位(TF0或TF1位)置一,作为定时器/计数器的溢出中断标志。;二、 定时方式和控制寄存器 ;对TMOD的各个位的说明: GATE位:门控位。 GATE=1时,定时器/计数器是否计数要受到外部引脚输入电平的控制,~INT0引脚控制定时器/计数器0,~INT1引脚控制定时器/计数器1。只有在~INT0或~INT1引脚为高电平且TR0或TR1置1时,相应的定时器/计数器才被选通工作,这时可用于测量在~INT0或~INT1引脚出现的正脉冲的宽度。 若GATE=0,定时计数器的运行不受外部输入引脚~INT0、~INT1的控制,只要TR0或TR1置1,定时器/计数器就被选通工作。;C/~T位:计数器模式和定时器模式的选择位。 C/~T=0,为定时器模式,内部计数器对晶振脉冲12分频后的脉冲计数,该脉冲周期等于机器周期,所以可以理解为对机器周期进行计数。从计数值可以求得计数的时间,所以称为定时器模式。 C/~T=1,为计数器模式,计数器对外部输入引脚T0(P3.4)或T1(P3.5)的外部脉冲(负跳变)计数,允许的最高计数频率为晶振频率的1/24。 ;M1 M0:四种工作方式的选择位 ; 定时器初值的确定: 加法计数器是计满溢出时才申请中断, 所以在给定时器/计数器赋初值时, 不能直接输入所需的计数值, 而应输入的是计数器计数的最大值与这一计数值的差值, 设最大值为 M, 计数值为 N, 初值为 X, 则 X的计算方法如下:  计数状态: X=M-N 定时状态: X=M-定时时间/T 而 T=12÷晶振频率 ; 三、 定时器/计数器控制寄存器TCON TF0、TF1分别是定时器/计数器0、 1 的溢出标志位, 加法计数器计满溢出时置 1, 申请中断, 在中断响应后自动复位。TF产生的中断申请是否被接受, 还需要由中断是否开放来决定。 TR1、TR0 分别是定时器 /计数器T1、 T0 的运行控制位, 通过软件置 1 后, 定时器 /计数器才开始工作, 清0后停止工作。;当TMOD寄存器中的M1M0为00时,定时器/计数器0或1被置为方式0。方式0为13位的计数器,由TL0的低5位(TL0的高3位弃之不用)和TH0的高8位构成。; 当C/~T=0时,电子开关接通振荡器的12分频信号,13位计数器以此作为计数信号,这就是定时器。当C/~T=1时,电子开关接通计数引线T0,外部计数脉冲由引线T0输入,当计数脉冲发生负跳变时,计数器加1,这就是计数器。当TL0加1计数溢出时向TH0进位,而TH0加1计数溢出时置1溢出中断标志位TF0(即向TF0进位) 当GATE=0时,控制开关是否闭合取决于TR0的状态,TR0为1控制开关闭合,计数脉冲进入计数器0,允许计数; TR0为0,则控制开关断开,禁止计数。 当GATE=1时,控制开关除受控于TR0外,还受控于~INT0引脚,当~INT0引脚上的信号由低变为高时,开始计数,由高变为低时,停止计数。这样就可以测量~INT0引脚输入的正脉冲的宽度。;方式 0(13位计数器) ; 在方式0下,定时器/计数器0和1工作在13位的定时/计数器方式,由TH的高 8 位和TL的低 5 位组成。 当13位计数器加到全部为 1 以后,再加1就产生溢出,这时置TCON的TF0为 1 ,同时把计数器全部变 0 。 ; 方式0的计数长度M为2的13次方。 初值也是13位二

文档评论(0)

1亿VIP精品文档

相关文档