请问大家有没有定时器的例子
请问大家有没有定时器的例子,我想在一个程序里,按一个按钮后,当到一定时间时,LED1灯亮起来,另一时段时LED2也亮起来
void main(void)
{
init_sys();
delay_ms(900);
tx_buf("testtesttestest",16);
lcm_init();
while(1)
{
if(key_1=1){亮第二个灯;key_1=0;}
}
}
void Timer0(void) interrupt 1
{
TH0=(65535-10000)>>8;
TL0=(65535-10000)&0X00FF;
if(key==0)
{
if(kcnt<200)kcnt++;
if(kcnt==2)key_1=1;
}
else kcnt=0;
key=1;
}
[解决办法]
程序懒得写了,给你一个思路吧,使用单片机的定时器\计数器功能,工作再定时器模式,两个定时器的定时时间不同,再进行键盘扫描,扫描到有按键按下时开中端和定时器;在终端函数里点亮LED灯,由于定时时间不一样,会在不同的时间点亮
另一个办法就是自己写延时函数了
推荐第一个种,能加深定时终端的了解
[解决办法]
支持二楼,不过也不用使用两个定时器,直接在定时器中断中进行计数,代替延时,然后也能够保证Led2每次都在Led1后亮