1、单片机定时器的使用 第一部分:51 系列定时 器 定时/计数器 0 和定时/计数器 1 都有 4 种定时模式。 16 位定时器对内部机器周期进行技术,机器周期加 1,定时器值加 1,1MHZ 模式下,一个机器周期为 1us 。 定时器工作模式寄存器 TMOD,不可位寻址,需整体赋值,高 4 位用于定时器 1,第四位用于定时器 0。 C/T:为定时器功能选择位,C/T=0 对机器周期计数,C/T=1,对外部脉冲 计数。 GATE:门控位, GATE=0,软件置位 TRn 即可启动计时器, GATE=1 需外 部中断引脚为高电平时才能软件置位 TRn 启动计时器,一般取 GATE=0。 定时器控制
2、寄存器 TCON TFn: Tn 溢出标志位,当定时器溢出时,硬件置位 TFn,中断使能的情况 下,申请中断,CPU 响应中断后,硬件自动清除 TFn。中断屏蔽时,该位一般 作为软件查询标志,由于不进入中断程序,硬件不会自动清除标志位,可软件 清除。 TRn:计时器启动控制位,软件置位 TRn 即可启动定时器,软件清除 TRn 关闭标志位。 IEn:外部中断请求标志位。 ITn:外部中断出发模式控制位,ITn=0 为低电平触发, ITn=1 为下降沿触 发。 中断允许控制寄存器 IE EA(IE.7):全局中断控制位。 EA=1 开全局中断,EA=0 关闭全局中断。 IE.6 无意义。 ETn
3、:定时器中断使能控制位。置位允许中断,清除禁止中断。 ES:串行接收/发送中断控制位,置位允许中断。 EXn:外部中断使能控制位。置 1 允许,清 0 禁止。 中断优先级控制寄存器 IP,复位后为 00H IP.6,IP.7 保留,无意义。 PT2:定时器 2 中断优先级控制,置 1 设为高优先级,清 0 置位低优先级。 PS:串行中断优先级控制位。 PT1/0:定时器 1/0 优先级控制位,置 1 高,清 0 低。 PXn:外部中断优先级控制位。 当有同级中断同时响应,按 IE0TF0IE1TF1IE0RI+TI TF2 顺序依次响应。 定时器模式 0 的使用 TMOD&=0xf0/TMOD
4、&=0x0f TL0 高 3 位不用,低 5 位溢出时,直接向 TH0 进位。 通过设置 TH0 和 TL0 初值(08191 ) ,使计数器从初值开始加 1,溢出后 申请中断,溢出后需重新设置初值,否则将从 0 开始加 1 计数。 T=(模值-初值)*机器周期,初值为 8191 位技术最小值 1,初值为 0 为计数 最大值 8191。 定时器模式 1(TMOD=0xf1/TMOD=0x1f) 模式 1 和模式 0 功能相同,但模式 1 位 16 位。 定时器模式 2(TMOD=0x2f/0xf2) 模式 2 构成自动重装的 8 位定时器,计数器的范围为 0256 TH 作为初值寄存器,TL
5、作为计数寄存器。TL 溢出时,置位中断标志位, 并且把 TH 中的值自动装入 TL。 定时器模式 3,模式 3 只适用于定时器 0 模式 3 时定时器构成 2 个独立的 8 位计数器。 此模式下,TL0 和模式 0,1 状态一样可以做计数和定时。TH0 只能用于定 时不能用于计数,并占用 T1 的资源 TF1 和 TR1。 定时器 2 的使用 在 AT89S52,AT89S53 和 AT89S8253 中增加了定时器 2 的使用。 T2 和 TH2, TL2,T2CON,T2MOD ,捕捉重装寄存器 RCAP2L 和 RCAP2H T2 控制寄存器 TF2:溢出中断标志位。 RCLK:串行口接
6、收时钟选择位,用它可以选择 T1 或 T2 作为串行口发送 时钟。RCLK=1 ,T2 作为串行口时钟,RCLK=1, T1 作为串口发送时钟。 EXEN2:T2 外部允许控制位, EXEN2=1,若 T2 未用于波特率发生器, T2EX 引脚出现负跳变时将导致 T2 发生捕获或充装载。并置位 EXF2 标志位请 求中断。该位清 0,外部引脚无效。 C/T2:定时或技术方式选择位。 CP/RL2:T2 捕获或重装控制位,该位为 1,选择捕获功能,此时若 EXEN2=1,T2EN 引脚出现负跳变将发生捕获操作,即把 T2H 和 T2L 内容传送 给 RCAP2H 和 RCAP2L。该位为 0,选
7、择重装功能,此时若 T2 溢出,或 EXEN2=1 且 T2EN 引脚上出现负跳变,都会把 RCAP2H 和 RCAP2L 的值送入 T2H 和 T2L。 T2 模式控制位 T2OE:T2 输出允许控制位。T2OE=1 允许时钟输出到 T2/P1.0 引脚, T2OE=0 禁止输出。 DECN:加/减计数控制位,该位为 1,允许 T2 作为加减计数器使用,方向 由 T2EN 控制, T2EN 为 1,进行加计数,T2EN 位 0 进行减计数。该位置 0,T2 自动向上计数。 T2 工作模式的选择由 RCLK,TCLK,CP/RL2 ,T2OE,CT2 ,和 TR2 来 决定。 第 2 部分,STC12C5624AD 定时器使用