单片机原理及接口技术 单片机原理及接口技术 13:41 定时器T0和T1的结构及其与CPU的关系如图6-2所示。 。 有两个 16 位定时器/计数器,即定时器 0 (T0) 和定时器 1 (T1)。 它们都是16位加1计数。 T0由两个8位特殊功能寄存器TH0和TL0组成; T1由TH1和TL1组成。 单片机原理及接口技术 单片机原理及接口技术 13:41 单片机原理及接口技术 单片机原理及接口技术 13:41 单片机原理及接口技术 单片机原理及接口技术 13:41 设置为定时工作模式时,定时器计数 89C51 /S51/S51 片内振荡器输出一个除以12的脉冲,即每个机器周期将定时器(T0或T1)的值加1,直至满溢出。 当89C51/S51/S51使用12MHz晶振时,一个机器周期为1μs,计数频率为1MHz。 单片机原理与接口技术 单片机原理与接口技术 13:41 当输入脉冲信号产生从1到0的下降沿时,定时器的值加1。S5P2时对T0和T1引脚的输入电平进行采样每个机器周期。 如果上一个机器周期的采样值为1,下一个机器周期的采样值为0,则计数器加1。在随后的机器周期S3P1期间,新的值被加载到计数中。 因此,需要两个机器周期来检测1到0的转变,因此最大计数频率为振荡频率的1/24。
虽然对输入信号的占空比没有特殊要求,但为了保证某一电平在变化前至少被采样一次,要求电平保持时间至少为一个完整的机器周期。 输入脉冲信号的基本要求如图6-3所示,其中Tcy为机器周期。 图 6-3 MCU 原理及接口技术 MCU 原理及接口技术 13:41 无论计时还是计数工作模式,定时器 T0 或 T1 在对内部时钟或外部事件进行计数时不占用 CPU 时间,除非定时器/定时器计数器溢出会中断CPU当前的运行。 可见,定时器是单片机中高效、灵活的元件。 每个定时器/计数器除了可以选择定时或计数工作模式外,还有4种工作模式,即每个定时器可以组成4种电路结构模式。 其中,模式0~2对于T0和T1是相同的,模式3对于两者是不同的。 6.2.1 工作模式寄存器 TMOD6.2.2 控制器寄存器 TCON 单片机原理及接口技术 单片机原理及接口技术 13:41 TMOD 不能位寻址,只能用字节来设置定时器的工作模式,低四位设置T0。 高半字节设置 T1。 TMOD的定义格式如图6-4所示。 TMOD的定义和具体含义如图6-4所示。 单片机原理及接口技术 单片机原理及接口技术 13:41 图 6-4 工作模式寄存器位定义 TMOD 定时器 T1 定时器 T0TMOD (89H) D7D6D5D4D3D2D1D0GATEM1M0 单片机原理及接口技术 单片机原理及接口技术 13:41GATEM1M0M1 和 M0—工作模式控制位。
两个比特可以组成四个代码,对应四种模式。 M1M0 工作模式 功能说明 模式 013 位计数器模式 116 位计数器模式 2 自动重载 8 位计数器模式 3 定时器 0:分为两个 8 位计数器 定时器 1:停止计数 表 6-1M1、M0 控制的四种类型工作模式 MCU 原理及接口技术 MCU 原理及接口技术 13:41C/T—计数器/定时器模式选择位。 C/T=0,设置为定时模式。 定时器对89C51/S51片上脉冲进行计数,即对机器周期进行计数。 C/T=1,设置为计数模式。 计数器的输入来自引脚T0(P3.4)或T1(P3.5)处的外部脉冲。 单片机原理和接口技术 单片机原理和接口技术 13:41GATE—门控制位。 GATE=0,只要软件将TR0(或TR1)设置为1,定时器就可以启动,无论INT0(或INT1)的电平是高还是低。 GATE=1,只有当INT0(或INT1)引脚为高电平且TR0(或TR1)被软件设置为1时,定时器才能启动。 单片机原理及接口技术 单片机原理及接口技术 13:41 单片机原理及接口技术 单片机原理及接口技术 13:41 图 6-5 TMOD 定义及具体含义 单片机微机原理与接口技术单片机原理与接口技术13:416.2。 2TCONTCON 的定义格式如图6-6 所示。
TCON的定义和具体含义总结如图6-7所示。 TF1TR1TF0TR0IE1IT1IE0IT0TCON (88H) 8FH8EH8DH8CH8BH8AH89H88H 图 6-6 控制寄存器 TCON 位定义 单片机原理及接口技术 单片机原理及接口技术 13:41TF1 (TCON.7)—T1 溢出标志位。 当T1溢出时,硬件自动将中断触发TF1置1,并向CPU申请中断。 当CPU响应中断并进入中断服务程序时,TF1被硬件自动清0。 TF1也可以通过软件清0。 单片机原理和接口技术 单片机原理和接口技术 13:41TF0 (TCON.5)—T0 溢出标志位。 其功能和操作与TF1相同。 当T0溢出时,硬件自动将中断触发TF0置1,并向CPU申请中断。 当CPU响应中断并进入中断服务程序时,TF1被硬件自动清0。 TF1也可以通过软件清0。 单片机原理与接口技术 单片机原理与接口技术 13:41TR1(TCON.6)—T1 操作控制位。 T1 操作可以通过软件设置1(TR1=1)或清0(TR1=0)来启动或停止。 程序中使用指令“SETBTR1”将TR1位设置为1,定时器T1开始计数。 使用“CLRTR1”将TR1清0,定时器停止工作。 单片机原理及接口技术 单片机原理及接口技术 13:41TR0(TCON.4)—T0 操作控制位。
其功能和操作与TR1相同。 通过软件将T0置1(TR0=1)或清0(TR0=0)即可关闭T0。 程序中使用指令“SETBTR0”将TR0位设置为1,定时器T0开始计数。 使用“CLRTR0”将TR0清0,定时器停止工作。 单片机原理及接口技术 单片机原理及接口技术 13:41IE1、IT1、IE0、IT0(TCON.3~TCON.0)——外部中断INT1、INT0请求及请求模式控制位。 上一章已经提到过。 单片机原理及接口技术 单片机原理及接口技术 13:41 单片机原理及接口技术 单片机原理及接口技术 13:41 图 6-7 TCON 定义及具体含义 单片机单片机原理与接口技术 单片机原理与接口技术 13:41 6.3 89C51/S51单片机的定时器/计数器T0和T1可以通过软件设置到特殊功能寄存器TMOD中的控制位C/T来选择计时功能或计数功能。 M1和M0位的设置对应4种工作模式,即模式0、模式1、模式2和模式3。在模式0、模式1和模式2下,T0和T1的工作模式相同; 方式3中,两个定时器的工作方式不同。 模式0为TL0(5位)、TH0(8位)模式,模式1为TL1(8位)、TH1(8位)模式,其余完全相同。
通常模式0很少使用,经常被模式1代替。本章不介绍模式0。 6.3.1 逻辑电路结构:模式下的T0如图6-8所示。 (同T1) 2. 模式工作特点 3. 模式应用实例 单片机原理与接口技术 单片机原理与接口技术 13:41 单片机原理与接口技术 单片机原理与接口技术13:41 图 6-8 T0(或 T1)模式 1 结构——16 位计数器 2、模式 1 工作特性 16-T0 初始值)振荡周期 12 16-T0 初始值)(外部脉冲) TH0 TL0 单片机原理及接口技术 单片机原理与接口技术 13:41 三、模式1应用实例 单片机原理与接口技术 单片机原理与接口技术 13:41 解决方法: 1)确定定时器T1的初值,用T1计时10ms。 当时间达到P1.1引脚电平时,电平反转。 12 振荡周期初始值) 计时时间:12 振荡周期初始值 12 10 12 初始值(TH1)= ECH,(TL1)= 78H 20ms 10ms 10ms 单片机原理及接口技术 单片机原理及接口技术 13:41 解法: 2)确定工作模式寄存器TMOD的值的高四位:GATE=0,C/T=0,M1M0=01(TMOD)=00010000 10H3)程序查询模式编程MOV TMOD,#10H; T1模式1,时序SETB TR1; 启动T1循环:MOV TH1,#0D8H; 加载T1的初始计数值 MOV TL1,#0F0H JNB TF1,$; T1没有溢出,等待CLR TF1; 发生溢出,清除标志位CPL P1.1; P1.1反相,输出SJMP LOOP; Loop 单片机原理与接口技术 单片机原理与接口技术 13:41 单片机原理与接口技术 单片机原理与接口技术 13:41 4) 中断模式编程 ORG 0000H; 主程序复位:AJMP MAIN; 跳过中断服务程序区 ORG 001BH AJMP IT1P ORG 0030H MAIN: MOV SP, #60H; 复位堆栈指针 MOV TMOD,#10H; 设置T1为模式1 MOV TH1,#0D8H; 发送初始值MOV TL1,#0F0H SETB ET1; T1中断使能SETB EA; CPU启动中断SETB TR1; 此处开始计时:SJMP 此处; 等待中断,虚拟主程序ORG 0120H; 中断服务程序IT1P:MOV TH1,#0D8H; 重新设置为初始值 MOV TL1, #0F0H