寫了一個定時器輸出方波的程序,然后通過按鍵改變輸出方波的頻率,但是實際使用沒效果,頻率沒在變,請大神們看下問題出在哪里
(K1,K2是調頻率的)求大神們指點一下
單片機源碼:
- #include<reg52.h>
- sbit qw=P1^1;
- sbit OUT=P1^2;
- sbit K1=P2^0;
- sbit K2=P2^1;
- sbit K3=P2^2;
- sbit K4=P2^3;
- int i=0,t=5;
- void main(void)
- {
- TMOD=0x01;
- EA=1;
- ET0=1;
- TR0=1;
- TH0=(65536-20)/256;
- TL0=(65536-20)%256;
- qw=0;
- while(1)
- {
- if(K1==0)
- {
- {
- t--;
- if(t==0)
- {
- t=9;
- }
- while(!K1);
- }
- }
- if(K2==0)
- {
-
- {
- t++;
- if(t==10)
- {
- t=1;
- }
- while(!K2);
- }
- }
- if(K4==0)
- {
-
- {
- TR0=0;
- OUT=0;
- }
- while(!K4);
- }
- if(K3==0)
- {
- {
- qw=~qw;
- }
- while(!K3);
- }
- }
- }
- void Time0_serve(void) interrupt 1
- {
- TH0=(65536-20)/256;
- TL0=(65536-20)%256;
- i++;
- if(i==t)
- {
- OUT=0;
- }
- if(i==10)
- {
- i=0;
- OUT=1;
- }
- }
復制代碼
|