|
請(qǐng)教為何while(j<10)時(shí),LED燈正常閃爍5次,但是將while(j<10)改成while(j<5),LED燈進(jìn)入無限閃爍狀態(tài)?我本以為燈會(huì)閃爍2次。
- /*************************************************
- *實(shí)驗(yàn)名:定時(shí)器實(shí)驗(yàn)
- *實(shí)驗(yàn)效果:第一個(gè)led燈以500ms一次的精確頻率閃爍,共閃爍5次;
- *************************************************/
- #include<reg52.h>
- sbit led = P1^6;
- int i = 0;
- int j=0;
- void timer1_init()
- {
- TMOD = 0x10; //定時(shí)器1選擇工作方式1
- TH1 = 0x4C; //設(shè)置初始值,定時(shí)50ms
- TL1 = 0x00;
- EA = 1; //打開總中斷
- ET1 = 1; //打開定時(shí)器1中斷
- TR1 = 1; //啟動(dòng)定時(shí)器1
- }
- void main()
- {
- led = 0;
- timer1_init();
- while(j<10)
- {
- if(i>=10)
- {i=0;
- led = ~led;
- j++;
- }
- }
-
- }
- void timer1() interrupt 3
- {
- TH1 = 0x4C; //設(shè)置初始值,定時(shí)50ms
- TL1 = 0x00;
- i++;
-
-
- }
復(fù)制代碼
|
|