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

📄 head_menu.h~

📁 使用AVR单片机对模拟信号进行采集,分析频率响应特性,使用AD9850芯片.
💻 H~
字号:
byte menu_state[3];
byte last_key;
char key_temp;

void set_array(void)
{
   long int temp;
   temp=freq_from_num;
   for(i=0;i<8;i++) {freq_from[7-i]=temp%10;temp/=10;}
   temp=freq_to_num;
   for(i=0;i<8;i++) {freq_to[7-i]=temp%10;temp/=10;}
   temp=freq_step_num;
   for(i=0;i<6;i++) {freq_step[5-i]=temp%10;temp/=10;}   
}
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;
	                case 4:menu_state[0]=4; break;
	              }
	              break;
	            
	            case 1:
	              switch (key_temp)
	              {
	                case 1:menu_state[1]=11; break;
	                case 2:menu_state[1]=12; break;
	                case 3:menu_state[1]=13; break;
	                case 4:menu_state[1]=14; break;
	                case 5:menu_state[0]=0; break;
	              }
	              break;
	              
	             case 2:
	              switch (key_temp)
	              {
	                 case 1:menu_state[1]=21; break;
	                 case 2:menu_state[1]=22; break;
	                 case 3:menu_state[0]=0; break;
	              }
	              break;
	              
	             case 3:
	              switch (key_temp)
	              {
	                 case 1:menu_state[0]=0; break;
	              }
	              break;
	              
	              case 4:
	              switch (key_temp)
	              {
	                 case 1:menu_state[0]=0; break;
	              }
	              break;      
	          }
	          show_menu();
}

void show_menu(void)
{
      
	          switch (menu_state[0])
	          {
	             case 0:
	                lcd_clear();
	                set_array();
	             	lcd_gotoxy(0,0);lcd_putsf("1.Sweep Freq");
	             	lcd_gotoxy(0,1);lcd_putsf("2.Test One Freq)");
	             	lcd_gotoxy(0,2);lcd_putsf("3.Last Stored Test ");
	             	lcd_gotoxy(0,3);lcd_putsf("4.About");
			break;
		     case 1:
		            lcd_clear();
		            lcd_gotoxy(0,0);lcd_putsf("1.From:");
		            lcd_gotoxy(8,0);for (i=0;i<8;i++)  lcd_putchar(freq_from[i]+0x30);
		            lcd_gotoxy(0,1);lcd_putsf("2.To:");
		            lcd_gotoxy(8,1);for (i=0;i<8;i++)  lcd_putchar(freq_to[i]+0x30);
		            lcd_gotoxy(0,2);lcd_putsf("3.Step:");
		            lcd_gotoxy(10,2);for (i=0;i<6;i++)  lcd_putchar(freq_step[i]+0x30);
		            lcd_gotoxy(0,3);lcd_putsf("4.Begin Sweep...");
		            lcd_gotoxy(0,4);lcd_putsf("5.Back.");
		             break;   
		     case 2:
		        lcd_clear();
		        lcd_gotoxy(0,0);lcd_putsf("1.Freq:");
		        lcd_gotoxy(8,0);for (i=0;i<8;i++)  lcd_putchar(freq_point[i]+0x30);
		        lcd_gotoxy(0,1);lcd_putsf("2.Begin Test.");
		        lcd_gotoxy(0,2);lcd_putsf("3.Back.");
			break;
		     case 3:
		         lcd_clear();
		         load_result();
		         lcd_gotoxy(0,0);lcd_putsf("1.Back.");
		         break;	
		     case 4:
		        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,3);lcd_putsf("     ver:1.0");
		        break;
		  }
		

}



 
void set_freq_from(void)
{
	set_num=1;
	lcd_set_cursor(15,0);
	lcd_show_cursor();          
	lcd_gotoxy(8,0);
	        if ((key_temp >=0)&(key_temp <=9))
	          {
	            for (i=0;i<7;i++) 
	            {
	              freq_from[i]=freq_from[i+1];
	              lcd_putchar(freq_from[i+1]+0x30);
	            }
	            freq_from[7]=key_temp;
	            lcd_putchar(freq_from[7]+0x30);
	           }
	           if (key_temp==K3_4) 
	           {  
	              set_num=0;
	              lcd_noshow_cursor();          
	              menu_state[1]=10;
	         }
} 




void set_freq_to(void)
{
	set_num=1;
	lcd_set_cursor(15,1);
	lcd_show_cursor();          
	lcd_gotoxy(8,1);
	        if ((key_temp >=0)&(key_temp <=9))
	          {
	            for (i=0;i<7;i++) 
	            {
	              freq_to[i]=freq_to[i+1];
	              lcd_putchar(freq_to[i+1]+0x30);
	            }
	            freq_to[7]=key_temp;
	            lcd_putchar(freq_to[7]+0x30);
	           }
	           if (key_temp==K3_4) 
	           {  
	              lcd_noshow_cursor();
	              set_num=0;          
	              menu_state[1]=10;
	         }
}



void set_freq_step(void)
{
	set_num=1;
	lcd_set_cursor(15,2);
	lcd_show_cursor();          
	lcd_gotoxy(10,2);
	        if ((key_temp >=0)&(key_temp <=9))
	          {
	            for (i=0;i<5;i++) 
	            {
	              freq_step[i]=freq_step[i+1];
	              lcd_putchar(freq_step[i+1]+0x30);
	            }
	            freq_step[5]=key_temp;
	            lcd_putchar(freq_step[5]+0x30);
	           }
	           if (key_temp==K3_4) 
	           {  
	              lcd_noshow_cursor();
	              set_num=0;          
	              menu_state[1]=10;
	         }
}


void set_freq_point(void)
{
	set_num=1;
	lcd_set_cursor(15,0);
	lcd_show_cursor();          
	lcd_gotoxy(8,0);
	        if ((key_temp >=0)&(key_temp <=9))
	          {
	            for (i=0;i<7;i++) 
	            {
	              freq_point[i]=freq_point[i+1];
	              lcd_putchar(freq_point[i+1]+0x30);
	            }
	            freq_point[7]=key_temp;
	            lcd_putchar(freq_point[7]+0x30);
	           }
	           if (key_temp==K3_4) 
	           {  
	              set_num=0;
	              lcd_noshow_cursor();          
	              menu_state[1]=20;
	         }
}

void load_result()
{
  result_num=store_result[0];
  for (i=0;i<result_num;i++)
  {
    lcd_putpoint(i,store_result[i+1]);
  }
}  
    


          	           
       						 
	        

⌨️ 快捷键说明

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