标题:
同时使用两个定时器,定时器T0 无法实现定时,请指教!!!!
[打印本页]
作者:
luyangood
时间:
2017-7-7 17:36
标题:
同时使用两个定时器,定时器T0 无法实现定时,请指教!!!!
void TimerConfiguration()
{
TMOD = 0x11; //选择工作方式1
TH0 = 0x3C; //设置初始值
TL0 = 0xB0;
TH1 = 0xB1;
TL1 = 0xE0;
EA = 1; //打开总中断
ET0 = 1;
ET1 = 1;
//打开定时器0中断
//TR0 = 0; //启动定时器0
}
void Timer0() interrupt 1 using 1
{
TH0 = 0x3C;
TL0 = 0xB0;
aa++;
}
void Timer1() interrupt 3 using 2
{
TH1 = 0xB1;
TL1 = 0xE0;
bb++;
}
void scan_k1() //按键扫描
{
if(k1==1)bb=0;
if(k1==0)
{
Delay10ms(10);
TR1=1;
if((bb>2)&&(k1==1))
{
set++;
TR1=0;
if(set==7)
set=0;
}
}
}
while(set==1)
{ //TimerConfiguration();
scan_k1();
if(set==1)
if(aa==72) 时间到了不停止!!
if(flag1==0)
{
G1=1;
TR0=0;
set=0;
soft_reset();
}
else
{
flag1=0;
}
else
{
LED1=0;
LED2=1;
LED3=1;
G1=0;
TR0=1;
}
}
作者:
虫虫飞
时间:
2017-7-7 19:48
你这个程序有点晕,set 初始化是什么,
作者:
wulin
时间:
2017-7-7 20:22
程序中两个定时器冲突 , 改if(aa>=72) 试试,只要两个定时器中断时间有共倍数关系用一个定时器就可以解决,
作者:
luyangood
时间:
2017-7-8 22:55
wulin 发表于 2017-7-7 20:22
程序中两个定时器冲突 , 改if(aa>=72) 试试,只要两个定时器中断时间有共倍数关系用一个定时器就可以解 ...
谢谢你的意见!试了不行,我用ISIS仿真只有当K1处于闭合状态下上电可以定时(定时器T0有作用 aa的值有用)
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1