51单片机T0工作于方式3的时候,这时T1口不能用作定时器和中断,是因为会产生冲突吗?
例如:我写成TMOD=0x13;这时定时器1工作于方式1,定时器0工作于方式3,当我启动TR1=1的时候,由于T0工作在方式3情况下,TH0计满会使TF1置位,这跟定时器...
例如:我写成TMOD=0x13;这时定时器1工作于方式1,定时器0工作于方式3,当我启动TR1=1的时候,由于T0工作在方式3情况下,TH0计满会使TF1置位,这跟定时器T1计满以后置位产生了冲突,所以当定时器T0工作在方式3的情况下,T1就不能用于定时器/中断模式的原因吗?另外,还有一个问题,如果T0工作在方式3的时候同时也要用到T1,T1只能用在串口通讯模式下,对吗?
如果我让T0工作在方式3的情况下,想关闭T1定时器,是不是TMOD要设为0x33? 展开
如果我让T0工作在方式3的情况下,想关闭T1定时器,是不是TMOD要设为0x33? 展开
展开全部
51单片机T0工作于方式3的时候,T0占用了T1的资源。
这时,用 T1 计数、定时,也都还可以,但是,T1 不能中断了,只能用查询的方法。
T1,此时仅仅适合于用于控制串口的波特率。
控制波特率时,T1,一般都是设置为方式2。
想关闭T1定时器,是不是TMOD要设为0x33?
对。
如果,想要 T1 停止工作,把 T1 设为方式3,它就停了。
这时,用 T1 计数、定时,也都还可以,但是,T1 不能中断了,只能用查询的方法。
T1,此时仅仅适合于用于控制串口的波特率。
控制波特率时,T1,一般都是设置为方式2。
想关闭T1定时器,是不是TMOD要设为0x33?
对。
如果,想要 T1 停止工作,把 T1 设为方式3,它就停了。
追问
我的理解是,51单片机T0工作于方式3的时候,T0占用T1资源,T1的计数、定时中断都是通过TH0溢出产生的,而不能再通过给T1赋初值,加1计数来产生中断,是这样吗?
T1,此时仅仅适合于用于控制串口波特率,意思是否是:如果选用了T0的方式3,可以通过T0的TL0加1计数来控制T0的定时,计数,TH0用来控制串口波特率。这样使T0工作在方式3的情况下TMOD=0x03时,既可以让T0作为定时器,又可以让T1做串口通信?
追答
1.T0工作于方式3的时候,T0占用了T1资源。
此时,用 T1 的方式0、方式1、方式2,计数、定时,都可以。
但是不能出现中断了,只能查询当前的数值。
T1 的启动、停止,也不方便。
所以,一般就不使用 T1 进行计数和定时了。
2.T0工作于方式3的时候,T1 最适合的工作,就是控制波特率。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询