本帖最后由 qwettyuio 于 2022-1-21 10:29 编辑
想用定时器2定时15秒。控制LED灯,只有按键按着的时候LED亮,松开不亮,定时器2没有控制
功能是,按键按下,LED亮,定时器2启动计时15s,15s后LED不亮,定时器2停止
void Time2_Init()
{
back = 0;
mTimer2Clk12DivFsys();
mTimer_x_ModInit(2,1);
mTimer_x_SetData(2,0xC350);
mTimer2RunCTL(0);
ET2 = 1;
EA = 1;
}
void mTimer2Interrupt( void ) interrupt INT_NO_TMR2 using 3 //timer2中断服务程序,使用寄存器组3
{
if(TF2)
{
TF2=0;
mTimer_x_SetData(2,0xC350);
back++;
if(back==300)
{
back=0;
if(key1==1)
{
led0=1;
mTimer2RunCTL(0);
}
}
}
}
void main( )
{
CfgFsys( );
Time2_Init();
Init_1621();
HT1621_all_off();
Port1Cfg(1,3);
Port1Cfg(1,1);
Port3Cfg(1,0);
Port3Cfg(1,3);
Port3Cfg(1,4);
Port3Cfg(1,5);
while(1)
{
Write_1621(10,0X80,4);
Write_1621(30,0X10,4);
if(key1==0)
{
led0=0;
mTimer2RunCTL(1);
}
}
}
|