LinkedIn守时器/计数器的结构
守时器/计数器的本质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是守时器/计数器的作业方法寄存器,确认作业方法和功用;TCON是操控寄存器,操控T0、T1的发动和中止及设置溢出标志。
守时器/计数器的作业原理
计数器输入的计数脉冲源
体系的时钟振动器输出脉冲经12分频后发生;
T0或T1引脚输入的外部脉冲源。
计数进程
每来一个脉冲计数器加1,当加到计数器为全1(即FFFFH)时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU宣布中止恳求(守时器/计数器中止答应时)。假如守时器/计数器作业于守时形式,则表明守时时刻已到;假如作业于计数形式,则表明计数值已满。
守时使用
用作守时器:此刻设置为守时器形式,加1计数器是对内部机器周期计数(1个机器周期等于12个振动周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy便是守时时刻t 。
计数运用
用作计数器:此刻设置为计数器形式,外部事情计数脉冲由T0或T1引脚输入到计数器。每来一个外部脉冲,计数器加1。但单片机对外部脉冲有基本要求:脉冲的凹凸电平持续时刻都必须大于1个机器周期。
作业方法寄存器(TMOD)
GATE:门控位。
GATE=0时,只需用软件使TCON中的TR0或TR1为1,就能够发动守时器/计数器作业;(即需求一个发动条件)
GATE=1时,要用软件使TR0或TR1为1,一起外部中止引脚也为高电平时,才干发动守时器/计数器作业,即需求两个发动条件。
C/T :守时/计数形式挑选位。
C/T =0为守时形式; C/T =1为计数形式。
M1M0:作业方法设置位。
计数器作业方法挑选
M1 M0 工 作 方 式 功 能 说 明
0 0 方法0 13位计数器
0 1 方法1 16位计数器
1 0 方法2 主动重装8位计数器
1 1 方法3 守时器0:分红两个8位[page]
守时器1:中止计数
守时器/计数器的操控
操控寄存器TCON
TCON的低4位用于操控外部中止,已在前面介绍。TCON的高4位用于操控守时器/计数器的发动和中止恳求。其格局如下:
TF1(TCON.7):T1溢出中止恳求标志位。T1计数溢出时由硬件主动置TF1为1。CPU呼应中止后TF1由硬件主动清0。TR1(TCON.6):T1起/停操控位。1:发动 0:中止
TF0(TCON.5):T0溢出中止恳求标志位,其功用与TF1类同。
TR0(TCON.4):T0起/停操控位。1:发动 0:中止
守时器/计数器的作业方法
方法0
方法0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU宣布中止恳求。
方法1
方法1的计数位数是16位,由TL0(TL1)作为低8位、TH0(TH1)作为高8位,组成了16位加1计数器 。
方法2
方法2为主动重装初值的8位计数方法。
在方法2下,当计数器计满255(FFH)溢出时,CPU主动把TH 的值装入TL中,不需用户干涉。因而特别适合于用作较准确的脉冲信号发生器。
方法3
方法3只适用于守时器/计数器T0,守时器T1方法3时相当于TR1=0,中止计数。
作业方法3将T0分红为两个独立的8位计数器TL0和TH0 。
TMOD和TCON
AT89S52的守时器/计数器是一种可编程部件,在守时器/计数器开端作业之前,CPU必须将一些指令(操控字)写入守时/计数器。
例如:挑选哪一个守时器/计数器在何种作业方法下作业?
是用作守时器计时功用仍是用作计数器的计数功用?
是否发动守时器/计数器的运转?
……
这些设置的功用是经过对特别功用寄存器TMOD和TCON的设置来完成。在初始化进程中,要将作业方法操控字写入方法寄存器(初始化作业的一部分),作业状态字写入操控寄存器,CPU就会按设定的作业方法独立运转。
1.守时器/计数器方法寄存器TMOD
守时器/计数器方法操控寄存器TMOD在特别功用寄存器中,字节地址为89H。TMOD不能进行位寻址,只能用字节传送指令设置守时器作业方法,低半字节界说为守时器/计数器0,高半字节界说为守时器/计数器1。复位时,TMOD一切位均为0。TMOD的格局
如下表所示。
M1、M0:作业方法挑选位。用来界说守时器/计数器的四种作业方法。
C/:功用挑选位:C/
位为守时器方法或计数器方法挑选位。C/
=1时,为计数器方法;C/
=0时,为守时器方法。
GATE:门操控位,确认守时器的敞开与封闭。当GATE=0时,只需守时器操控寄存器TCON中的TR0(或TR1)被置1时,T0(或T1)被答应开端计数(TCON各位意义见后边叙说)。
当GATE=1时,外部中止引脚或
的输入电平操控T0或T1的敞开与封闭。
2.守时器/计数器操控寄存器TCON
TCON是T0和T1的操控寄存器,它一起也用来锁存T0、T1的溢出中止恳求源和外部中止恳求源。TCON寄存器复位时为00H,能够进行位寻址。守时器/计数器操控寄存器TCON字节地址为88H。TCON寄存器各位界说如下表
TCON中各标志位的功用是:
TF1(D7):守时器1溢出标志位。当T1计满溢出时,由硬件使TF1置1,恳求中止。进入中止服务程序后,由硬件主动清0,在查询方法下用软件清0。
TR1(D6):守时器1运转操控位。TR1置1,发动守时器1;TR1置0则中止作业。TR1由软件置1或清零
TF0(D5):守时器0溢出标志。其功用及操作状况同TF1。
TR0(D4):守时器0运转操控位。其功用及操作状况同TR1。
IE1(D3):外部中止1中止恳求标志。IT1=1时,外部中止1引脚上的电平由1变0时,IE1由硬件置位,外部中止1恳求中止。当CPU呼应中止并转向该中止服务程序执行时,由内部硬件主动清0。
IT1(D2):外部中止1()电平触发方法或许脉冲触发方法操控位。IT1=1时,外部中止1为负边缘触发方法,引脚
上的电平从高到低负跳变有用。IT1=0时,外部中止1为电平触发方法。
上输入低电平有用。
IE0(D1):外部中止0中止恳求标志。假如IT0置1,则当上的电平由1变0时,IE0由硬件置位。在CPU把操控转到中止服务程序时由硬件使IE0复位。
IT0(D0):外部中止源0触发方法操控位,其意义同IT1。
3.TMOD和TCON的操控功用能够经过一个详细的电路结构来加强了解
图3TMOD和TCON操控功用的完成
在图3中,清楚的表明了TMOD和TCON中的操控位对作业方法、守时/计数形式、发动、溢出中止的操控的完成。