请问怎么同时使用51单片机的定时器0和定时器一进行定时啊? (请各位高手指点下,完整解决问题者再加50分

如题所述

定时,也不需要用两个定时器呀。
用T0定时,T1控制波特率,一般就够用了。

你看电子时钟:时时:分分:秒秒。
秒,是1秒加一次一;
分,是60秒加一次一;
时,是3600秒加一次一。
可能还有定时打铃的时刻等等。
这么多事,用一个T0定时就都解决了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-21
你是产生两路PWM吧,注意定时中断不能过短,否则始终在一个中断中,另一个被屏蔽本回答被提问者采纳
第2个回答  2011-12-14
;定时部分的程序:
MOV TMOD,#0021H
MOV TH0,#0FCH;
MOV TL0,#0B8H;方式0初值,定义1毫秒
MOV TH1,#3CH;
MOV TL1,#0B0H;方式1定义50毫秒
SETB TR0
SETB ET0;启动定时器0
SETB TR1
SETB ET1;启动定时器1
SETB EA追问

请用C语言编写好么?

追答

void Timer_Init()
{
TMOD = 0X21;
TH0 = 0XFC; 定时器0定义1毫秒的初值(晶振12MHz)
TL0 = 0XB8;
TH1 = 0X3C; 定时器1定义50毫秒的初值
TL1 = 0XB0;
TR0 = TR1 = 1;
ET0 = ET1 = 1;
EA = 1;
}

第3个回答  2011-12-13
没问题啊,直接用就好了,你遇到什么问题?追问

可是我同时用定时器0和定时器1只有定时器0工作啊!你知道这是什么原因呢?