第1个回答 2015-05-02
用应该可以吧中断吧
没写主函数;自己调用应该就行了
unsigned int i;
void Init_Timer1(void)
{
TMOD |= 0x10; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响
TH1=0xd1;
TL1=0x1f; //给定初值,一直到65535溢出
EA=1; //总中断打开
ET1=1; //定时器中断打开
TR1=1; //定时器开关打开
}
void Timer1_isr(void) interrupt 3 using 1
{
TH1=0xd1;
TL1=0x1f; //重新赋值
i++;
if(i=1000)
{
i=0;//1s到达
/*****************/
}
}
没试过 不知行不行!!!
第2个回答 推荐于2017-10-09
你好!
void init() //定时器T0初始化 1秒
{
EA=1;
ET0=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
}
void time0() interrupt 1 //进入中断
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}本回答被提问者和网友采纳
第3个回答 2015-05-02
定时器定时一次,最大是 65536 us。
重复几次,即可。