51单片机定时器0工作于方式3 此时定时器1工作于方式0、1、2时如何启动?

如题所述

定时器0工作于方式3 时,占用了定时器1的TR1和TF0。
此时,定时器1只能工作于“串口波特率发生器”的模式。
把定时器1,按照“波特率发生器”的模式设置,写入初始值即可正常工作。
看看书去吧,有这方面的说明的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-12
我来回答:定时0工作于方式3分成两个定时器TH0,TL0,占用了T1的TR1和TF1,此时T1不可在、工作于中断方式,实际上想要使用T1也只能把它作为串口波特率发生器了,系统默认T1的工作方式为00,可以自己配置TMOD,配置好后T1自动开始工作,不需要TR1 =1 操作,但是有个问题如何让T1停止工作?呵呵,只要将TMOD的高4为配置为11,让它工作方式为3,T1就停止工作了。
第2个回答  2012-01-31
若将T0设置为模式3,TL0和TH0被分成为两个相互独立的8位计数器。
TL0使用T0的各控制位、引脚和中断源,其操作模式和模式0、1相同。
TH0用于简单的内部定时,它占用定时器T1的控制位TR1和TF1,其启动和关闭仅受TR1的控制。
TH0仅占用T1的与中断有关的IE中的位,但并未占用TMOD中的位,TMOD中的T1的控制位仍然由T1使用。
定时器T1无工作模式3,若T1设置为模式3,就会使T1立即停止计数。
T1仍可设置为模式0~2,由于TR1和TF1被定时器T0占用,计数器开关已被接通,此时,仅用T1控制位C/T切换其定时器或计数器工作方式就可使T1运行。寄存器(8位、13位或16位)溢出时,只能将输出送入串行口或用于不需要中断的场合。一般情况下,当定时器T1用作串行口波特率发生器时,定时器T0才设置为工作模式3。此时,常把定时器T1设置为模式2,用作波特率发生器。
第3个回答  2012-01-29
TMOD  TMOD:定时器/计数器模式控制寄存器(TIMER/COUNTER MODE CONTROL REGISTER)   定时器/计数器模式控制寄存器TMOD是一个逐位定义的8位寄存器,但只能使用字节寻址,其字节地址为89H。   其格式为:   TMOD结构图
=================================================================================   其中低四位定义定时器/计数器T0,高四位定义定时器/计数器T1,各位的说明:   Ⅰ,GATE——门控制。   ●GATE=1时,由外部中断引脚INT0、INT1来启动定时器T0、T1。   当INT0引脚为高电平时TR0置位,启动定时器T0;   当INT1引脚为高电平时TR1置位,启动定时器T1。   ●GATE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。   Ⅱ,C/T——功能选择位   C/T=0时为定时功能,C/T=1时为计数功能。   置位时选择计数功能,清零时选择定时功能。   Ⅲ,M0、M1——方式选择功能   由于有2位,因此有4种工作方式   ================================================================   M1M0 工作方式 计数器模式 TMOD(设置定时器模式)   0 0 方式0 13位计数器 TMOD=0x00   0 1 方式1 16位计数器 TMOD=0x01   1 0 方式2 自动重装8位计数器 TMOD=0x02   1 1 方式3 T0分为2个8位独立计数器,T1为无中断重装8位计数器 TMOD=0x03追问

不知道你是不是没有理解我的问题,我的问题重述一遍是:当51单片机的定时器/计数器0工作于方式3时我们知道TL0会作为一个8位定时器/计数器,并占用TF0和TR0,以及TMOD中的低四位;此时TH0是一个8位的定时器,占用TF1和TR1.那么我的问题是:此时若定时器/计数器1工作于方式0或1或2时,如何在模式设置之后启动定时器/计数器1,我的疑惑在于此时TR1被TH0给占用了,如何启动T1呢?

追答

一般情况下当T0设置在工作方式三下时,T1就被设置了工作方式三。不过按照书介绍工作方式三的奇特性一般很少使用了,现在一般使用MODE 2替代。
在百度上搜 第6章 定时计数器 mcs-51单片机教案 有介绍

本回答被网友采纳