⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fun_task.c

📁 单片机学习资料主要讲述MP3开发 适合初学者进行开发学习
💻 C
字号:
/*fun_task.c */
//#include "board.h"                          /* board definition */
#include "config.h"                         /* system configuration */
#include "fun_task.h"
#include "lib_mcu\kbd\kbd_drv.h"            /* keyboard driver definition */
//#include "led.h"                            /* led definition */
//#include "led_task.h"                       /* led definition */
#include "lib_refd\dac\dac_drv.h" 
#include "modules\song\song_drv.h"                       /* song driver definition */
   
extern  bdata bit     gl_key_press;  
extern  idata   Byte    gl_key;             /* value of the key pressed */
//Byte    mp3_volume;
#define KEY_VALID       KEY_0_1             /* 0Ah Stop select */
extern  idata Uint16    i=0;
extern  idata Uint16    m=0;
extern  idata Uint16    n=0;
extern  idata Uint16    j=0;
extern  idata Uint16    k=0;
#define KEY_FUNC       KEY_0_0  
         
void fun_task (void)
{
  
  if (P1_3 == 0) 
  {
   i++;
 //  P1_6 = 0;
//gl_key_press = TRUE;
//   gl_key = KEY_FUNC;
//   ref_mode_task();
   if ( i >= 24387 )
   {
    // tempo();//i=0;temp
     gl_key = KEY_VALID;
     ref_mode_task();    //保证响应KEY—VAILD
     i=0;
   }
  }
  else
  {
    i=0;//保证长按时间不积累,每次等待时间相同
  }

  if (P1_0 == 0)
  {
   m++;

   if ( m >= 8100 )
   {  
     n++;
     if ((P1_0 == 0) && (mp3_volume != VOLUME_MAX))  dac_set_vol(++mp3_volume);
 //    if ((P1_1 == 0) && (mp3_volume != VOLUME_MIN))  dac_set_vol(--mp3_volume);
     m=0;
   }
  }
  else
  {
    if ((m > 1000) && ( m < 8100 ) && ( n == 0)) 
	  {
	    gl_key = KEY_PLUS;
        ref_mode_task();
//		n = 0;
//        m = 0;
	  }
    m = 0;//保证长按时间不积累,每次等待时间相同
    n = 0;
  }

  if (P1_1 == 0)
  {
   j++;

   if ( j >= 8100 )
   {  
     k++;
 //    if ((P1_0 == 0) && (mp3_volume != VOLUME_MAX))  dac_set_vol(++mp3_volume);
     if ((P1_1 == 0) && (mp3_volume != VOLUME_MIN))  dac_set_vol(--mp3_volume);
     j=0;
   }
  }
  else
  {
    if ((j > 1000) && ( j < 8100 ) && ( k == 0)) 
	  {
	    gl_key = KEY_MINUS;
        ref_mode_task();
//		j = 0;
 //       k = 0;
	  }
	j = 0;//保证长按时间不积累,每次等待时间相同
    k = 0;
  }
}							  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -