現在是接通電源后,流水燈直接亮,那如何修改讓它接通電源后,按下按鍵P2.0后流水燈開始運行 /********************************************************** 霓虹燈模擬控制主程序 **********************************************************/ #include<AT89X52.h> unsigned char i10,i8,i6; unsigned charmod1,mod2; void main(void) { i10=10; //設置軟件計數10次,每次100ms i8=8; //設置循環點亮階段輸出次數 i6=6; //設置間隔閃爍階段輸出次數 mod1=0x01; //設置循環點亮階段控制碼初值 mod2=0xAA; //設置間隔閃爍階段控制碼初值 F0=0; //設置循環點亮階段標志,F0=0為循環點亮階段 TMOD=0x10; //設置T1方式1定時 TH1=0x3C; //送100ms定時初值 TL1=0xB0; IE=0x88; //允許T1中斷 P1_0=1 // TR1=1; //啟動T1定時 while(1); //等待中斷 }
/********************************************************** T1中斷服務程序 **********************************************************/ void timer0(void) interrupt 3 using 1 { TH1=0x3C; //100ms時間到,重裝定時初值 TL1=0xB0; i10--; if(i10==0) { i10=10; //1s到重設軟件計數器 if(F0==0) { P1=~mod1; //循環點亮階段控制碼取反送P1口 mod1= mod1<<1; //mod1值左移一位 i8--; if(i8==0) { i8=8; //完成重設循環點亮階段輸出次數 F0=1; //設置間隔閃爍階段標志 } } else { P1=mod2; //輸出間隔閃爍階段控制碼 Mod2=~mod2; //控制碼取反 i6--; if(i6==0) { i6=6; //完成重設間隔閃爍階段輸出次數 F0=0; //設置循環點亮階段標志 } } } }
|