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

📄 main.c

📁 使用单片机控制FPGA完成直接数字频率合成(DDFS),采用Keil C51
💻 C
📖 第 1 页 / 共 2 页
字号:
	         lcd_drawhanzimo(48,0,jiao);
		     wav_flag=2;
		}
		else if(readkey==0x14)							//确定按键
		{
		    
			 freq_value=(fre_Sh_0*100)+(fre_Sh_1*100)+(fre_Sh_2*10)+fre_Sh_3+(fre_Sh_4*0.1)+(fre_Sh_5*0.01)+(fre_Sh_6*0.001)+(fre_Sh_7*0.0001)+(fre_Sh_8*0.00001);
			 K_value=131072*freq_value;
			 
			 flag=0;
	         sur_flag=1;
			 sao_flag=0;

		}
		else if(readkey==0x11)
		{
		      sao_flag=1;
		}

	}
	else 
	return;
}






void set_num(unsigned char readkey)
{
   if(flag==1)
   {										

	      if(Sh_0==0)										   //设定最高位
		  {
		    lcd_drawnumber(0,4,gang);
	       switch(readkey)
		   {
		   case 0x81:fre_Sh_0=1;lcd_drawnumber(0,4,one);Sh_0=1;Sh_1=1;break;
		   case 0x82:fre_Sh_0=2;lcd_drawnumber(0,4,two);Sh_0=1;Sh_1=1;break;
		   case 0x84:fre_Sh_0=3;lcd_drawnumber(0,4,three);Sh_0=1;Sh_1=1;break;
		   case 0x41:fre_Sh_0=4;lcd_drawnumber(0,4,four);Sh_0=1;Sh_1=1;break;
		   case 0x42:fre_Sh_0=5;lcd_drawnumber(0,4,five);Sh_0=1;Sh_1=1;break;
		   case 0x44:fre_Sh_0=6;lcd_drawnumber(0,4,six);Sh_0=1;Sh_1=1;break;
		   case 0x21:fre_Sh_0=7;lcd_drawnumber(0,4,seven);Sh_0=1;Sh_1=1;break;
		   case 0x22:fre_Sh_0=8;lcd_drawnumber(0,4,eight);Sh_0=1;Sh_1=1;break;
		   case 0x24:fre_Sh_0=9;lcd_drawnumber(0,4,nine);Sh_0=1;Sh_1=1;break;
		   case 0x12:fre_Sh_0=0;lcd_drawnumber(0,4,zero);Sh_0=1;Sh_1=1;break;
		   default:break;
		   }
		   return;
		  }
		   if(Sh_1==1)										   //设定最高位
		  {
		    lcd_drawnumber(8,4,gang);
	       switch(readkey)
		   {
		   case 0x81:fre_Sh_1=1;lcd_drawnumber(0,4,one);Sh_1=0;Sh_2=1;break;
		   case 0x82:fre_Sh_1=2;lcd_drawnumber(0,4,two);Sh_1=0;Sh_2=1;break;
		   case 0x84:fre_Sh_1=3;lcd_drawnumber(0,4,three);Sh_1=0;Sh_2=1;break;
		   case 0x41:fre_Sh_1=4;lcd_drawnumber(0,4,four);Sh_1=0;Sh_2=1;break;
		   case 0x42:fre_Sh_1=5;lcd_drawnumber(0,4,five);Sh_1=0;Sh_2=1;break;
		   case 0x44:fre_Sh_1=6;lcd_drawnumber(0,4,six);Sh_1=0;Sh_2=1;break;
		   case 0x21:fre_Sh_1=7;lcd_drawnumber(0,4,seven);Sh_1=0;Sh_2=1;break;
		   case 0x22:fre_Sh_1=8;lcd_drawnumber(0,4,eight);Sh_1=0;Sh_2=1;break;
		   case 0x24:fre_Sh_1=9;lcd_drawnumber(0,4,nine);Sh_1=0;Sh_2=1;break;
		   case 0x12:fre_Sh_1=0;lcd_drawnumber(0,4,zero);Sh_1=0;Sh_2=1;break;
		   default:break;
		   }
		   return;
		  }
		   if(Sh_2==1)										   //设定最高位
		  {
		    lcd_drawnumber(16,4,gang);
	       switch(readkey)
		   {
		   case 0x81:fre_Sh_2=1;lcd_drawnumber(0,4,one);Sh_2=0;Sh_3=1;break;
		   case 0x82:fre_Sh_2=2;lcd_drawnumber(0,4,two);Sh_2=0;Sh_3=1;break;
		   case 0x84:fre_Sh_2=3;lcd_drawnumber(0,4,three);Sh_2=0;Sh_3=1;break;
		   case 0x41:fre_Sh_2=4;lcd_drawnumber(0,4,four);Sh_2=0;Sh_3=1;break;
		   case 0x42:fre_Sh_2=5;lcd_drawnumber(0,4,five);Sh_2=0;Sh_3=1;break;
		   case 0x44:fre_Sh_2=6;lcd_drawnumber(0,4,six);Sh_2=0;Sh_3=1;break;
		   case 0x21:fre_Sh_2=7;lcd_drawnumber(0,4,seven);Sh_2=0;Sh_3=1;break;
		   case 0x22:fre_Sh_2=8;lcd_drawnumber(0,4,eight);Sh_2=0;Sh_3=1;break;
		   case 0x24:fre_Sh_2=9;lcd_drawnumber(0,4,nine);Sh_2=0;Sh_3=1;break;
		   case 0x12:fre_Sh_2=0;lcd_drawnumber(0,4,zero);Sh_2=0;Sh_3=1;break;
		   default:break;
		   }
		   return;
		  }
		   if(Sh_3==1)										   //设定最高位
		  {
		    lcd_drawnumber(24,4,gang);
	       switch(readkey)
		   {
		   case 0x81:fre_Sh_3=1;lcd_drawnumber(0,4,one);Sh_3=0;Sh_4=1;break;
		   case 0x82:fre_Sh_3=2;lcd_drawnumber(0,4,two);Sh_3=0;Sh_4=1;break;
		   case 0x84:fre_Sh_3=3;lcd_drawnumber(0,4,three);Sh_3=0;Sh_4=1;break;
		   case 0x41:fre_Sh_3=4;lcd_drawnumber(0,4,four);Sh_3=0;Sh_4=1;break;
		   case 0x42:fre_Sh_3=5;lcd_drawnumber(0,4,five);Sh_3=0;Sh_4=1;break;
		   case 0x44:fre_Sh_3=6;lcd_drawnumber(0,4,six);Sh_3=0;Sh_4=1;break;
		   case 0x21:fre_Sh_3=7;lcd_drawnumber(0,4,seven);Sh_3=0;Sh_4=1;break;
		   case 0x22:fre_Sh_3=8;lcd_drawnumber(0,4,eight);Sh_3=0;Sh_4=1;break;
		   case 0x24:fre_Sh_3=9;lcd_drawnumber(0,4,nine);Sh_3=0;Sh_4=1;break;
		   case 0x12:fre_Sh_3=0;lcd_drawnumber(0,4,zero);Sh_3=0;Sh_4=1;break;
		   default:break;
		   }
		   return;
		  }
		   if(Sh_4==1)										   //设定最高位
		  {
		    lcd_drawnumber(40,4,gang);
	       switch(readkey)
		   {
		   case 0x81:fre_Sh_4=1;lcd_drawnumber(0,4,one);Sh_4=0;Sh_5=1;break;
		   case 0x82:fre_Sh_4=2;lcd_drawnumber(0,4,two);Sh_4=0;Sh_5=1;break;
		   case 0x84:fre_Sh_4=3;lcd_drawnumber(0,4,three);Sh_4=0;Sh_5=1;break;
		   case 0x41:fre_Sh_4=4;lcd_drawnumber(0,4,four);Sh_4=0;Sh_5=1;break;
		   case 0x42:fre_Sh_4=5;lcd_drawnumber(0,4,five);Sh_4=0;Sh_5=1;break;
		   case 0x44:fre_Sh_4=6;lcd_drawnumber(0,4,six);Sh_4=0;Sh_5=1;break;
		   case 0x21:fre_Sh_4=7;lcd_drawnumber(0,4,seven);Sh_4=0;Sh_5=1;break;
		   case 0x22:fre_Sh_4=8;lcd_drawnumber(0,4,eight);Sh_4=0;Sh_5=1;break;
		   case 0x24:fre_Sh_4=9;lcd_drawnumber(0,4,nine);Sh_4=0;Sh_5=1;break;
		   case 0x12:fre_Sh_4=0;lcd_drawnumber(0,4,zero);Sh_4=0;Sh_5=1;break;
		   default:break;
		   }
		   return;
		  }
		   if(Sh_5==1)										   //设定最高位
		  {
		    lcd_drawnumber(48,4,gang);
	       switch(readkey)
		   {
		   case 0x81:fre_Sh_5=1;lcd_drawnumber(0,4,one);Sh_5=0;Sh_6=1;break;
		   case 0x82:fre_Sh_5=2;lcd_drawnumber(0,4,two);Sh_5=0;Sh_6=1;break;
		   case 0x84:fre_Sh_5=3;lcd_drawnumber(0,4,three);Sh_5=0;Sh_6=1;break;
		   case 0x41:fre_Sh_5=4;lcd_drawnumber(0,4,four);Sh_5=0;Sh_6=1;break;
		   case 0x42:fre_Sh_5=5;lcd_drawnumber(0,4,five);Sh_5=0;Sh_6=1;break;
		   case 0x44:fre_Sh_5=6;lcd_drawnumber(0,4,six);Sh_5=0;Sh_6=1;break;
		   case 0x21:fre_Sh_5=7;lcd_drawnumber(0,4,seven);Sh_5=0;Sh_6=1;break;
		   case 0x22:fre_Sh_5=8;lcd_drawnumber(0,4,eight);Sh_5=0;Sh_6=1;break;
		   case 0x24:fre_Sh_5=9;lcd_drawnumber(0,4,nine);Sh_5=0;Sh_6=1;break;
		   case 0x12:fre_Sh_5=0;lcd_drawnumber(0,4,zero);Sh_5=0;Sh_6=1;break;
		   default:break;
		   }
		   return;
		  }
		   if(Sh_6==1)										   //设定最高位
		  {
		    lcd_drawnumber(56,4,gang);
	       switch(readkey)
		   {
		   case 0x81:fre_Sh_6=1;lcd_drawnumber(0,4,one);Sh_6=0;Sh_7=1;break;
		   case 0x82:fre_Sh_6=2;lcd_drawnumber(0,4,two);Sh_6=0;Sh_7=1;break;
		   case 0x84:fre_Sh_6=3;lcd_drawnumber(0,4,three);Sh_6=0;Sh_7=1;break;
		   case 0x41:fre_Sh_6=4;lcd_drawnumber(0,4,four);Sh_6=0;Sh_7=1;break;
		   case 0x42:fre_Sh_6=5;lcd_drawnumber(0,4,five);Sh_6=0;Sh_7=1;break;
		   case 0x44:fre_Sh_6=6;lcd_drawnumber(0,4,six);Sh_6=0;Sh_7=1;break;
		   case 0x21:fre_Sh_6=7;lcd_drawnumber(0,4,seven);Sh_6=0;Sh_7=1;break;
		   case 0x22:fre_Sh_6=8;lcd_drawnumber(0,4,eight);Sh_6=0;Sh_7=1;break;
		   case 0x24:fre_Sh_6=9;lcd_drawnumber(0,4,nine);Sh_6=0;Sh_7=1;break;
		   case 0x12:fre_Sh_6=0;lcd_drawnumber(0,4,zero);Sh_6=0;Sh_7=1;break;
		   default:break;
		   }
		   return;
		  }
		   if(Sh_7==1)										   //设定最高位
		  {
		    lcd_drawnumber(64,4,gang);
	       switch(readkey)
		   {
		   case 0x81:fre_Sh_7=1;lcd_drawnumber(0,4,one);Sh_7=0;Sh_8=1;break;
		   case 0x82:fre_Sh_7=2;lcd_drawnumber(0,4,two);Sh_7=0;Sh_8=1;break;
		   case 0x84:fre_Sh_7=3;lcd_drawnumber(0,4,three);Sh_7=0;Sh_8=1;break;
		   case 0x41:fre_Sh_7=4;lcd_drawnumber(0,4,four);Sh_7=0;Sh_8=1;break;
		   case 0x42:fre_Sh_7=5;lcd_drawnumber(0,4,five);Sh_7=0;Sh_8=1;break;
		   case 0x44:fre_Sh_7=6;lcd_drawnumber(0,4,six);Sh_7=0;Sh_8=1;break;
		   case 0x21:fre_Sh_7=7;lcd_drawnumber(0,4,seven);Sh_7=0;Sh_8=1;break;
		   case 0x22:fre_Sh_7=8;lcd_drawnumber(0,4,eight);Sh_7=0;Sh_8=1;break;
		   case 0x24:fre_Sh_7=9;lcd_drawnumber(0,4,nine);Sh_7=0;Sh_8=1;break;
		   case 0x12:fre_Sh_7=0;lcd_drawnumber(0,4,zero);Sh_7=0;Sh_8=1;break;
		   default:break;
		   }
		   return;
		  }
		   if(Sh_8==1)										   //设定最高位
		  {
		    lcd_drawnumber(72,4,gang);
	       switch(readkey)
		   {
		   case 0x81:fre_Sh_8=1;lcd_drawnumber(0,4,one);Sh_8=0;Sh_0=0;break;
		   case 0x82:fre_Sh_8=2;lcd_drawnumber(0,4,two);Sh_8=0;Sh_0=0;break;
		   case 0x84:fre_Sh_8=3;lcd_drawnumber(0,4,three);Sh_8=0;Sh_0=0;break;
		   case 0x41:fre_Sh_8=4;lcd_drawnumber(0,4,four);Sh_8=0;Sh_0=0;break;
		   case 0x42:fre_Sh_8=5;lcd_drawnumber(0,4,five);Sh_8=0;Sh_0=0;break;
		   case 0x44:fre_Sh_8=6;lcd_drawnumber(0,4,six);Sh_8=0;Sh_0=0;break;
		   case 0x21:fre_Sh_8=7;lcd_drawnumber(0,4,seven);Sh_8=0;Sh_0=0;break;
		   case 0x22:fre_Sh_8=8;lcd_drawnumber(0,4,eight);Sh_8=0;Sh_0=0;break;
		   case 0x24:fre_Sh_8=9;lcd_drawnumber(0,4,nine);Sh_8=0;Sh_0=0;break;
		   case 0x12:fre_Sh_8=0;lcd_drawnumber(0,4,zero);Sh_8=0;Sh_0=0;break;
		   default:break;
		   }
		   return;
		  }

		}
   
   else if(flag==0)
   return;
}

⌨️ 快捷键说明

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