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

📄 开关稳压电源程序.txt

📁 全国大学生电子设计竞赛 开关稳压电源程序
💻 TXT
字号:
主程序
main()
{
	uchar key2,flag1 = 1 ;
	SED1335_Init();
	ClearRam();
	P2_1 = 1;//控制继电器
	for(;flag1==1;)
	{
		menu3();

		key2 = kbscan();
		if(key2==0)continue;
		switch(key2)
		{
			case F1:{menu2();PrintHZ1(F,8,170,16,1);
					 PrintHZ1(num[5],9,170,16,1);
					 PrintHZ1(fan,11,170,16,2);
					 PrintHZ1(hui,13,170,16,2);ad(0);flag1=1;	ClearRam();} break;
			case F2:{ClearRam();read_key1();flag1=1;} break;
			case F3:
				{	
					ClearRam();
				   	flag1=0;
				}	 
				break;
	 	}
	   }
	for(;;);
}
手动调节
void ad(uchar flag)
{
    uint tmp1 ; 
    float  tmp2=0;
	uchar i,key3; 
     
	while(!flag  )
	{
		key3 = kbscan();
		if(key3==F5)
			break;
		else
		{
		for(i=0;i<2;i++) 
		{ 	
			 if((i%2)==0)
	
			{
					 
				tmp1  = AD7714(4); 
				tmp2 = ( (float)tmp1/(float)65536 )*249.9;
				display1(tmp2 );
						 	 
			}
			
			else if((i%2)!=0) 
			{
				tmp1  = AD7714(5); 
				tmp2 = ( (float)tmp1/(float)65536 )*2.499;
				if(tmp2>2.30)
				{
					P2_1 = 0;//控制继电器
					PrintHZ1(num[11],25,100,16,1);
					PrintHZ1(num[11],26,100,16,1);
					PritHZ1(num[11],27,100,16,1);
					PrintHZ1(yue,21,100,16,2);
					PrintHZ1(jie,23,100,16,2);
				}
					 
				else
				{
					P2_1 = 1;//控制继电器	
					display2(tmp2);
						
				}
			}
		 }
	 }
 } 
}


数控电位器调节
read_key1()
{
	uchar key1,flag = 1,i=0, m,n=0,a=0, tmp=0;


	for(;flag==1;)
	{
		menu1();

		key1 = kbscan();
		if(key1==0)continue;
	 

		switch(key1)
		{
		
		  	case key_0:{ tmp = tmp*10+0;PrintHZ1(num[0],8+n,55,16,1);m=1;n++;	  }break;
			case key_1:{ tmp = tmp*10+1;PrintHZ1(num[1],8+n,55,16,1);m=1;n++;	  }break;
			case key_2:{ tmp = tmp*10+2;PrintHZ1(num[2],8+n,55,16,1);m=1;n++;	  }break;
			case key_3:{ tmp = tmp*10+3;PrintHZ1(num[3],8+n,55,16,1);m=1;n++;	  }break;
 			case key_4:{ tmp = tmp*10+4;PrintHZ1(num[4],8+n,55,16,1);m=1;n++;	  }break;
			case key_5:{ tmp = tmp*10+5;PrintHZ1(num[5],8+n,55,16,1);m=1;n++;	  }break;
			case key_6:{ tmp = tmp*10+6;PrintHZ1(num[6],8+n,55,16,1);m=1;n++;         }break;
			case key_7:{ tmp = tmp*10+7;PrintHZ1(num[7],8+n,55,16,1);m=1;n++; 	  }break;
			case key_8:{ tmp = tmp*10+8;PrintHZ1(num[8],8+n,55,16,1);m=1;n++;	  }break;
			case key_9:{ tmp = tmp*10+9;PrintHZ1(num[9],8+n,55,16,1);m=1;n++;	  }break;
							   
			case F1:
				{ 
				i++;
				switch(i)
				{
				  
					case 7:{tmp = 36;PrintHZ1(num[3],8 ,55,16,1);	PrintHZ1(num[6],9,55,16,1);}break;	
			    	case 1:{tmp = 30;PrintHZ1(num[3],8 ,55,16,1);	PrintHZ1(num[0],9,55,16,1);}break;										 																																  
					case 2:{tmp = 31;PrintHZ1(num[3],8 ,55,16,1);	PrintHZ1(num[1],9,55,16,1);}break;
					case 3:{tmp = 32;PrintHZ1(num[3],8 , 55,16,1);	PrintHZ1(num[2],9, 55,16,1);}break;
					case 4:{tmp = 33;PrintHZ1(num[3],8 ,55,16,1);	PrintHZ1(num[3],9,55,16,1);}break;
					case 5:{tmp = 34;PrintHZ1(num[3],8 ,55,16,1);	PrintHZ1(num[4],9,55,16,1);}break;
					case 6:{tmp = 35;PrintHZ1(num[3],8 ,55,16,1);	PrintHZ1(num[5],9,55,16,1);}break;								 
					default:i=7; break;								 							 
				 
				} 
				break;
			case F2:
				{ 
				i--;
				switch(i)
				{
				  
					case 6:{tmp = 35;PrintHZ1(num[3],8 ,55,16,1);	PrintHZ1(num[5],9,55,16,1);}break;	
			    	case 5:{tmp = 34;PrintHZ1(num[3],8 ,55,16,1);	PrintHZ1(num[4],9,55,16,1);}break;										 																																  
					case 4:{tmp = 33;PrintHZ1(num[3],8 ,55,16,1);	PrintHZ1(num[3],9,55,16,1);}break;
					case 3:{tmp = 32;PrintHZ1(num[3],8 ,55,16,1);	PrintHZ1(num[2],9, 55,16,1);}break;
					case 2:{tmp = 31;PrintHZ1(num[3],8 ,55,16,1);	PrintHZ1(num[1],9,55,16,1);}break;
					case 1:{tmp = 30;PrintHZ1(num[3],8 ,55,16,1);	PrintHZ1(num[0],9,55,16,1);}break;
				 							 
					default:i=0; break;								 							 
				 
				} 
				break;
	   		case F3:
				if(tmp>36|tmp<30)
				{
					PrintHZ1(yue,8,55,16,2);
					PrintHZ1(jie,10,55,16,2);
					tmp=0;
					
				}
				else
				{					  	 
				 	control(tmp);
					PrintHZ1(O,18,55,16,1);
					PrintHZ1(K,19,55,16,1);
					menu2();
 					 ad(0);
					tmp=0;
				}
			   break;
	  	     case F4 :if(m==1)
					  {
					  	a++;
						n--;
					 
					    switch(a)
						{
							case 1:{tmp = tmp/10;PrintHZ1(num[11],8+n,55,16,1);}break;
							case 2:{tmp = tmp/10;PrintHZ1(num[11],8+n,55,16,1);}break;							 
							case 3:{m=0;a=0;n++;}break;									 							 
						}
						if(a>=2)
						{
							a=0;
							n=0;
						}	
					   }break;
 			   case F5:
			   			{	
							ad(1);
							flag = 1;
							ClearRam();
							tmp=0;n=0;m=0,a=0;i=0 ;
						
						 break; 
						 }
			   case F6:
			   		{
			   		ClearRam();
			   		flag=0;
					}
					break;
			   default:flag=1;break;
		} 

			}
			}

	}

}
}

AD7714采样电压,流值

void ad(uchar flag)
{
    uint tmp1 ; 
    float  tmp2=0;
	uchar i,key3; 
     
		while(!flag  )
		{
			key3 = kbscan();
			if(key3==F5)
				 break;
			else
			 {
				for(i=0;i<2;i++) 
				 { 	
					 if((i%2)==0)
	
					{
					 
					 	tmp1  = AD7714(4); 
					 	tmp2 = ( (float)tmp1/(float)65536 )*249.9;
						display1(tmp2 );
						 	 
					}
			
					else if((i%2)!=0) 
					{
				 		tmp1  = AD7714(5); 
					 	tmp2 = ( (float)tmp1/(float)65536 )*2.499;
						if(tmp2>2.30)
						{
							P2_1 = 0;//控制继电器
							PrintHZ1(num[11],25,100,16,1);
							PrintHZ1(num[11],26,100,16,1);
							PrintHZ1(num[11],27,100,16,1);
							PrintHZ1(yue,21,100,16,2);
							PrintHZ1(jie,23,100,16,2);
						}
						//
						else
						{
							P2_1 = 1;//控制继电器	
							display2(tmp2);
						
						}
					}
				 }
			  }
		 } 
}						

⌨️ 快捷键说明

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