AT89S52的定时器/计数器是一种可编程部件,在定时器/计数器开始工作之前,CPU必须将一些命令(控制字)写入定时/计数器。 本文来自www.eadianqi.com 例如:选择哪一个定时器/计数器在何种工作方式下工作? 本文来自www.eadianqi.com 是用作定时器计时功能还是用作计数器的计数功能? 本文来自www.eadianqi.com 是否启动定时器/计数器的运行? 自动控制网www.eadianqi.com版权所有 …… 自动控制网www.eadianqi.com版权所有
这些设置的功能是通过对特殊功能寄存器TMOD和TCON的设置来实现。在初始化过程中,要将工作方式控制字写入方式寄存器(初始化工作的一部分),工作状态字写入控制寄存器,CPU就会按设定的工作方式独立运行。 本文来自www.eadianqi.com 1.定时器/计数器方式寄存器TMOD 自动控制网www.eadianqi.com版权所有
定时器/计数器方式控制寄存器TMOD在特殊功能寄存器中,字节地址为89H。TMOD不能进行位寻址,只能用字节传送指令设置定时器工作方式,低半字节定义为定时器/计数器0,高半字节定义为定时器/计数器1。复位时,TMOD所有位均为0。TMOD的格式 本文来自www.eadianqi.com 如下表所示。 本文来自www.eadianqi.com
M1、M0:工作方式选择位。用来定义定时器/计数器的四种工作方式。 本文来自www.eadianqi.com
C/:功能选择位:C/位为定时器方式或计数器方式选择位。C/=1时,为计数器方式;C/=0时,为定时器方式。 自动控制网www.eadianqi.com版权所有 GATE:门控制位,确定定时器的开启与关闭。当GATE=0时,只要定时器控制寄存器TCON中的TR0(或TR1)被置1时,T0(或T1)被允许开始计数(TCON各位含义见后面叙述)。 自动控制网www.eadianqi.com版权所有 当GATE=1时,外部中断引脚或的输入电平控制T0或T1的开启与关闭。 自动控制网www.eadianqi.com版权所有 2.定时器/计数器控制寄存器TCON 本文来自www.eadianqi.com TCON是T0和T1的控制寄存器,它同时也用来锁存T0、T1的溢出中断请求源和外部中断请求源。TCON寄存器复位时为00H,可以进行位寻址。定时器/计数器控制寄存器TCON字节地址为88H。TCON寄存器各位定义如下表 自动控制网www.eadianqi.com版权所有
TCON中各标志位的功能是: 本文来自www.eadianqi.com TF1(D7):定时器1溢出标志位。当T1计满溢出时,由硬件使TF1置1,申请中断。进入中断服务程序后,由硬件自动清0,在查询方式下用软件清0。 自动控制网www.eadianqi.com版权所有 TR1(D6):定时器1运行控制位。TR1置1,启动定时器1;TR1置0则停止工作。TR1由软件置1或清零 自动控制网www.eadianqi.com版权所有 TF0(D5):定时器0溢出标志。其功能及操作情况同TF1。 本文来自www.eadianqi.com
TR0(D4):定时器0运行控制位。其功能及操作情况同TR1。 本文来自www.eadianqi.com IE1(D3):外部中断1中断请求标志。IT1=1时,外部中断1引脚上的电平由1变0时,IE1由硬件置位,外部中断1请求中断。当CPU响应中断并转向该中断服务程序执行时,由内部硬件自动清0。 自动控制网www.eadianqi.com版权所有 IT1(D2):外部中断1()电平触发方式或者脉冲触发方式控制位。IT1=1时,外部中断1为负边沿触发方式,引脚上的电平从高到低负跳变有效。IT1=0时,外部中断1为电平触发方式。上输入低电平有效。 自动控制网www.eadianqi.com版权所有
IE0(D1):外部中断0中断请求标志。如果IT0置1,则当上的电平由1变0时,IE0由硬件置位。在CPU把控制转到中断服务程序时由硬件使IE0复位。 本文来自www.eadianqi.com IT0(D0):外部中断源0触发方式控制位,其含义同IT1。 自动控制网www.eadianqi.com版权所有
3.TMOD和TCON的控制功能可以通过一个具体的电路结构来加强理解 自动控制网www.eadianqi.com版权所有 图 TMOD和TCON控制功能的实现 在图中,清楚的表示了TMOD和TCON中的控制位对工作方式、定时/计数模式、启动、溢出中断的控制的实现。 自动控制网www.eadianqi.com版权所有
|