|
本帖最后由 Tiamano 于 2017-10-23 06:40 編輯
89c52
想做一個(gè)用按鍵控制LED開關(guān)和亮度的程序
但是總是出錯(cuò)
按鍵無法控制LED開關(guān),但是可以控制亮度
請(qǐng)教大神為何- #include<reg52.h>
- #define l_LED P2
- #define l_PWM 101
- #define l_MAX 100
- #definel _MIN 1
- sbit l_KEY_ADD=P3^0;
- sbit l_KEY_DEC=P3^1;
- sbit l_EKY_OFF=P3^2;
-
-
- void delay(unsigned int a )
- {
- unsigned char i;
- while(--a!=0)
- {
- for(i=0;i<12;i++);
- }
- }
- void keypros()
- { l_LED=0xfe;
- if(l_EKY_OFF==0)
- {
- delay(1000);
- if(l_EKY_OFF==0)
- {
- l_LED=~l_LED;
- }
- while(!l_EKY_OFF);
- }
- }
- void Display(unsigned int jyn)
- {
- l_LED=0xfe;
- delay(jyn);
- l_LED=0xff;
- delay(l_PWM-jyn);
- }
- void main()
- {
- unsigned int k=1;
- while(1)
-
- { keypros();Display(k);
- if(l_KEY_ADD==0)
- {
- delay(20);
- if(l_KEY_ADD==0)
- {
- k++;
- if(k>l_MAX)
- {
- k=l_MAX;
- }
- }
- }
- if(l_KEY_DEC==0)
- {
- delay(20);
- if(l_KEY_DEC==0)
- k--;
- if(k<jyn_MIN)
- {k=jyn_MIN;
- }
- }
- }
- }
-
-
-
-
-
復(fù)制代碼
|
|