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

📄 head_menu.h~

📁 使用AVR单片机对信号进行采集,通过FFT,分析信号失真度
💻 H~
字号:
byte menu_state[3];
byte last_key;
char key_temp;

void set_array(void)
{
   int temp;
   temp=freq_point_num;
   for(i=0;i<5;i++) {freq_point[4-i]=temp%10;temp/=10;}   
}

void show_signal_type()
{
	switch (signal_type)
        {
          case 0:lcd_character(ch_zheng,4*2,1*16);
		 lcd_character(ch_xian,5*2,1*16);
		 lcd_character(ch_bo,6*2,1*16);
		 break;
          case 1:lcd_character(ch_shan,4*2,1*16);
		 lcd_character(ch_jiao,5*2,1*16);
		 lcd_character(ch_bo,6*2,1*16);
	 	 break;
          case 2:lcd_character(ch_ju1,4*2,1*16);
		 lcd_character(ch_xing,5*2,1*16);
		 lcd_character(ch_bo,6*2,1*16);
		 break;
          case 3:lcd_character(ch_ju2,4*2,1*16);
		 lcd_character(ch_chi,5*2,1*16);
		 lcd_character(ch_bo,6*2,1*16);
		 break;
        }
}

void show_menu();
void load_result();

void set_menu(void)
{
   switch (menu_state[0])
	          {
	            case 0:
	              switch (key_temp)
	              {
	                case 0:menu_state[0]=0; break;
	                case 1:menu_state[0]=1; break;
	                case 2:menu_state[0]=2; break;
	                case 3:menu_state[0]=3; break;
	              }
	              break;
	            
	            case 1:
	              switch (key_temp)
	              {
	                case 1:menu_state[0]=0; break;
	              }
	              break;
	              
	             case 2:
	              switch (key_temp)
	              {
	                 case 1:menu_state[1]=21; break;
	                 case 3:menu_state[0]=0; break;
	              }
	              break;
	              
	             case 3:
	              switch (key_temp)
	              {
	                case 1:menu_state[0]=0;break; 
	              }
	              
	            
	          }
	          show_menu();
}

void show_menu(void)
{
      
	          switch (menu_state[0])
	          {
	             case 0:
	                lcd_clear();
	                set_array();
	             	lcd_gotoxy(0,0);lcd_putsf("1.");
	             	lcd_character(ch_xin,1*2,0);
	             	lcd_character(ch_hao,2*2,0);
	             	lcd_character(ch_fen,3*2,0);
	             	lcd_character(ch_xi,4*2,0);
	             	lcd_gotoxy(0,2);lcd_putsf("2."); 
	             	lcd_character(ch_she,1*2,1*16);
	             	lcd_character(ch_zhi,2*2,1*16);
	             	lcd_character(ch_xin,3*2,1*16);
	             	lcd_character(ch_hao,4*2,1*16);
	             	lcd_gotoxy(0,4);lcd_putsf("3.");
	             	lcd_character(ch_guan,1*2,2*16);
	             	lcd_character(ch_yu,2*2,2*16);
	             	lcd_character(ch_wo,3*2,2*16);
	             	lcd_character(ch_men,4*2,2*16);
	             	
			break;
		     case 1:
		            lcd_clear();
		            lcd_gotoxy(0,0);lcd_putsf("1.Back.");
		            lcd_character(ch_shi,0*2,8);
		            lcd_character(ch_zhen,1*2,8);
		            lcd_character(ch_du,2*2,8);         
		             break;   
		     case 2:
		        lcd_clear();
		        lcd_gotoxy(0,0);lcd_putsf("1.    :");
		        lcd_character(ch_pin,1*2,0);
		        lcd_character(ch_lv,2*2,0);
		        lcd_gotoxy(8,0);for (i=0;i<5;i++)  lcd_putchar(freq_point[i]+0x30);
		        lcd_putsf("Hz");
		        lcd_gotoxy(0,2);lcd_putsf("2.    :");
		        lcd_character(ch_bo,1*2,1*16);
		        lcd_character(ch_xing,2*2,1*16);
		        show_signal_type();
		        lcd_gotoxy(0,4);lcd_putsf("3.");
		        lcd_character(ch_fan,1*2,2*16);
		        lcd_character(ch_hui,2*2,2*16);
		        lcd_character(ch_shang,3*2,2*16);
		        lcd_character(ch_chen,4*2,2*16);
			break;
		     case 3:
		        lcd_clear();
		        lcd_gotoxy(0,0);lcd_putsf("1.Back");
		        lcd_gotoxy(0,2);lcd_putsf("Thank you for");
		        lcd_gotoxy(0,3);lcd_putsf(" yout test^ ^");
		        lcd_gotoxy(0,4);lcd_putsf("     ver:1.0");
		        break;
		  }
		

}


void set_freq_point(void)
{
	set_num=1;
	lcd_set_cursor(12,0);
	lcd_show_cursor();          
	lcd_gotoxy(8,0);
	        if ((key_temp >=0)&(key_temp <=9))
	          {
	            for (i=0;i<4;i++) 
	            {
	              freq_point[i]=freq_point[i+1];
	              lcd_putchar(freq_point[i+1]+0x30);
	            }
	            freq_point[4]=key_temp;
	            lcd_putchar(freq_point[4]+0x30);
	           }
	           if (key_temp==K3_4) 
	           {  
	              set_num=0;
	              lcd_noshow_cursor();          
	              
	              freq_point_num=0;
	              for (i=0;i<5;i++) freq_point_num=(freq_point_num*10+freq_point[i]);
	              set_dds(freq_point_num);
	              menu_state[1]=20;
	            }
} 


void set_signal_type()
{
	signal_type++;
	if (signal_type==4) signal_type=0; 
	show_signal_type();
	set_dds(freq_point_num);
} 


    


          	           
       						 
	        

⌨️ 快捷键说明

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