本帖最后由 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);
}
}
}
|