




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、8051单片机的定时/计数器 n 分类:分类: u根据中断源产生的位置根据中断源产生的位置 片内中断片内中断(定时器定时器T0T0和和T1T1中断、串行口中断中断、串行口中断) 片外中断片外中断(外部中断外部中断0 0和和外部中断外部中断1 1) u根据中断源的引发是由硬件产生还是软件根据中断源的引发是由硬件产生还是软件 软件中断软件中断(定时器定时器T0T0、T1T1中断中断) 硬件中断硬件中断(外部中断外部中断0 0、外部中断外部中断1 1、串行口中串行口中 断断) u根据中断源的性质分成以下根据中断源的性质分成以下3 3类中断:类中断: 外部中断类外部中断类 定时器中断类定时器中断类 串
2、行口中断类串行口中断类 复习:定时器中断类复习:定时器中断类 p 产生本类中断的原因:产生本类中断的原因: 硬件结构发生计数溢出硬件结构发生计数溢出 p 中断的标志:中断的标志: 在软件的标志位在软件的标志位TF0TF0和和TF1TF1上用上用“1 1”体现出来体现出来 表表6-1 6-1 定时器控制寄存器定时器控制寄存器TCONTCON 位地址位地址8FH8EH8DH8CH8BH8AH89H88H 位符号位符号TF1TR1TF0TR0IE1IT1IE0IT0 * IE0IE0(IE1IE1):外部中断请求标志):外部中断请求标志 当当INT0(INT1)INT0(INT1)引脚有中断信号时,
3、引脚有中断信号时,IE0IE0(IE1IE1)被置)被置1 1; 当当CPUCPU响应对应中断后,响应对应中断后,IE0IE0(IE1IE1)会自动由硬件清零。)会自动由硬件清零。 * TF0TF0(TF1TF1):定时器计数满溢出的标志位。):定时器计数满溢出的标志位。 当计数器产生计数溢出时,此位由硬件自动置当计数器产生计数溢出时,此位由硬件自动置1 1。 当转向中断服务时,再由硬件自动清当转向中断服务时,再由硬件自动清0 0 定时器定时器T0T0和定时器和定时器T1T1中断的识别标志中断的识别标志 u 在在TCONTCON中的中的TF0TF0和和TF1TF1两个标志位就是定时器计数满溢出
4、两个标志位就是定时器计数满溢出 的标志位。的标志位。 u 当计数器产生计数溢出时,此位由硬件自动置当计数器产生计数溢出时,此位由硬件自动置1 1。 u 当转向中断服务时,再由硬件自动清当转向中断服务时,再由硬件自动清0 0 u 计数溢出位的使用有两种情况:计数溢出位的使用有两种情况: 采用中断方式编程时用作中断请求识别的标志位;采用中断方式编程时用作中断请求识别的标志位; 采用查询方式编程时用作查询状态位使用,常用采用查询方式编程时用作查询状态位使用,常用 “JNB TF0,$”的指令进行非中断的查询方式编程;的指令进行非中断的查询方式编程; u 如果不采用中断方式编程,而采用查询的方式处理计
5、数如果不采用中断方式编程,而采用查询的方式处理计数 满的结果,这两个标志位要满的结果,这两个标志位要用手动清用手动清0 0。 复习:中断与定时器复习:中断与定时器 v51单片机中,定时器是中断源。中断处理 过程如图所示: 有:有: n软件定时软件定时 n硬件定时硬件定时 n软件和硬件结合定时(可编程控制)软件和硬件结合定时(可编程控制) 80C51的定时的定时/计数器简介计数器简介 实现定时功能,实现定时功能,比较方便的办法是利用单比较方便的办法是利用单 片机内部的定时片机内部的定时/计数器计数器。也可以采用下面三。也可以采用下面三 种方法:种方法: v软件定时软件定时:软件定时不占用硬件资源
6、,但占用了:软件定时不占用硬件资源,但占用了 CPU时间,降低了时间,降低了CPU的利用率。的利用率。 v采用时基电路定时采用时基电路定时:例如采用:例如采用555电路,外接必要电路,外接必要 的元器件(电阻和电容),即可构成硬件定时电路。的元器件(电阻和电容),即可构成硬件定时电路。 但在硬件连接好以后,定时值与定时范围不能由软但在硬件连接好以后,定时值与定时范围不能由软 件进行控制和修改,即不可编程。件进行控制和修改,即不可编程。 v采用可编程芯片定时采用可编程芯片定时:这种定时芯片的定时值及:这种定时芯片的定时值及 定时范围很容易用软件来确定和修改,此种芯片定定时范围很容易用软件来确定和
7、修改,此种芯片定 时功能强,使用灵活。在单片机的定时时功能强,使用灵活。在单片机的定时/计数器不够计数器不够 用时,可以考虑进行扩展。用时,可以考虑进行扩展。 6.1 MCS-51定时定时/计数器的结构计数器的结构 n结构特点:结构特点: 单片机内部有单片机内部有2个个16位可编程位可编程定时器定时器:T0和和T1; 它们都具有它们都具有计数计数和和定时定时两种功能;两种功能; 定时定时/计数器计数器的核心部件是二进制加的核心部件是二进制加1计数器计数器 构成的硬件;构成的硬件; T0 和和T1可分为可分为2个个8位位的定时器:的定时器:TH0、TH1 (高高8位位)和)和TL0、TL1(低低
8、8位位)组成)组成 每个定时器都有不同的工作方式每个定时器都有不同的工作方式 8051单片机的单片机的2个个16位定时位定时/计数器均可编程计数器均可编程:可编程的:可编程的 意思是指其功能(如工作方式、定时时间、量程、启动方式意思是指其功能(如工作方式、定时时间、量程、启动方式 等)均可由指令来确定和改变。可用于定时控制、延时、对等)均可由指令来确定和改变。可用于定时控制、延时、对 外部事件计数和检测等场合。外部事件计数和检测等场合。 在定时器在定时器/计数器中除了有两个计数器中除了有两个16位的计数器之外,还有位的计数器之外,还有 两个特殊功能寄存器(定时器控制与中断方式控制寄存器两个特殊
9、功能寄存器(定时器控制与中断方式控制寄存器 TCON和方式控制寄存器和方式控制寄存器TMOD)。)。 定时器定时器/ /计数器的结构计数器的结构 定时器定时器/计数器的基本部件是两个计数器的基本部件是两个8位计数器(位计数器(TH1和和TL1是是T1的的 计数器,计数器,TH0和和TL0是是T0的计数器)。的计数器)。 8051 1 TH 1 TL0 TH 0 TL TMODTCON 1 T 0 T ) 1 (T 5 . 3 P )T(P 04 . 3 图图6.1 6.1 定时器定时器/ /计数器结构计数器结构 51定时器结构定时器结构 16位的定时位的定时/计数器分别由两个计数器分别由两个8
10、位专用寄存器组成,即:位专用寄存器组成,即: T0由由TH0和和TL0构成;构成;T1由由TH1和和TL1构成。其访问地址依次构成。其访问地址依次 为为8AH-8DH。每个寄存器均可单独访问。每个寄存器均可单独访问。 这些寄存器是用于存放定时或计数初值的这些寄存器是用于存放定时或计数初值的。 启 动 TMOD主要是用于主要是用于选定定时器的工作方式选定定时器的工作方式; TCON主要是用于主要是用于控制定时器的启动停止控制定时器的启动停止,此外,此外TCON还可还可 以以保存保存T0、T1的溢出和中断标志的溢出和中断标志。 当定时器工作在当定时器工作在计数方式计数方式时,时,外部事件外部事件通
11、过引脚通过引脚T0(P3.4) 和和T1(P3.5)输入。)输入。 启 动 一一 定时定时/ /计数器的功能计数器的功能 在特殊功能寄存器在特殊功能寄存器TMODTMOD中,有一个控制位(中,有一个控制位(C CT T),分),分 别用于控制定时别用于控制定时/ /计数器工作在计数器工作在定时器定时器模式还是模式还是计数器计数器模式。模式。 1. 定时功能-计数输入信号是内部时钟脉冲,每个 机器周期计数器的值加1。 2. 2. 计数功能计数功能-计数脉冲来自相应的计数脉冲来自相应的外部输入引脚外部输入引脚, T0T0为为P3.4P3.4,T1T1为为P3.5P3.5。 定时定时/ /计数器的核
12、心部件是计数器的核心部件是二进制加二进制加1 1计数器计数器(TH0(TH0、 TL0TL0或或TH1TH1、TL1) TL1) 。 定时器的工作模式定时器的工作模式 u 在在80C51的单片机中,定时的单片机中,定时/计数器的核心部件计数器的核心部件 是二进制加是二进制加1计数器计数器(TH0、TL0或或TH1、TL1) u 两种工作模式:两种工作模式: 定时模式定时模式 计数模式计数模式 u 选择方法:选择方法: 通过设置通过设置TMOD特殊功能寄存器的特殊功能寄存器的CT# 位可以编程选择定时器的工作模式位可以编程选择定时器的工作模式 定时模式定时模式 工作特点:工作特点: 内部的硬件计
13、数器记录的输入信号是内部的硬件计数器记录的输入信号是内部时内部时 钟脉冲对应机器周期的个数钟脉冲对应机器周期的个数; 每个每个机器周期机器周期使寄存器的值加使寄存器的值加1,所以,所以,计计 数频率是振荡频率的数频率是振荡频率的1/12。 选择方法:选择方法: 设定设定TMOD的的 CT#位等于位等于零零 特点:特点: 内部的计数器硬件记录的脉冲是来自相应的外部输内部的计数器硬件记录的脉冲是来自相应的外部输 入引脚,定时器入引脚,定时器T0为为P34,定时器,定时器T1为为P35。 当输入信号产生由当输入信号产生由“1”到到“0”的负跳变时,计数寄的负跳变时,计数寄 存器存器(TH0、TL0或
14、或TH1、TL1)的值在原来值的基础的值在原来值的基础 上增上增1。 选择方法:选择方法: 设置设置TMOD的编程位的编程位CT#位等于位等于1即可即可 注意事项:注意事项: 高、低电平持续时间不小于一个机器周期高、低电平持续时间不小于一个机器周期 联系:联系: 定时模式还是计数的模式,对应的都是一个计数器,定时模式还是计数的模式,对应的都是一个计数器, 它们对输入脉冲的个数计数,并进行加一操作,最后它们对输入脉冲的个数计数,并进行加一操作,最后 将计数结果保存在计数寄存器内。将计数结果保存在计数寄存器内。 区别:在于它们记录脉冲的来源不同区别:在于它们记录脉冲的来源不同 定时工作模式:定时工
15、作模式: 记录的脉冲是周期固定的机器周期的数量记录的脉冲是周期固定的机器周期的数量 计数的工作模式:计数的工作模式: 脉冲是来自于外部引脚送来的,代表外部事件变化规脉冲是来自于外部引脚送来的,代表外部事件变化规 律的脉冲信号,这个脉冲不一定有规律律的脉冲信号,这个脉冲不一定有规律 定时定时/计数器的工作原理计数器的工作原理 加加1计数器计数器输入的计数脉冲有两个来源,输入的计数脉冲有两个来源,一个是由系统一个是由系统 的时钟振荡器输出脉冲经的时钟振荡器输出脉冲经12分频后送来;一个是分频后送来;一个是T0或或T1引引 脚输入的外部脉冲源。脚输入的外部脉冲源。每来一个脉冲计数器加每来一个脉冲计数
16、器加1,当加到计,当加到计 数器为全数器为全1时,再输入一个脉冲就使计数器回零,且计数器时,再输入一个脉冲就使计数器回零,且计数器 的溢出使的溢出使TCON中中TF0或或TF1置置1,向,向CPU发出中断请求(定发出中断请求(定 时时/计数器中断允许时)。如果计数器中断允许时)。如果定时定时/计数器工作于定时模式计数器工作于定时模式 ,则表示定时时间已到;如果工作于计数模式,则表示计数,则表示定时时间已到;如果工作于计数模式,则表示计数 值已满。值已满。 可见,由溢出时计数器的值减去计数初值才是加可见,由溢出时计数器的值减去计数初值才是加1计数计数 器的计数值。器的计数值。 v设置为定时器模式
17、时设置为定时器模式时,加,加1计数器是对内部机器周期计数计数器是对内部机器周期计数 (1个机器周期等于个机器周期等于12个振荡周期,即计数频率为晶振频率个振荡周期,即计数频率为晶振频率 的的1/12)。)。计数值计数值N乘以机器周期乘以机器周期Tcy就是定时时间就是定时时间t 。 v设置为设置为计数器模式时计数器模式时,外部事件计数脉冲由,外部事件计数脉冲由T0或或T1引脚输引脚输 入到计数器。在每个机器周期的入到计数器。在每个机器周期的S5P2期间采样期间采样T0、T1引脚引脚 电平。当某周期采样到一高电平输入,而下一周期又采样到电平。当某周期采样到一高电平输入,而下一周期又采样到 一低电平
18、时,则计数器加一低电平时,则计数器加1,更新的计数值在下一个机器周,更新的计数值在下一个机器周 期的期的S3P1期间装入计数器。由于检测一个从期间装入计数器。由于检测一个从1到到0的下降沿的下降沿 需要需要2个机器周期,因此要求被采样的电平至少要维持一个个机器周期,因此要求被采样的电平至少要维持一个 机器周期。当晶振频率为机器周期。当晶振频率为12MHz时时,最高计数频率不超过,最高计数频率不超过 1/2MHz,即计数脉冲的周期要大于,即计数脉冲的周期要大于2 s。 n 控制的内容:控制的内容: 起停控制起停控制 溢出的检测溢出的检测 工作模式工作模式 工作方式工作方式 门控情况选择门控情况选
19、择 n 控制方法:控制方法: 通过对通过对特殊功能寄存器特殊功能寄存器TMOD和和TCON编编 程来完成程来完成 二、定时器计数器的特殊功能寄存器 与定时器计数器有关的特殊功能寄存器有: 1 1定时器控制与中断触发方式控制寄存器定时器控制与中断触发方式控制寄存器TCONTCON D7D6D5D4D3D2D1D0 TF1TR1TF0TR0IE1IT1IE0IT0 中断请求标志 触发方式选择触发方式选择 启动定时/计数器 0 低电平低电平 1 下降沿下降沿 0 停止 1 启动 n 功能:功能: 中断控制中断控制 定时器计数器控制定时器计数器控制 n TF0(TF1)计数溢出标志位计数溢出标志位 p
20、 特点:特点: 当计数器计数溢出(当计数器计数溢出(计满计满)时,该位置)时,该位置1 p 处理方法:处理方法: 使用查询方式时,此位作使用查询方式时,此位作状态位状态位供查询,但应注意:供查询,但应注意: 查询有效后应以查询有效后应以软件方式手动软件方式手动及时将该位及时将该位清零清零; 使用中断方式时,该位作使用中断方式时,该位作中断标志位中断标志位,在转向中断,在转向中断 服务程序时由硬件自动清服务程序时由硬件自动清0。 溢出中断标志位溢出中断标志位TF0、TF1 u 定时器溢出使定时器溢出使TFxTFx=1=1,引起中断请求,引起中断请求,CPUCPU响应响应TxTx中断中断 后,后,
21、自动自动对对TFxTFx清清0 0。 可用软件检测可用软件检测TFxTFx,必须,必须软件(手动)清软件(手动)清0 0。 例如:例如: WAITWAIT: JBCJBCTF0TF0,NEXTNEXT;检测;检测T0T0是否溢出是否溢出 SJMPSJMPWAITWAIT;未溢出,继续检测;未溢出,继续检测 NEXTNEXT: ;溢出,;溢出,TF0TF0清清0 0,处理溢出,处理溢出 定时器控制寄存器定时器控制寄存器TCONTCON(续)(续) n TR0(TR1): 定时器的运行控制位定时器的运行控制位 n 特点:特点: 定时器的软件定时器的软件“开关开关” n 控制方法:控制方法: TR0
22、(TR1)0,停止定时器工作,停止定时器工作 TR0(TR1)1,启动定时器开始工作,启动定时器开始工作 D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0 TF1TF1TR1TR1TF0TF0TR0TR0IE1IE1IT1IT1IE0IE0IT0IT0 中断请求标志位:中断请求标志位:TF0TF0、TF1TF1、IE0IE0、IE1IE1 状态位,可查询状态位,可查询 触发方式选择位:触发方式选择位:IT0IT0、IT1IT1,可设置,可设置 IT0IT0(IT1IT1)= 0 = 0 低电平低电平 IT0IT0(IT1IT1)= 1 = 1 下降沿下降沿 启动定时启动定时/
23、/计数器位:计数器位:TR0TR0、TR1TR1,可设置,可设置, TR0TR0(TR1TR1)= 0 = 0 停止停止 TR0TR0(TR1TR1)= 1 = 1 启动启动 表表6-26-2 工作方式控制寄存器工作方式控制寄存器TCONTCON的格式的格式 例:启动例:启动T0T0:SETBSETBTR0TR0 二、定时器计数器的特殊功能寄存器 2 2工作方式控制寄存器工作方式控制寄存器TMODTMOD T1控制T0控制 M0M1C/TGATEM0M1C/TGATE D0D1D2D3D4D5D6D7 GATE门控位 C/T计数/定时选择 M1 M0工作方式选择 二、定时器计数器的特殊功能寄存
24、器 2 2工作方式控制寄存器工作方式控制寄存器TMODTMOD M0M1C/TGATEM0M1C/TGATE D0D1D2D3D4D5D6D7 GATE门控位 若GATE1,则T(T0或T1)计数器受引脚INT0(或INTl)和 TR(TR0或TR1)共同控制。当和TR都是1时,T计数, 否则T停止计数。 若GATE0,则T0和T1不受INT0(或INTl)引脚控制而只受 TR控制,此时,TR为1,T计数,TR为0,停止计数。 可用于测量在可用于测量在INTx端出现的正脉冲的宽度端出现的正脉冲的宽度。 n 功能:功能: 控制控制T0和和T1的工作方式的工作方式 工作模式选择工作模式选择 门控情
25、况选择门控情况选择 n 特点:特点: TMOD不能位寻址,那么就意味着它的所不能位寻址,那么就意味着它的所 有位不能进行位操作,只能以整字节传送有位不能进行位操作,只能以整字节传送 指令设置其内容。指令设置其内容。 表表6-36-3 工作方式控制寄存器工作方式控制寄存器TMODTMOD的格式的格式 v低半字节用于定义定时计数器低半字节用于定义定时计数器0 0 v高半字节用于定义定时计数器高半字节用于定义定时计数器1 1 位地址位地址D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0 位名称位名称GATEGATEC/T#C/T#M1M1M0M0GATEGATEC/T#C/T#M1M
26、1M0M0 定时计数器定时计数器1 1控制控制定时计数器定时计数器0 0控制控制 (1)门控位:)门控位:GATE n 功能:功能: 设定定时器的运行是否受到门控信号的影响设定定时器的运行是否受到门控信号的影响 n 作用:作用: GATE = 0,定时器的运行不受门控信号的控制,只,定时器的运行不受门控信号的控制,只 由由TR0(或(或TR1)控制。)控制。 GATE = 1,定时器的运行要受到门控的控制,定时器的运行要受到门控的控制 n INT0(INT1)引脚信号和引脚信号和TR0(TR1)双重控制)双重控制 仅当引脚的输入电平为高且仅当引脚的输入电平为高且TR0(或(或TR1)=1时定时
27、定 时器才可以运行时器才可以运行 当引脚电平从高变到低,那么定时器立刻停止计数,当引脚电平从高变到低,那么定时器立刻停止计数, 利用这一特性可以用来测量在引脚上的正脉冲的宽利用这一特性可以用来测量在引脚上的正脉冲的宽 度。度。 (2)工作模式选择位:)工作模式选择位:CT# n CT# = 0,选择定时模式,选择定时模式 n CT# = 1,选择计数模式,选择计数模式 (3)工作方式选择位:)工作方式选择位:M1、M0 n 功能:功能: 定时器工作方式选择定时器工作方式选择 控制的定时器四种工作方式控制的定时器四种工作方式 M1M1M0M0工作方式工作方式功能描述功能描述 0 00 0方式方式
28、0 01313位计数器位计数器 0 01 1方式方式1 11616位计数器位计数器 1 10 0方式方式初值自动重装初值自动重装8 8位计数器位计数器 1 11 1方式方式 T0T0分成分成2 2个独立的个独立的8 8位;位; T1T1对外部停止计数,但此时可对外部停止计数,但此时可 以用作串行口波特率发生器以用作串行口波特率发生器 表表6-46-4 工作方式选择位工作方式选择位M1M1、M2M2格式格式 n 80C5180C51单片机的定时器单片机的定时器T0T0有四种工作方式:有四种工作方式: 方式方式0、1、2、3 n T1T1只有三种方式:只有三种方式: 方式方式0、1、2 n 不同的
29、方式有不同的功能,不同的要求需选择不同的方式有不同的功能,不同的要求需选择 合适的工作方式去适应。下面分别予以介绍。合适的工作方式去适应。下面分别予以介绍。 定时定时 器器 计数计数 器器 13位 方式方式0是是13位位计数结构的工作方式,其计数器由计数结构的工作方式,其计数器由TH0全部全部8 位和位和TL0的低的低5位构成。当位构成。当TL0的低的低5位计数溢出时,向位计数溢出时,向TH0进进 位,而全部位,而全部13位计数溢出时,则向计数溢出标志位位计数溢出时,则向计数溢出标志位TF0进位,进位, 并向并向CPU申请中断申请中断。 1. 方式013位方式 计数脉 冲输入 CT为定时计数选
30、择 CT0,T0为定时器,定时信号为振荡周期12分频后的脉冲; CTl,T0为计数器,计数信号来自引脚T1的外部信号。 方式方式0为为13位计数位计数,由,由TL0的低的低5位(高位(高3位未用)和位未用)和TH0的的8 位组成。位组成。TL0的低的低5位溢出时向位溢出时向TH0进位,进位,TH0溢出时,置位溢出时,置位 TCON中的中的TF0标志,向标志,向CPU发出中断请求。发出中断请求。 1. 方式013位方式 13位 定时器T0能否启动工作,还受到了TR0、GATE和引脚信号 INT0的控制。 当GATE0时,只要TR01就可打开控制门,使定时器工作; 当GATE1时,只有TR01且I
31、NT01,才可打开控制门。 GATE,TR0,CT的状态选择由定时器的控制寄存器TMOD, TCON中相应位状态确定,INT0则是外部引脚上的信号 1. 方式013位方式 定时器启动后,定时或计数脉冲加到TL0的低5位,从预先 设置的初值(时间常数)开始不断增1。TL0计满后,向TH0进位。 当TL0和TH0都计满之后,置位T0的定时器回零标志TF0,以此 表明定时时间或计数次数已到,以供查询或在打开中断的条件 下,可向CPU请求中断。如需进一步定时/计数,需用指令重置 时间常数。 1. 方式013位方式 13位 在一般的应用中,通常使GATE0,从而由TR0的状态控制 T0的开闭:TR01,
32、打开T0;TR00,关闭T0。 1. 方式013位方式 在特殊的应用场合,例如利用定时器测量接于INT0引脚 上的外部脉冲高电平的宽度时,可使GATE1,TR01。当 外部脉冲出现上升沿,亦即INT0由0变1电平时,启动T0定时, 测量开始;一旦外部脉冲出现下降沿,亦即INT0由l变0时就关 闭了T0。 1. 方式013位方式 13位 在方式0下,当为计数工作方式时,计数值的范围是: 18192(213) 当为定时工作方式时,定时时间的计算公式为: (213计数初值)晶振周期12 或 (213计数初值)机器周期 定时器模式时定时器模式时有关系有关系:Nt/ Tcy 计数初值计算的公式为:计数初
33、值计算的公式为: 定时器的初值还可以采用计数个数直接取补法获得定时器的初值还可以采用计数个数直接取补法获得。 计数模式时,计数脉冲是计数模式时,计数脉冲是T0引脚上的外部脉冲。引脚上的外部脉冲。 13 X=2 -N 门控位门控位GATE具有特殊的作用。当具有特殊的作用。当GATE=0时,经反相后使时,经反相后使 或门输出为或门输出为1,此时仅由,此时仅由TR0控制与门的开启,与门输出控制与门的开启,与门输出1 时,控制开关接通,计数开始;时,控制开关接通,计数开始;当当GATE=1时时,由外中断引,由外中断引 脚信号控制或门的输出,此时控制脚信号控制或门的输出,此时控制与门的开启由外中断引脚与
34、门的开启由外中断引脚 信号和信号和TR0共同控制共同控制。当。当TR0=1时,外中断引脚信号引脚的时,外中断引脚信号引脚的 高电平启动计数高电平启动计数,外中断引脚信号引脚的,外中断引脚信号引脚的低电平停止计数低电平停止计数。 这种方式常用来测量外中断引脚上正脉冲的宽度。这种方式常用来测量外中断引脚上正脉冲的宽度。 1. 方式013位方式 例:当某单片机系统的外接晶振频率为6MHz,该系统的最小定 时时间为: 213(2131)1/(6106)1221062(s) 最大定时时间为: (2130)1/(6106)121638410616384(s) 或:最小定时单位21316384(s) n 结
35、构特点:结构特点: u 13位的计数器位的计数器 TH为为8位位 TL为为5位位 (1 1)电路结构)电路结构 图图 定时器定时器TxTx在方式在方式0 0下的内部逻辑结构下的内部逻辑结构 n定时器定时器T0T0方式方式0 0的内部逻辑结构结论:的内部逻辑结构结论: u计数器由计数器由TH0的全部的全部8位和位和TL0的低的低5位构成。位构成。 TL0的高的高3位弃之不用位弃之不用 u工作原理:工作原理: 当当CT#=0时,多路开关接通振荡脉冲的十二分频时,多路开关接通振荡脉冲的十二分频 输出,输出,13位计数器以此脉冲进行计数,是位计数器以此脉冲进行计数,是定时方式定时方式。 CT#=1时,
36、多路开关接通计数引脚时,多路开关接通计数引脚P3.4(T0的外的外 部脉冲输入端),当计数脉冲发生负跳变时,计数部脉冲输入端),当计数脉冲发生负跳变时,计数 器在原来值的基础上加器在原来值的基础上加1,结果回存到,结果回存到TH0和和TL0中,中, 这是这是计数方式计数方式。 n定时器定时器T0T0方式方式0 0的内部逻辑结构结论的内部逻辑结构结论:(续:(续1 1) u 不管是定时还是计数方式,当不管是定时还是计数方式,当TL0TL0的低的低5 5位计数位计数 溢出时,向溢出时,向TH0TH0进位;进位; u 而全部而全部1313位位计数溢出时,则向计数溢出标志位计数溢出时,则向计数溢出标志
37、位 TF0TF0进位(置位)。进位(置位)。 n定时器定时器T0T0方式方式0 0的内部逻辑结构结论的内部逻辑结构结论:(续:(续2 2) u门控的作用门控的作用 p 当当GATE=0时,不使用门控(内部启动方式)时,不使用门控(内部启动方式) 仅由仅由TR0的状态来控制计数脉冲的接通与断开。的状态来控制计数脉冲的接通与断开。 TR01,则接通模拟开关,使计数器进行加,则接通模拟开关,使计数器进行加1计数,计数, 即启动定时器工作;即启动定时器工作; TR00,则断开,停止计数,则断开,停止计数,T0不能工作。不能工作。 p 当当GATE=1时,使用门控(外部启动方式)时,使用门控(外部启动方
38、式) 计数脉冲的通计数脉冲的通/断由断由TR0和外部信号和外部信号INT0(INT1) 共共 同控制。同控制。 当当TR01,且且INTx为高电平时,计数器工作;为高电平时,计数器工作; 当当TR01,且且INTx为低电平时,计数器停止工作。为低电平时,计数器停止工作。 这种情况可用于测量外部信号的脉冲宽度。这种情况可用于测量外部信号的脉冲宽度。 (2 2)方式)方式0 0下的应用下的应用 n 计数模式:计数模式: 计数范围:计数范围:1213(8192) n 定时模式:定时模式: p 定时时间:定时时间: (213计数初值计数初值)振荡周期振荡周期12 p 最小定时时间最小定时时间:(晶振频
39、率为晶振频率为6z时时) (213(2131)1/610-612=2s 此时初值是此时初值是8191,即只让定时器记录一个机器周期,即只让定时器记录一个机器周期 就发生溢出。就发生溢出。 p 最大定时时间为:最大定时时间为: (2130)1/610-612=16384s 此时初值是此时初值是0,即让定时器从,即让定时器从0开始记录开始记录8192个机器个机器 周期之后再发生溢出。周期之后再发生溢出。 (3 3)方式)方式0 0的特点的特点 T0T0和和T1T1都可以工作在这种方式之下;都可以工作在这种方式之下; 在计数溢出之后在计数溢出之后初值不能自动初值不能自动重新装入重新装入THTHi i
40、和和 TLTLi i,每次溢出之后必须,每次溢出之后必须手动装入手动装入初值;初值; (3 3)方式)方式0 0的特点(续)的特点(续) 定时器是定时器是1313位的,但位的,但1313位不连续位不连续 TLi出低出低5位,位,THi出高出高8位;位; 若初值设定成若初值设定成8190,因为,因为 8190=1FFEH=1,1111,1111, 1110B 它的低它的低5位装入位装入TL0=1EH,高,高8位装入位装入TH0=FFH 2 2个定时器个定时器T0T0和和T1T1此时完全独立,每个定时器此时完全独立,每个定时器 都有自己的控制位和标志位都有自己的控制位和标志位 (4 4)方式)方式
41、0 0的应用举例的应用举例 例:设单片机的晶振频率例:设单片机的晶振频率=6MHz,使用定时器,使用定时器T1 工作在方式工作在方式0下,产生周期为下,产生周期为500s的等宽正方波的等宽正方波 脉冲,并由脉冲,并由P1.0引脚输出,试以中断方式和查询引脚输出,试以中断方式和查询 方式编程实现。方式编程实现。 分析过程:分析过程: 计算计数初值:计算计数初值: 要产生要产生500s的等宽正方波脉冲,实质就是要在的等宽正方波脉冲,实质就是要在P1.0引引 脚以脚以250s为间隔,交替输出高低电平即可实现。为间隔,交替输出高低电平即可实现。 定时间应为定时间应为250s。因为系统的。因为系统的=6
42、MHz,待求计数初值,待求计数初值 为为X,则:,则:(213X)210-6 = 25010-6 , 求得:求得:X8067 = 11111100 00011B 取这个数的低取这个数的低5位位00011B为为03H放入低放入低8位寄存器位寄存器TL1, 所以所以TL1=03H; 然后再取出然后再取出1111110000011B的剩余的的剩余的8位位11111100B, 即即0FCH装入高装入高8位寄存器位寄存器TH1中,所以中,所以TH1=0FCH。 TMOD初始化:初始化: 为把为把T1设定为方式设定为方式0,应使,应使M1M0=00; 为实现定时功能,应使为实现定时功能,应使CT# =0;
43、 为实现为实现T1的运行控制,应使的运行控制,应使GATE=0; T0其它不用的有关位设定为其它不用的有关位设定为0 所以:所以:TMOD应初始化为应初始化为00H。 起停控制起停控制 由定时器控制寄存器由定时器控制寄存器TCON中的中的TR1位控制定时器的位控制定时器的 启动和停止。启动和停止。 TR11,启动,启动 TR10,停止,停止 程序设计:程序设计: 中断方式程序设计中断方式程序设计 查询方式程序设计查询方式程序设计 p中断方式的主程序:中断方式的主程序: MOVMOVTMOD TMOD ,#00H#00H;T1T1方式方式0 0,非门控定时,非门控定时 MOVMOVTH1 TH1
44、 ,#0FCH#0FCH;T1T1的初值高的初值高8 8位装入位装入TH1TH1 MOVMOVTL1 TL1 ,#03H#03H;T1T1的初值低的初值低5 5位装入位装入TL1TL1 SETBSETB EAEA;允许;允许CPUCPU处理所有中断源的中断申处理所有中断源的中断申 ;请,这是打开总中断的;请,这是打开总中断的“开关开关” SETBSETB ET1ET1;允许定时器;允许定时器T1T1溢出中断,这相当于溢出中断,这相当于 ;打开定时器;打开定时器T1T1的分级的分级“开关开关” SETBSETB TR1TR1;启动定时器;启动定时器T1T1开始定时,从这个时刻开始开始定时,从这个
45、时刻开始 ;定时器才开始记录机器周期的个数;定时器才开始记录机器周期的个数 SJMPSJMP $ $;CPUCPU原地踏步,等待中断的产生原地踏步,等待中断的产生 p中断方式的中断程序:中断方式的中断程序: MOVMOVTH1TH1,#0FCH#0FCH;重新手动装入初值;重新手动装入初值 MOVMOVTL1TL1,#03H#03H CPLCPLP1P10 0;将;将P1.0P1.0引脚的电平取反之后输出引脚的电平取反之后输出 RETIRETI;中段子程序结束,返回主程序;中段子程序结束,返回主程序 p若改用查询方式,则源程序改为:若改用查询方式,则源程序改为: MOVMOVTMOD TMOD
46、 ,#00H#00H MOVMOVTH1 TH1 ,# 0FCH# 0FCH MOVMOVTL1 TL1 ,#03H#03H MOVMOVIE IE ,#00H#00H;禁止中断;禁止中断 SETBSETB TR1TR1 LOOP:LOOP:;查询计数溢出标志,判断定时的时间是否到;查询计数溢出标志,判断定时的时间是否到 JBJBTF1 TF1 ,LOOP1LOOP1 AJMPAJMP LOOPLOOP;未到则继续重新查询标志位;未到则继续重新查询标志位TF1TF1 LOOP1:LOOP1: MOVMOVTH1TH1,#0FCH#0FCH;定时时间到,然后初值重新装入;定时时间到,然后初值重新
47、装入 MOVMOVTL1TL1,#03H#03H CLRCLRTF1TF1 CPLCPLP1P10 0;引脚状态取反;引脚状态取反 AJMPAJMP LOOPLOOP;处理完成定时时间到的任务之后,;处理完成定时时间到的任务之后, ;再返回;再返回LOOPLOOP处继续判断下一次溢出情况处继续判断下一次溢出情况 8 16位 与工作方式与工作方式0基本相同,区别仅在于工作方式基本相同,区别仅在于工作方式1的计数器的计数器TL1和和 TH1组成组成16位位计数器,从而比工作方式计数器,从而比工作方式0有更宽的定时有更宽的定时/计数范围。计数范围。 当为计数工作方式时,计数值的范围是:当为计数工作方
48、式时,计数值的范围是:165536(216) 当为定时工作方式时,定时时间计算公式为:当为定时工作方式时,定时时间计算公式为: (216计数初值)计数初值)晶振周期晶振周期12 或或 (216计数初值)计数初值)机器周期。机器周期。 2. 方式116位方式 计数器由计数器由TH0TH0全部全部8 8位位 和和TL0TL0全部全部8 8位构成。位构成。 16 X=2 -N 方式方式1 图示图示 方式方式1的计数位数是的计数位数是16位,由位,由TL0作为低作为低8位、位、TH0 作为高作为高8位,组成了位,组成了16位加位加1计数器计数器 。 计数个数与计数初值的关系为:计数个数与计数初值的关系
49、为: n 方式方式1 1和方式和方式0 0几乎完全相同,唯一差别是方式几乎完全相同,唯一差别是方式 1 1是是1616位位, ,而方式而方式0 0是是1313位。此时定时器寄存器位。此时定时器寄存器 TH0TH0(或(或TH1TH1)和)和TL0TL0(或(或TL1TL1)是以全)是以全1616位参与位参与 操作的。操作的。 n 其余与方式其余与方式0 0相同。相同。 3. 方式28位自动装入时间常数方式 定时器T0能否启动工作,还受到了TR0、GATE和引脚信号 INT0的控制。 当GATE0时,只要TR01就可打开控制门,使定时器工作; 当GATE1时,只有TR01且INT01,才可打开控
50、制门。 3. 方式28位自动装入时间常数方式 T0的结构的结构: TL0:8位的定时器位的定时器/计数器;计数器; TH0:8位预置寄存器,用于保存初值。位预置寄存器,用于保存初值。 工作过程:工作过程:当当TL0计满溢出时,计满溢出时,TF0置置1,向,向CPU发出中断请发出中断请 求;同时引起求;同时引起重装操作重装操作(TH0的计数初值送到的计数初值送到TL0),进行新),进行新 一轮计数。一轮计数。 工作方式工作方式2是一种自动装入时间常数的是一种自动装入时间常数的8位计数器方式。位计数器方式。 3. 方式28位自动装入时间常数方式 由于这种方式省去了用户程序中的重装指令 ,因而操作方
51、 便,在允许的条件下,应尽量使用这种工作方式。当然,这种 方式的定时计数范围要小于方式0和方式1,最大只能到256 。 这种自动重新加载工作方式非常适用于循环定时或循环计 数应用,例如用于产生固定脉宽的脉冲,此外还可以作串行 数据通信的波特率发送器使用。 n 方式方式0和和1的最大特点是计数溢出后,计数器为全的最大特点是计数溢出后,计数器为全0,不,不 具备自动重新加载功能。具备自动重新加载功能。 n 方式方式2是自动重新加载工作方式,即可以自动加载计数是自动重新加载工作方式,即可以自动加载计数 初值。主要用于需要重复定时和计数的场合。初值。主要用于需要重复定时和计数的场合。 n 在方式在方式
52、2下,把下,把16位计数器分为两部分,位计数器分为两部分,TL为为8位加位加1计计 数器,数器,TH是预置初值寄存器,初始化时,把计数初值是预置初值寄存器,初始化时,把计数初值 同时放入同时放入TL和和TH中(二者内容完全相同)。中(二者内容完全相同)。 图图 定时计数器定时计数器0 0在工作方式在工作方式2 2下的逻辑结构下的逻辑结构 8 X=2 -N 方式方式2 图示图示 方式方式2为自动重装初值的为自动重装初值的8位计数方式。位计数方式。 工作方式工作方式2特别适合于用作较精确的脉冲信号发生器。特别适合于用作较精确的脉冲信号发生器。 计数个数与计数初值的关系为:计数个数与计数初值的关系为
53、: 定时器方式定时器方式2的逻辑结构的逻辑结构 u 初始化时,初始化时,8位的计数初值同时装入位的计数初值同时装入TL0和和TH0中。中。 u 当当TL0溢出时,置位溢出时,置位TF0,同时把,同时把TH0中的计数初值自中的计数初值自 动加载到动加载到TL0,TL0重新计数。重新计数。 u 这种方式是这种方式是8位计数方式,计数的最大值为位计数方式,计数的最大值为256。 u 这种自动加载的方式别适用于循还定时或计数应用,这种自动加载的方式别适用于循还定时或计数应用, 如产生固定宽度脉冲。如产生固定宽度脉冲。 u 此外,定时器此外,定时器T1工作于这种工作方式可以作串行数据工作于这种工作方式可
54、以作串行数据 通信的波特率发生器使用。通信的波特率发生器使用。 (2 2)方式)方式2 2的特点:的特点: 定时器定时器T0T0和和T1T1都可以工作在这种方式之下;都可以工作在这种方式之下; 初值能在溢出之后自动重新装入初值能在溢出之后自动重新装入TH1TH1(或(或TH0TH0)和)和TL1TL1 (或(或TL0TL0);); 每个定时器的高每个定时器的高8 8位位TH0TH0(或(或TH1TH1)和低)和低8 8位位TL0TL0(或(或 TL1TL1)单独完成各自不同的功能。)单独完成各自不同的功能。 低低8 8位位TL0TL0(或(或TL1TL1)作为计数器的计数结果存储)作为计数器的
55、计数结果存储 寄存器寄存器 高高8 8位位TH0TH0(或(或TH1TH1)作为预置初值寄存器)作为预置初值寄存器 定时器为定时器为8 8位,最大计数值为位,最大计数值为256256(2 28 8),记录数的),记录数的 范围小;范围小; (3 3)方式)方式2 2的应用的应用-循环定时循环定时 例:用例:用T0以方式以方式2产生产生100us定时,在定时,在P1.0输出周输出周 期为期为200s的连续方波,设晶振的连续方波,设晶振6Hz。 计算初值:计算初值: 设初值设初值X,据公式:(,据公式:(28X)210-6 =10010-6 求解得:求解得:X=206=0CEH, 所以:所以:TL
56、0=0CEH ,TH0=0CEH TMOD初始化:初始化: M1=1、M0=0 GATE=0 CT#=0, T1不用,所以:不用,所以:TMOD=02H 程序设计(中断方式):程序设计(中断方式): 主程序:主程序: MAINMAIN: MOVMOVTL0 TL0 ,#0CEH#0CEH MOVMOVTH0 TH0 ,#0CEH#0CEH MOVMOVTMOD TMOD ,#02H#02H SETBSETBEAEA SETBSETBET0ET0 SETBSETBTR0TR0 SJMPSJMP$ $ 中断子程序:中断子程序: SERVESERVE: CPLCPLP1.0P1.0 RETI RET
57、I ;没有重装指令,非常方便;没有重装指令,非常方便 (4 4)方式)方式2 2的应用的应用-循环计数应用:循环计数应用: 例:使例:使T1T1以方式以方式2 2计数方式进行计数,每计计数方式进行计数,每计100100次进行次进行A A的的 加加1 1操作(外部计数脉冲已经准备好)。操作(外部计数脉冲已经准备好)。 计算计数初值:计算计数初值: 28100156D9CH, 所以:所以:TH19CH,TL1=9CH TMOD初始化:初始化: GATE=0,CT#=1,M1=1,M0=0, 所以:所以:TMOD=60H 程序设计(查询方式):程序设计(查询方式): MOVMOVIE IE ,#00
58、H#00H MOVMOVTMOD TMOD ,#60H#60H MOVMOVTH1 TH1 ,#9CH#9CH MOVMOVTL1 TL1 ,#9CH#9CH SETBSETBTR1TR1 DELY:DELY: JBCJBCTF1 TF1 ,LOOPLOOP AJMPAJMPDELYDELY LOOP:LOOP: INCINCA A AJMPAJMPDELYDELY 4. 方式3双8位方式 工作方式3只适用于定时器0。如果使定时器1为工作方式3, 则定时器1将处于关闭状态。 方式方式3 图示图示 方式方式3只适用于定时只适用于定时/计数器计数器T0,定时器定时器T1处于方式处于方式3时相当时相
59、当 于于TR1=0,停止计数。,停止计数。 工作方式工作方式3将将T0分成为两个独立的分成为两个独立的8位计数器位计数器TL0和和TH0 。 4. 方式3双8位方式 TL0既可用作定时器,又可用作计数器,并使用原T0的所有 控制位及其定时器回零标志和中断源。 TH0只能作8位定时器。使用T1所有的资源(中断向量、中断 控制ET1、PT1)和控制位(TR1、TF1) 当T0为工作方式3时,TH0和 TL0分成2个独立的8位计数器。 4. 方式3双8位方式 这时,T1往往用作串行口波特率发生器,TH0用作定时器,TL0 作为定时器或计数器。所以,方式3是为了使单片机有1个独立 的定时器计数器、1个
60、定时器以及1个串行口波特率发生器的 应用场合而特地提供的。这时,可把定时器l用于工作方式2, 把定时器0用于工作方式3。 通常情况下,T0不运行于工作方式 3,只有在T1处于工作方式2,并不 要求中断的条件下才可能使用。 n 上述三种方式下,对上述三种方式下,对T0T0和和T1T1的设置和作用是完的设置和作用是完 全相同的;在方式全相同的;在方式3 3下,下,T0T0和和T1T1的设置及作用的设置及作用 是不同的。是不同的。 n 对于定时器器对于定时器器T1T1,设置为方式,设置为方式3 3将使它保持原将使它保持原 有的计数值,其作用如同使有的计数值,其作用如同使TR1=0TR1=0,即停止计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023-24年山西省郊区事业单位公开招聘工作人员《公共基础知识专项训练》内部题库含答案(基础题)
- 有电危险安全教育
- 高中语文第二册第二单元测试题
- 悦府住宅大区项目景观设计方案
- 小学一年级凑十法
- 分公司股权合同范例
- 产品合作推广合同范例
- 08版劳动合同范例
- 关于外卖员合同范例英文
- 公司贷款付款合同范例
- 2024年人教版小学语文五年级下册第三单元测试卷(含答案解析)【可编辑打印】
- 港口航运运营管理专业总复习试题(四)及答案
- 风力发电塔筒防腐施工方案样本样本
- 电气设备试验、检验、调试记录
- 《烛之武退秦师》挖空翻译训练+重点知识归类+古代文化常识
- 综合实践活动课《美丽的麦秆画》课件
- 【5A文】大型国有电力集团风电技术监督导则及实施细则
- 校园防暴力欺凌巡查记录
- 2024年云南铜业股份有限公司招聘笔试参考题库含答案解析
- 公司上下级管理制度
- 全国各气象台站区站号及经纬度
评论
0/150
提交评论