弗原創IT教育中心 第10讲80C51定时/计数器 定时/计数器是单片机系统一个重要的部 件,其工作方式灵活、编程简单、使用方便, 可用来实现定时控制、延时、频率测量、脉宽 测量、信号发生、信号检测等。此外,定时/ 计数器还可作为串行通信中波特率发生器
第10讲 80C51定时/计数器 定时/计数器是单片机系统一个重要的部 计数器是单片机系统一个重要的部 件,其工作方式灵活、编程简单、使用方便, 件,其工作方式灵活、编程简单、使用方便, 可用来实现定时控制、延时、频率测量、脉宽 测量、信号发生、信号检测等。此外,定时 等。此外,定时/ 计数器还可作为串行通信中波特率发生器。 计数器还可作为串行通信中波特率发生器
弗原創IT教育中心 定时/计数器概述 80C51单片机内部有两个定时/计数器T0和T1,其核心是计 数器,基本功能是加1 对外部事件脉冲(下降沿)计数,是计数器;对片内机周 脉冲计数,是定时器。 计数器由二个8位计数器组成。 定时时间和计数值可以编程设定,其方法是在计数器内设 置一个初值,然后加1计满后溢出。调整计数器初值,可 调整从初值到计满溢出的数值,即调整了定时时间和计数 值 定时/计数器作为计数器时,外部事件脉冲必须从规定的 引脚输入。且外部脉冲的最高频率不能超过时钟频率的 1/24
定时/计数器概述 80C51单片机内部有两个定时 单片机内部有两个定时 /计数器T0 和T1,其核心是计 数器,基本功能是加 数器,基本功能是加 1 。 对外部事件脉冲(下降沿)计数,是计数器;对片内机周 对外部事件脉冲(下降沿)计数,是计数器;对片内机周 脉冲计数,是定时器。 脉冲计数,是定时器。 计数器由二个 8位计数器组成。 位计数器组成。 定时时间和计数值可以编程设定,其方法是在计数器内设 定时时间和计数值可以编程设定,其方法是在计数器内设 置一个初值,然后加 置一个初值,然后加 1计满后溢出。调整计数器初值,可 计满后溢出。调整计数器初值,可 调整从初值到计满溢出的数值,即调整了定时时间和计数 调整从初值到计满溢出的数值,即调整了定时时间和计数 值。 定时 /计数器作为计数器时,外部事件脉冲必须从规定的 计数器作为计数器时,外部事件脉冲必须从规定的 引脚输入。且外部脉冲的最高频率不能超过时钟频率的 引脚输入。且外部脉冲的最高频率不能超过时钟频率的 1/24
弗原創IT教育中心 单片机定时/计数器的结构 1.定时计数器组成 8051单片机内部有两个16位的可编程定时/计数器,称 为定时器0(T0)和定时器1(T1),可编程选择其作为定 时器用或作为计数器用。此外,工作方式、定时时间、计 数值、启动、中断请求等都可以由程序设定,逻辑结构如图 101所示
单片机定时/计数器的结构 1.定时/计数器组成 8051单片机内部有两个16位的可编程定时/计数器,称 为定时器0(T0)和定时器1(T1),可编程选择其作为定 时器用或作为计数器用。此外,工作方式、定时时间、计 数值、启动、中断请求等都可以由程序设定,逻辑结构如图 10.1所示
(P33)(P3.2) T1(P35) 0(P34) 定时器1 定时器0 (8DH (8BH) (8CH) (8AH) TH1 TL1 THO TLO 溢启 出动 CPU 工作方式 溢出工作方式 中断 TCON (88H) TMOD(89H) 图1018051定时器/计数器逻辑结构图
CPU TCON (88H) TH1 TL1 TH0 TL0 INT1 (P3.3) INT0 (P3.2) 中断 T1 (P3.5) 定时器1 定时器0 溢 出 启 动 (8DH) (8BH) (8CH) (8AH) 启 动 内部总线 溢出 工作方式 工 作 方 式 7 0 T0 (P3.4) 7 0 TMOD (89H) 7 0 7 0 图10.1 8051 10.1 8051定时器/计数器逻辑结构图
弗原創IT教育中心 由图可知,8051定时/计数器由定时器0、定时器1、定 时器方式寄存器TMOD和定时器控制寄存器TCON组成。 定时器0,定时器1是16位加法计数器,分别由两个8位 专用寄存器组成:定时器0由TH0和TL0组成,定时器1由 TH和TL1组成。TL0、TL1、TH0、TH的访问地址依次为 8AH~⑧DH,每个寄存器均可单独访问。定时器0或定时器1 用作计数器时,对芯片引脚T0(P34)或T1(P3.5)上输入 的脉冲计数,每输入一个脉冲,加法计数器加1;其用作定 时器时,对内部机器周期脉冲计数,由于机器周期是定值, 故计数值确定时,时间也随之确定
由图可知,8051定时/计数器由定时器0、定时器1、定 时器方式寄存器TMOD和定时器控制寄存器TCON组成。 定时器0,定时器1是16位加法计数器,分别由两个8位 专用寄存器组成:定时器0由TH0和TL0组成,定时器1由 TH1和TL1组成。TL0、TL1、TH0、TH1的访问地址依次为 8AH∼8DH,每个寄存器均可单独访问。定时器0或定时器1 用作计数器时,对芯片引脚T0(P3.4)或T1(P3.5)上输入 的脉冲计数,每输入一个脉冲,加法计数器加1;其用作定 时器时,对内部机器周期脉冲计数,由于机器周期是定值, 故计数值确定时,时间也随之确定
弗原創IT教育中心 TMOD、TCON与定时器0、定时器1间通过内部总线及 逻辑电路连接,TMOD用于设置定时器的工作方式,TCON 用于控制定时器的启动与停止。 (P33)(P3.2) T1(P35) T0(P34) 定时器1 定时器0 8DH (8BH) (8CH) (8AH) TH1 TL1 THO TLO 7 07 0 启 出动 CPU 工作方式 内部总线 溢出工作方式 中断 TCON (88H) TMOD (89H)
TMOD、TCON与定时器0、定时器1间通过内部总线及 逻辑电路连接,TMOD用于设置定时器的工作方式,TCON 用于控制定时器的启动与停止。 CPU TCON (88H) TH1 TL1 TH0 TL0 INT1 (P3.3) INT0 (P3.2) 中断 T1 (P3.5) 定时器1 定时器0 溢 出 启 动 (8DH) (8BH) (8CH) (8AH) 启 动 内部总线 溢出 工作方式 工 作 方 式 7 0 T0 (P3.4) 7 0 TMOD (89H) 7 0 7 0
弗原創IT教育中心 2.定时计数器工作原理 当定时/计数器设置为定时工作方式时,计数器对内部 机器周期计数,每过一个机器周期,计数器增1,直至计满 溢出。定时器的定时时间与系统的振荡频率紧密相关,因 MCS-51单片机的一个机器周期由12个振荡脉冲组成,所 以,如果单片机系统采用12MHz晶振,则计数周期为: lus,这是最短的定时周期,适当选择定时器的初值可获取 各种定时时间
2.定时/计数器工作原理 当定时/计数器设置为定时工作方式时,计数器对内部 机器周期计数,每过一个机器周期,计数器增1,直至计满 溢出。定时器的定时时间与系统的振荡频率紧密相关,因 MCS-51单片机的一个机器周期由12个振荡脉冲组成,所 以,如果单片机系统采用12 MHz晶振,则计数周期为: 1us,这是最短的定时周期,适当选择定时器的初值可获取 各种定时时间
弗原創IT教育中心 当定时/计数器设置为计数工作方式时,计数器对来自 输入引脚T0(P34)和T1(P3.5)的外部信号计数,外部 脉冲的下降沿将触发计数。在每个机器周期的S5P2期间采 样引脚输入电平,若前一个机器周期采样值为1,后一个 机器周期采样值为0,则计数器加1。新的计数值是在检测 到输入引脚电平发生1到0的负跳变后,于下一个机器周期 的S3P1期间装入计数器中的,可见,检测一个由1到0的负 跳变需要两个机器周期,所以,最高检测频率为振荡频率 的1/24。计数器对外部输入信号的占空比没有特别的限 制,但必须保证输入信号的高电平与低电平的持续时间在 个机器周期以上
当定时/计数器设置为计数工作方式时,计数器对来自 输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部 脉冲的下降沿将触发计数。在每个机器周期的S5P2期间采 样引脚输入电平,若前一个机器周期采样值为1,后一个 机器周期采样值为0,则计数器加1。新的计数值是在检测 到输入引脚电平发生1到0的负跳变后,于下一个机器周期 的S3P1期间装入计数器中的,可见,检测一个由1到0的负 跳变需要两个机器周期,所以,最高检测频率为振荡频率 的1/24。计数器对外部输入信号的占空比没有特别的限 制,但必须保证输入信号的高电平与低电平的持续时间在 一个机器周期以上
弗原創IT教育中心 当设置了定时器的工作方式并启动定时器工作后, 定时器就按被设定的工作方式独立工作,不再占用CPU 的操作时间,只有在计数器计满溢出时才可能中断CPU 当前的操作。关于定时器的中断将在下一节讨论。 3.定时计数器的方式寄存器和控制寄存器 由实训5步骤1)可知,在启动定时/计数器工作之 前,CPU必须将一些命令(称为控制字)写入定时/计数 器中,这个过程称为定时/计数器的初始化。定时计数器 的初始化通过定时/计数器的方式寄存器TMOD和控制寄 存器TCON完成
当设置了定时器的工作方式并启动定时器工作后, 定时器就按被设定的工作方式独立工作,不再占用CPU 的操作时间,只有在计数器计满溢出时才可能中断CPU 当前的操作。关于定时器的中断将在下一节讨论。 3.定时 /计数器的方式寄存器和控制寄存器 由实训 5步骤 1)可知,在启动定时 /计数器工作之 前,CPU必须将一些命令(称为控制 字 ) 写 入 定 时 /计数 器中,这个过程称为定时 /计数器的初始化。定时 /计数器 的初始化通过定时 /计数器的方式寄存器TMOD和控制寄 存器TCON完成
弗原創IT教育中心 1)定时/计数器方式寄存器TMOD TMOD为定时器0、定时器1的工作方式寄存器,其格式 如下: TMOD D7 D6 D5 D4 D3 D2 DI DO GATE C/TI MI MO GATE C/T MI MO 定时器1 定时器0 TMOD的低4位为定时器0的方式字段,高4位为定时 器1的方式字段,它们的含义完全相同
1) 定时/计数器方式寄存器TMOD TMOD为定时器0、定时器1的工作方式寄存器,其格式 如下: TMOD D7 D6 D5 D4 D3 D2 D1 D0 GATE C T/ M1 M0 GATE C / T M1 M0 定时器1 定时器0 TMOD的低4位为定时器0的方式字段,高4位为定时 器1的方式字段,它们的含义完全相同