51单片机两个定时器同时走吗

作者&投稿:姬裘 (若有异议请与网页底部的电邮联系)
51单片机两个定时器一起用,该怎么设置啊?~

两个定时器使用没有什么特殊设置,但是有一个经验你必须明白,中断里面重新对定时器赋值的操作必须放在中断处理的头端,否则会有一个整个中断处理的时间延时。如:
void timer1()interupt3 using1
{
... //如果这里的...程序段太长,那么每次中断就慢了处理这段程序的时间
TH1=0X..
TL1=0X..
... //如果把处理程序放在这里,那么慢的是2个指令周期(重载)
}
所以时间要求特别严格的程序,一般建议使用方式2自动载入。

D1=0,D1=1,这俩应该放到If里面

TF0=0;//关闭定时器0

TF1=1;打开定时器1
D1=0;//LED灭
while(1)
{
if(aa==20)
{
aa=0;

D1=1;//LED亮,持续亮两秒,

TF1=0;
TF0=1;

}
if(bb==40)
{
bb=0;

D1=0;//LED灭一秒

TF0=0;

TF1=1;

}
}
并且在程序开始处开启定时器1(也就是先执行的定时器),但是要注意,你现在是两个定时器同时工作,应该在if中关闭当前的定时器,并打开另一个定时器

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

51单片机在同时使用两个定时器时候,我的为什么T0总是不好使??
答:你两个定时器定时50ms中断同时到达中断,你觉得可能吗, T1高于T0,肯定先执行T1,问题就出现在这里。

单片机中用到多个定时计数器怎么办,可以复用吗?怎么用,我要三个计时...
答:定时器都是在中断方式下使用,多个定时器同时使用没有任何问题。使用它们时各有各的中断地址,互不影响。要用3个定时器,要看选的单片机有没有那么多,一般的最多两个。高档一些的才有3个以上的定时器。

51单片机怎么同时开启T0和T1,我有个程序使用了两个定时器,但是只有T1...
答:TMOD=0001 0111,这样T0工作在方式3,T1会受影响。T1不能当计数器用。改为:TMOD=0001 0101(15H)

51单片机同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1...
答:1,通过程序可以看出,Timer0的中断周期比Timer1的中断周期长,那么定时器0控制频率,定时器1控制这个频率持续的时间的说法可能有误;2,uchar b,a,c;中的“b”最大值不会超过255,那么b=temp[c]能行吗?当c = 0时,temp[c] = 20000,uchar b是不能=uint temp的,除非你的51编译器比较特殊...

51单片机的T0或T1可以同时作为定时器又作为I/O口使用吗?这样做时两个...
答:T0 T1式定时器/计数器,当定时或计数完成时,单片机产生中断,在中断服务程序中,你可以进行I/O控制,例如T0的输出可以作为T1的输入脉冲。

51单片机3个定时器同时使用的问题
答:定时本身不会冲突的,除非程序中有修改的,你可以简单的测试下即可知道是否定时器的问题,还是你程序本身有问题。比如用定时T0定时一个闪灯,定时器1定时第二个个闪灯,定时器2定时第三个闪灯,即可看出来是否都在正常运行了,把他们的时间都定义不同更好看效果。

51单片机定时器与主程序是并发工作吗?
答:对,是并行工作的。CPU 执行程序。定时器、串行口、中断系统...,都独立的工作,不用 CPU 干预。

51单片机定时器值使用T0,TMOD=0x01;两定时器T0、T1同时使用,TMOD=0x1...
答:TMOD=0x10;TMOD(定时器/计数器模式控制寄存器)低4位是控制T0的,高4位就是控制T1的了.TMOD=0x01 正好是第四位的M0=1;M1=0; T0模式1 16位计数模式 同理运用于T1 2个定时/计数器都只占4位。

51单片机定时器和计数器如何同步启动
答:办法如下:1、设置好定时器和计数器的工作模式和计数器初值,在定时器和计数器的配置寄存器中,确保两者都被使能。2、在代码中通过适当的延时或等待条件的方式,保证定时器和计数器同时启动,在主程序中等待定时器和计数器完成一轮计数后再执行其余操作,即可同步启动。

51单片机如何同时使用定时器和计数器采集数据?
答:TIMER1作计数器,TIMER0作定时器。不能只用一个同时做两件事的。