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

📄 646545.c

📁 一个电子产品开发时的部分c代码D!绝对能用!
💻 C
📖 第 1 页 / 共 4 页
字号:
	for(i=0;i<4;i++)
	{
		sound_swtich[i]=sound_swtich_saved[i];
	}
	for(i=0;i<4;i++)
	{   	  
		temp=sound_swtich[i];
		write_eeprom(0x005A +i,temp);
	}
	switch(option)
	{
	case 1:  //on-off
		SHOW_LOGO(5);				
		ucsubMenuCurrentPosition=1;		  
		break;
	case 2:  //type
		SHOW_LOGO(11);	
		ucsubMenuCurrentPosition=1;
		break;
	default:
		break;
	}
}

//---------------------------------------------------------
// NAME:	show_sound_on_off()
// ENTRY:	void
// RETURN:  void
// FUNCTION:显示声音开关设置
// MODIFY DATE :	2004.1.28
//--------------------------------------------------------
void show_sound_on_off(void)
{
	unsigned char i;
	for(i=0;i<4;i++)
	{
		sound_swtich_saved[i]=sound_swtich[i];
	}
	switch(ucMenuCurrentPosition)
	{
	case 1:            
		LCD_CLR();
		SHOW_ALL_HEAD(19);					
		disp_total();			 
		if(sound_swtich[0])   
		{
			Disp_char_16_8(2,0x45,0x30,0);
			Disp_char_16_8(2,0x4D,0x4E,0);
			Disp_char_16_8(2,0x54,0x00,0);
		}   
		else 
		{
			Disp_char_16_8(2,0x45,0x30,0);
			Disp_char_16_8(2,0x4D,0x46,0);
			Disp_char_16_8(2,0x54,0x00,0);
			Disp_char_16_8(2,0x55,0x46,0);
			Disp_char_16_8(2,0x5c,0x00,0);
			Disp_char_16_8(2,0x5d,0x00,0);
			Disp_char_16_8(2,0x65,0x00,0);
			Disp_char_16_8(2,0x6d,0x00,0);
		}
		break;
	case 2:
		LCD_CLR();
		SHOW_ALL_HEAD(19);								
		Disp_char_16_8(2,0x10,0x54,0);
		Disp_char_16_8(2,0x18,0x59,0);								
		Disp_char_16_8(2,0x20,0x50,0);		
		Disp_char_16_8(2,0x27,0x00,0);						  
		Disp_char_16_8(2,0x28,0x45,0);
		Disp_char_16_8(2,0x45,sound_type_saved/10+0x30,1);
		Disp_char_16_8(2,0x4D,sound_type_saved%10+0x30,1);								 								
		break;			 
	default:
		break;			 
	}		
}

//---------------------------------------------------------
// NAME:	set_com()
// ENTRY:	void
// RETURN:  void
// FUNCTION:显示串口通讯波特率设置
// MODIFY DATE :	2004.1.28
//--------------------------------------------------------
void set_com(void)
{
	if(com_set==9600)
	{
		com_set=4800;
		SHOW_LOGO(35);
	}
	else
	{			
		com_set=9600;
		SHOW_LOGO(33);
	}
}
//---------------------------------------------------------
// NAME:	selbit_symrat()
// ENTRY:	void
// RETURN:  void
// FUNCTION:符号率数据位选择
// MODIFY DATE :	2004.1.28
//--------------------------------------------------------
void selbit_symrat(void)
{
	ucCurserPosition++;		      
	if(ucCurserPosition==2)  ucCurserPosition=3;                
	if(ucCurserPosition==6)  ucCurserPosition=1;
	show_qam_symrat();
	switch(ucCurserPosition)
	{
	case 1:				
		Disp_char_16_8(2,0x25,iSmbRatSaved[qam_ch_position]/1000+0x30,1 );  				   
		break;
	case 3:				  	             
		Disp_char_16_8(2,0x35,(iSmbRatSaved[qam_ch_position]%1000)/100+0x30,1);   				 
		break;
	case 4:				   
		Disp_char_16_8(2,0x3d,(iSmbRatSaved[qam_ch_position]%100)/10+0x30,1 );   				  
		break;
	case 5:	  			  
		Disp_char_16_8(2,0x45,iSmbRatSaved[qam_ch_position]%10+0x30,1 );		
		break;
	default:
		break;
	}				
}

//---------------------------------------------------------
// NAME:	set_sound()
// ENTRY:	void
// RETURN:  void
// FUNCTION:设置声音界面
// MODIFY DATE :	2004.1.28
//--------------------------------------------------------
void set_sound(void)
{
	switch(ucMenuCurrentPosition)
	{
	case 1://switch		          
		if(sound_swtich_saved[soundMenuPosition-1]==0)  sound_swtich_saved[soundMenuPosition-1]=0xff;
		else sound_swtich_saved[soundMenuPosition-1]=0;
		if(sound_swtich_saved[soundMenuPosition-1])   
		{
			Disp_char_16_8(2,0x45,0x30,0);
			Disp_char_16_8(2,0x4D,0x4E,0);
			Disp_char_16_8(2,0x54,0x00,0);
		}
		else 
		{
			Disp_char_16_8(2,0x45,0x30,0);
			Disp_char_16_8(2,0x4D,0x46,0);
			Disp_char_16_8(2,0x54,0x00,0);
			Disp_char_16_8(2,0x55,0x46,0);
			Disp_char_16_8(2,0x5c,0x00,0);
		}
		break;
	case 2://type
		sound_type_saved++;
		if(sound_type_saved==5)  sound_type_saved=1;
		Disp_char_16_8(2,0x10,0x54,0);
		Disp_char_16_8(2,0x18,0x59,0);								
		Disp_char_16_8(2,0x20,0x50,0);		
		Disp_char_16_8(2,0x27,0x00,0);						  
		Disp_char_16_8(2,0x28,0x45,0);
		Disp_char_16_8(2,0x45,sound_type_saved/10+0x30,1);
		Disp_char_16_8(2,0x4D,sound_type_saved%10+0x30,1);		
		break;
	default:
		break;				 
	}		
}

//---------------------------------------------------------
// NAME:	save_qam_config()
// ENTRY:	void
// RETURN:  void
// FUNCTION:更新qam设置,重新配置3033
// MODIFY DATE :	2004.1.28
//--------------------------------------------------------
void save_qam_config(void)
{      
	unsigned char temp;
	bCurserOn=0;
	iSmbRat=iSmbRatSaved[qam_ch_position];
	center_frequency=ucMenuIFSubPosition[qam_ch_position];
	qammode=ucMenuQModSubPosition[qam_ch_position];
	switch(qam_ch_position+1) 
	{
	case 1:         //Q1
		SHOW_LOGO(21);					
		broad_3033_init(qam1,1);					
		break;
	case 2:   		//Q2
		SHOW_LOGO(39);
		broad_3033_init(qam1,2);
		break;
	case 3:       //Q3
		SHOW_LOGO(36);
		broad_3033_init(qam1,3);
		break;
	case 4:       //Q4
		SHOW_LOGO(1);
		broad_3033_init(qam1,4);
		break;
	case 5:   	//Q5	
		SHOW_LOGO(3);
		broad_3033_init(qam2,1);
		break;
	case 6:    //Q6  
		SHOW_LOGO(16);
		broad_3033_init(qam2,2);
		break;
	case 7:   //Q7		
		SHOW_LOGO(22);
		broad_3033_init(qam2,3);
		break;
	case 8:   //Q8    
		SHOW_LOGO(23);				   
		broad_3033_init(qam2,4);
		break;					
	default:
		break;					
	} 
	temp=ucMenuQModSubPosition[qam_ch_position];          //qam mode
	write_eeprom(0x0011+qam_ch_position,temp);
	temp=ucMenuIFSubPosition[qam_ch_position];                 //ifrequency
	write_eeprom(0x0021+qam_ch_position,temp);  
	temp=iSmbRatSaved[qam_ch_position]/100;                       //symble rate
	write_eeprom(0x0031+qam_ch_position,temp);			  	
	temp=iSmbRatSaved[qam_ch_position]%100;
	write_eeprom(0x0041+qam_ch_position,temp);
}

//---------------------------------------------------------
// NAME:	save_set_menu()
// ENTRY:	void
// RETURN:   void
// FUNCTION:保存设置退回到上级子菜单
// MODIFY DATE :	2004.1.28
//--------------------------------------------------------
void   save_set_menu(void)
{
	switch(ucMenuPosition)
	{
	case 1://qam if		        
		SHOW_LOGO(6); //show_qam_IF(ucMenuIFSubPosition[qam_ch_position]);
		ucsubMenuCurrentPosition=1;
		ucCurserPosition=1;
		break;		
	case 2:  //set temperature
		temperature_h[0]=temp_bk1;
		temperature_l[0]=temp_bk2;
		ucMenuLayer--;
		ucMenuLayer--;
		SHOW_LOGO(38);
		write_eeprom(S1_TEMP_ADDR_H,temperature_h[0]);
		delayms(5);
		write_eeprom(S1_TEMP_ADDR_L,temperature_l[0]);
		ucCurserPosition=1;
		break;    
	case 3:
		ucMenuLayer--;
		ucMenuLayer--;
		SHOW_LOGO(42);
		break;
	case 4://set sound
		ucsubMenuCurrentPosition=1;
		show_sound_on_off();
		ucCurserPosition=1;
		soundMenuPosition=1;
		break;
	case 5://set Ethernet		
		net_show=1;	  
		show_set_net(ucMenuCurrentPosition);                        
		ucCurserPosition=1;
		
		break;		
	case 6://com
		ucMenuLayer--;
		ucMenuLayer--;
		SHOW_LOGO(37);
		break;
	case 7://set clock
		ucMenuLayer=1;
		set_time(time[0],time[1],time[2]);
		set_date(time[3],time[4],time[5],time[6]);
		write_eeprom(0x0101,time[2]);
		SHOW_LOGO(2);
		ucCurserPosition=1;
		break;
	case 8://set password
		password_set_check();
		break;
	default:
		break;
	}	   
}

//---------------------------------------------------------
// NAME:	exit_to_mainmeun()
// ENTRY:	void
// RETURN:  void
// FUNCTION:退回到主菜单
// MODIFY DATE :	2004.1.28
//--------------------------------------------------------
void exit_to_mainmeun(void)
{
	switch(ucMenuPosition)
	{
		//qam
	case 1:     
		SHOW_LOGO(20);
		qam_ch_position = 1;
		break;
		
		//temp
	case 2:	   
		SHOW_LOGO(38);
		sens_ch_position=1;
		bCurserOn=0;
		ucCurserPosition=1; 
		break;
	case 3:   //voltage
		SHOW_LOGO(42);
		vol_ch_position=0;
		bCurserOn=0;
		ucCurserPosition=1; 
		break;
	case 4:   //sound
		SHOW_LOGO(4);					
		break;
	case 5: //net
		SHOW_LOGO(12);	
		break;		   		   
	case 6:   //com
		SHOW_LOGO(37);;
		break;		
	case 7:   //clock				               
		SHOW_LOGO(2);
		ucCurserPosition=1; 
		break;			   
	case 8:   //password
		SHOW_LOGO(13);		
		ucCurserPosition=1; 		 
		break;
	default:
		break;
	}
}

//---------------------------------------------------------
// NAME:	qam_ifmodsymb()
// ENTRY:	void
// RETURN:  void
// FUNCTION:退回到qam 设置菜单
// MODIFY DATE :	2004.1.28
//--------------------------------------------------------
void  qam_ifmodsymb(void)
{
	switch(ucsubMenuCurrentPosition)
	{
		//if
	case 1:    
		SHOW_LOGO(6);
		break;
		
		//mod
	case 2:   
		SHOW_LOGO(7);
		break;
		
		//symb
	case 3: 
		SHOW_LOGO(8);
		break;
		
	default:
		break;
	}
}
//---------------------------------------------------------
// NAME:	qam_modefy()
// ENTRY:	void
// RETURN:	void
// FUNCTION:修改qam 设置参数
// MODIFY DATE :	2004.1.28
//--------------------------------------------------------
void qam_modefy(void)
{
	switch(ucsubMenuCurrentPosition)
	{  
	case 1:
		ucMenuIFSubPosition[qam_ch_position]++;
		if(ucMenuIFSubPosition[qam_ch_position]==3)   ucMenuIFSubPosition[qam_ch_position]=1;
		show_qam_IF(ucMenuIFSubPosition[qam_ch_position]);
		break;
	case 2:
		ucMenuQModSubPosition[qam_ch_position]++;
		if(ucMenuQModSubPosition[qam_ch_position]==6)   ucMenuQModSubPosition[qam_ch_position]=0;
		show_qam_mod(ucMenuQModSubPosition[qam_ch_position]);					             
		break;
	case 3:
		//selbit_symrat();
		show_set_symrat(ucCurserPosition);
		break;
	}
}
//---------------------------------------------------------
// NAME:	modify_temperature()
// ENTRY:	void
// RETURN:	void
// FUNCTION:修改温度 设置参数
// MODIFY DATE :	2004.1.28
//--------------------------------------------------------
void modify_temperature(void)
{
	unsigned char low,high;
	switch(ucCurserPosition)
	{
	case 1:
		low=temp_bk1%10;
		high=temp_bk1/10;
		high=high+1>4?0:high+1;
		temp_bk1=high*10+low;
		if(temp_bk1>40)  temp_bk1=40;
		if(temp_bk1<temp_bk2)   temp_bk1=temp_bk2;
		break;
	case 2:
		low=temp_bk1%10;
		high=temp_bk1/10;
		low=low+1>9?0:low+1;
		temp_bk1=high*10+low;
		if(temp_bk1>40)  temp_bk1=40;
		if(temp_bk1<temp_bk2)   temp_bk1=temp_bk2;
		break;
	case 3:
		low=temp_bk2%10;
		high=temp_bk2/10;
		high=high+1>4?0:high+1;
		temp_bk2=high*10+low;
		if(temp_bk2>40)  temp_bk2=40;
		if(temp_bk1<temp_bk2)   temp_bk2=temp_bk1;
		break;
	case 4:
		low=temp_bk2%10;
		high=temp_bk2/10;
		low=low+1>9?0:low+1;
		temp_bk2=high*10+low;
		if(temp_bk2>40)  temp_bk2=40;
		if(temp_bk1<temp_bk2)   temp_bk2=temp_bk1;
		break;
	default:
		break;
	}
	show_TEMP_set(ucCurserPosition,temp_bk1,temp_bk2);
}
//---------------------------------------------------------
// NAME:	OnKeyPage()
// ENTRY:	void
// RETURN:	void
// FUNCTION:按键处理page
// MODIFY DATE :	2004.1.28
//--------------------------------------------------------
void OnKeyPage(void)
{
	switch ( ucMenuLayer )
	{
	case 1:		//main menu
		if( !password_ok )
			return;
		else
		{		  		
			ucMenuPosition++;
			if(ucMenuPosition==9)  
				ucMenuPosition=1;
			show_main_menu(ucMenuPosition);
		}
		break;
	case 2:			//sub menu: 6
		switch ( ucMenuPosition )
		{
		case 1:	   //set the QAM
			qam_ch_position++;
			if(qam_ch_position==8)  qam_ch_position=0;
			show_qam_chanl(qam_ch_position+1);
			break;		 
		case 2:		//set the temperature value
			modify_temperature();
			break;   	                   			
		case 3:	//set voltage
			vol_ch_position++;  
			if(vol_ch_position==4)    
				vol_ch_position=0;
			show_volt_set(vol_ch_position+1);
			break;
		case 4: //set the sound 
			ucMenuCurrentPosition++;
			if(ucMenuCurrentPosition==3)   
				ucMenuCurrentPosition=1;
			show_set_sound(ucMenuCurrentPosition);
			break;
		case 5: //set the Enet
			ucMenuCurrentPosition++;
			if(ucMenuCurrentPosition==5)  
				ucMenuCurrentPosition=1;
			show_net_submenu();	 	
			break;
		case 6:
			set_com();
			break;				
		case 7: //set the clock	
			show_set_clock(ucCurserPosition);  
			break;
		case 8: //set the password

⌨️ 快捷键说明

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