第4章MCS-51单片机内部定时器/ 计数器及串行接口 4,1定时器/计数器的结构及工作原理 42方式和控制寄存器 4.3工作方式 4.4定时器/计数器应用举例 45MCS-51单片机的串行接口 4.6串行口的应用
第4章 MCS - 51单片机内部定时器/ 计数器 及串行接口 4.1 定时器/计数器的结构及工作原理 4.2 方式和控制寄存器 4.3 工作方式 4.4 定时器/计数器应用举例 4.5 MCS - 51单片机的串行接口 4.6 串行口的应用
在工业检测、控制中,很多场合都要用到计数或者定 时功能。例如对外部脉冲进行计数、产生精确的定时时间、 作串行口的波特率发声器等。MCS-51单片机内部有两个 可编程的定时器/计数器,以满足这方面的需要。它们具 有两种工作模数(计数器模式、定时器模式)和四种工 作方式(方式0、方式1、方式2、方式3),其控制字均 在相应的特殊功能寄存器(SFR)中,通过对它的SFR的 编程,可以方便的选择工作模数和工作方式
在工业检测、控制中,很多场合都要用到计数或者定 时功能。例如对外部脉冲进行计数、产生精确的定时时间、 作串行口的波特率发声器等。MCS-51单片机内部有两个 可编程的定时器/计数器,以满足这方面的需要。它们具 有 两种工作模数(计数器模式、 定时器模式)和四种工 作方式( 方式0、方式1、方式2、方式3),其控制字均 在相应的特殊功能寄存器(SFR)中,通过对它的SFR的 编程,可以方便的选择工作模数和工作方式
41定时器计数器的结构及工作原理 定时器/计数器: Timer/ Counter 本质上都是加法计数器,当对固定周期的脉冲信号 计数时是定时器,对脉冲长度不确定的信号计数时是计 数器。 每接收到一个计数脉冲,加法计数器的值就加一, 当计满时发生溢出,并从0开始继续计数 加法计数器的计满溢出信号就是定时/计数器的输出, 该信号使TCON的某位(TF0或TF1位)置一,作为定时 器/计数器的溢出中断标志
定时器/计数器: Timer/Counter 本质上都是加法计数器,当对固定周期的脉冲信号 计数时是定时器,对脉冲长度不确定的信号计数时是计 数器。 每接收到一个计数脉冲,加法计数器的值就加一, 当计满时发生溢出,并从0开始继续计数。 加法计数器的计满溢出信号就是定时/计数器的输出, 该信号使TCON的某位(TF0或TF1位)置一,作为定时 器/计数器的溢出中断标志。 4.1 定时器/计数器的结构及工作原理
P3.5 F34T1由TH1、TL1 构成,字节地址 70 07070 壮T[TH[TL1rTH0、[TL0 为8DH、8BH 屜 CPU E 品刪 T0由TH0、TL0 THOD 构成,字节地址 为8CH、8AH 特殊功能寄 TCON则用于控制定时计 存器TMOD 数器T0和T1的启动和停止 控制定时计 计数,同时管理定时器T0 数器的工作 和T1的溢出标志等。 为式 41定时器计数器结构框图
图 4.1 定时器/计数器结构框图 T1由TH1、TL1 构成,字节地址 为8DH、8BH T0由TH0、TL0 构成,字节地址 为8CH、8AH TCON则用于控制定时计 数器T0和T1的启动和停止 计数,同时管理定时器T0 和T1的溢出标志等。 特殊功能寄 存器TMOD 控制定时计 数器的工作 方式
42方式和控制寄存器 定时器计数器的方式寄存器TMOD (MSB) (LSB) GATE C/T M1 MO GATE C/T M1MO T1方式控制 T0方式控制 8位分为两组,高四位控制T1,低4位控制T0 图42TMOD各位定义
4.2 方式和控制寄存器 一、 定时器/计数器的方式寄存器TMOD 图 4.2 TMOD各位定义 8位分为两组,高四位控制T1,低4位控制T0
对TMOD的各个位的说明: GATE位:门控位。GAE=1时,T0、T1是否计数要受 到外部引脚输入电平的控制,ⅠNTO引脚控制T0,INT1引 脚控制T1。可用于测量在INT和ⅠNT1引脚出现的正脉冲 的宽度。若GATE=0,即不使能门控功能,定时计数器 的运行不受外部输入引脚ⅠNT0、INTI的控制
对TMOD的各个位的说明: GATE位:门控位。GATE=1时,T0、T1是否计数要受 到外部引脚输入电平的控制,INT0引脚控制T0,INT1引 脚控制T1。可用于测量在INT0和INT1引脚出现的正脉冲 的宽度。若GATE=0,即不使能门控功能,定时计数器 的运行不受外部输入引脚INT0、INT1的控制
C/T位:计数器模式和定时器模式的选择位。 C/T=0,为定时器模式,内部计数器对晶振脉冲12分频 后的脉冲计数,该脉冲周期等于机器周期,所以可以理 解为对机器周期进行计数。从计数值可以求得计数的时 间,所以称为定时器模式。 C/T=1,为计数器模式,计数器对外部输入引脚T0 (P34)或T1(P3.5)的外部脉冲(负跳变)计数,允许 的最高计数频率为晶振频率的1/24
C/T位:计数器模式和定时器模式的选择位。 C/T=0,为定时器模式,内部计数器对晶振脉冲12分频 后的脉冲计数,该脉冲周期等于机器周期,所以可以理 解为对机器周期进行计数。从计数值可以求得计数的时 间,所以称为定时器模式。 C/T=1,为计数器模式,计数器对外部输入引脚T0 (P3.4)或T1(P3.5)的外部脉冲(负跳变)计数,允许 的最高计数频率为晶振频率的1/24
MIM0:四种工作方式的选择位 表41工作方式选择表 M1M0方式 说明 00013位定时器(TH8位和TL的低5位) 01116位定时器计数器 102自动重装入初值的8位计数器 T0分成两个独立的8位计数器 T1在方式3时停止工作
M1 M0:四种工作方式的选择位 表 4.1 工作方式选择表 M1 M0 方式 说 明 0 0 0 13 位定时器(TH的 8 位和TL的低 5 位) 0 1 1 16 位定时器/计数器 1 0 2 自动重装入初值的8 位计数器 1 1 3 T0 分成两个独立的8 位计数器, T1 在方式 3 时停止工作
定时器初值的确定: 加法计数器是计满溢出时才申请中断,所以在给定时器/ 计数器赋初值时,不能直接输入所需的计数值,而应输入的 是计数器计数的最大值与这一计数值的差值,设最大值为M, 计数值为N,初值为X,则X的计算方法如下 计数状态:X=M一N 定时状态:Ⅹ=M一定时时间 而 T=12÷晶振频率
定时器初值的确定: 加法计数器是计满溢出时才申请中断, 所以在给定时器/ 计数器赋初值时, 不能直接输入所需的计数值, 而应输入的 是计数器计数的最大值与这一计数值的差值, 设最大值为 M, 计数值为 N, 初值为 X, 则 X的计算方法如下: 计数状态: X=M-N 定时状态: X=M-定时时间/T 而 T=12÷
、定时器计数器控制寄存器TCON TF1 TR1 TFO TRO IE1 IT1 IEO ITO TF0、TF1分别是定时器计数器T0、T1的溢出标志位, 加法计数器计满溢出时置1,申请中断,在中断响应后自动复 0。TF产生的中断申请是否被接受,还需要由中断是否开放 来决定。 TR1、TR0分别是定时器/计数器T1、T0的运行控制位, 通过软件置1后,定时器/计数器才开始工作,在系统复位时
二、 定时器/计数器控制寄存器TCON TF0、TF1分别是定时器/计数器T0、 T1 的溢出标志位, 加法计数器计满溢出时置 1, 申请中断, 在中断响应后自动复 0。TF产生的中断申请是否被接受, 还需要由中断是否开放 来决定。 TR1、TR0 分别是定时器 /计数器T1、 T0 的运行控制位, 通过软件置 1 后, 定时器 /计数器才开始工作, 在系统复位时 被清 0。 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0