51单片机一个定时器两个计数器能同时工作吗?

如题所述

可以的! 但需要初始化! 例如一个定时器用于串口的波特率产生,另外一个则可以用作计数器

void init_uart() void
{
TMOD = 0x20; //定时器T1使用工作方式2
TH1 = 253; // 设置初值
TL1 = 253;
TR1 = 1; // 开始计时
SCON = 0x50; //工作方式1,波特率9600bps,允许接收
ES = 1;
EA = 1; // 打开所有中断
TI = 0;
RI = 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-10-18
51不能 就两个定时/计数器 一个是T0 一个是T1 做定时就不能做计数 做计数就不能定时
还可以:
可以两个定时 一个做波特率发生器;
也可以 一个定时 一个计数 一个做波特率发生器;
第2个回答  2010-10-06
能啊,只要设置好控制寄存器就成好像是PCON,时间长了具体的有点忘了,这几个好像得设置初值
第3个回答  2010-10-06
不能

51单片机一个定时器两个计数器能同时工作吗?
可以的! 但需要初始化! 例如一个定时器用于串口的波特率产生,另外一个则可以用作计数器!void init_uart() void { TMOD = 0x20; \/\/定时器T1使用工作方式2 TH1 = 253; \/\/ 设置初值 TL1 = 253;TR1 = 1; \/\/ 开始计时 SCON = 0x50; \/\/工作方式1,波特率9600bps,允许接收 ES =...

如何让c51单片机多个定时计数器同时工作
C51单片机的定时\/计数器是可以同时工作的,如果用作定时器,它的计数时基就是时钟分频得来,各个定时器会共用一个时钟,只要设置好定时\/计数器的工作模式,设置初值,然后就可以启动定时\/计数器了.用作计数器时它的时基就变成外输入而已,原理是一样的.

51单片机两个定时器同时走吗
同时进行,互不干扰。单计数器溢出时进行一次中断,然后继续计数。切记,避免同时进入中断,否则程序会絮乱。但是设置优先级,能够解决这种问题。

怎样使一个定时器定时另一个同时在计数,高手赶快出现帮忙解决啊_百度知 ...
我不知道你用的是什么单片机,我就以51单片机为例讲解.两个定时\/计数器都开,一个设置为定时,一个设置为计数,在特殊功能寄存器TMOD中的C\/T中可以设置,TMOD左边四位控定时\/计数器1,右边四位控定时\/计数器0.C\/T为1,表示counter计数器,C\/T为0表示timer定时器.定时\/计数器1和定时\/计数器0设置的方法...

51单片机两个定时器能共用吗
可以。可以运行,在执行A中断程序时,来了B中断,A的中断优先级高于B,B的中断请求将不被得到响应,51单片机有两个定时器,这两个定时器可以工作,互不影响。

51单片机同时使用两个计时器的问题
这样 void main(){ TIMER_ini();while(1){ TEMP[0]=NUMBER[num\/1000];TEMP[1]=NUMBER[num\/100%10];TEMP[2]=NUMBER[num\/10%10];TEMP[3]=NUMBER[num%10];display(4,4);} } 问题就解决了。最后就一句,那计数是很快了,是每秒计一个数吗,还是就是计数?这样改,要关掉定时器T1的...

51单片机可以同时使用两个timer0吗
该情况不可以。51单片机可以同时使用两个定时器,分别是timer0和timer1,但不可以使用两个timer0。定时器0和定时器1都有自己的寄存器,可以独立设置计时器的时钟源、计时模式和计时时间。同时使用两个定时器可以实现更复杂的计时功能,如同时计时两个不同的事件。

51单片机如何同时使用定时器和计数器采集数据?
TMOD=0x51;\/\/定时器1作为计数器,定时器0作为定时器用 TH1=0;\/\/计数器清0 TL1=0;EA=1;\/\/开总中断 ET0=1;\/\/允许定时器0中断 TH0=0x4c;TL0=0x5c;TR1=1;\/\/启动计数器 TR0=1;\/\/启动定时器 aa=0;} void write_com(uchar com)\/\/向液晶屏写命令 { db=com;rs=0;rw = 0;lcden=...

51单片机T的两个计时器怎么同时使用
使用定时器首先要设置定时器的工作方式,在TMOD这个特殊寄存器设置,再设置初值,定多长时间,最后开定时器中断

51单片机可以两个定时器同时使用吗
两个定时器使用没有什么特殊设置,但是有一个经验你必须明白,中断里面重新对定时器赋值的操作必须放在中断处理的头端,否则会有一个整个中断处理的时间延时。如:void timer1()interupt3 using1 { ... \/\/如果这里的...程序段太长,那么每次中断就慢了处理这段程序的时间 TH1=0X..TL1=0X......

相似回答