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

📄 exper.c

📁 我使用的是MYSON的MTV412 MCU+MTV048
💻 C
📖 第 1 页 / 共 5 页
字号:
   
   break;      
 }*/ 
}
void ShowFreqSelect()
{
  OpenOSDWindow(0,1,1,25,12,blue,0);
  gotoxy(4,2);
  PrintString(ShowSW1,4,yellow);
  gotoxy(9,2);
  PrintString(Freqselect31,14,yellow);
  gotoxy(4,4);
  PrintString(ShowSW2,4,yellow);
  gotoxy(9,4);
  PrintString(Freqselect47,14,yellow);
  gotoxy(4,6);
  PrintString(ShowSW3,4,yellow);
  gotoxy(9,6);
  PrintString(Freqselect63,14,yellow);
  gotoxy(4,8);
  PrintString(ShowSW4,4,yellow);
  gotoxy(9,8);
  PrintString(Freqselect95,14,yellow);
  gotoxy(4,10);
  PrintString(AutoTest,12,red);
  gotoxy(4,11);
  PrintString(SingleTest,14,red);
}
void ShowCharDemos()
{
  //uchar i;
  ResetKey();
  ClearOSD();
  //InitOSD();
  TurnOSD(1);
  KeyLayer1=0; 
  KeyLayer2=0;
  KeyLayer3=1;
  KeyLayer4=0;

  ShowFreqSelect();
  WaitKeyup();//**************
  while(KeyLayer3!=0)
  {
   //Showsymboladdr();
   if((KeySelect1==1)&&(KeyLayer3==1))
     {
       delay(50);
       ResetKey();
       SendMtv212(0x21);
	   Freqflag=1;
       ChangeHORR(Freqflag);
     }
   if((KeySelect2==1)&&(KeyLayer3==1))
     {
       delay(50);
       ResetKey();
       SendMtv212(0x29);
       Freqflag=2;
       ChangeHORR(Freqflag);
     }
   if((KeySelect3==1)&&(KeyLayer3==1))
     {
       delay(50);
       ResetKey();
       SendMtv212(0x31);
       Freqflag=3;
       ChangeHORR(Freqflag);
     }
   if((KeySelect4==1)&&(KeyLayer3==1))
     {
       delay(50);
       ResetKey();
       SendMtv212(0x39);
       Freqflag=4;
       ChangeHORR(Freqflag);
     }
   if((KeySelect5==1)&&(KeyLayer3==1))
     { SingleOSDflag=1;//made the upper settings to be of no use
       AutoDemo();      
       
       KeyLayer3=0;
       KeyLayer1=1;
       Freqflag=2;//set to initial value 
       ThirdMenuFlg=0;      
       MainMenuFlg=1;//back to the mainmenu
       break;
     }
   if((KeySelect6==1)&&(KeyLayer3==1))
     {
     delay(150);
     KeyLayer4=0;
     KeyLayer3=0;
     KeyLayer2=1;
     KeyLayer1=0;
     //ResetKey();
     MainMenuFlg=0;
     SecondMenuFlg=1;
     ClearOSD();
     //SendMtv212(0x21);
     ResetKey();
     SingleOSDflag=0;//the flag sign autodemo or singledemo

     SingleDemo(Freqflag);//single moudle test

         
     }
   if(ThirdMenuFlg==1)
    {
     ThirdMenuFlg=0;
     ShowFreqSelect();
    }
  }
}

void Char_demo()           //change frequency      
{
// SelectFreq();
 ShowCharDemos();
}


void KeyControl()
{
 int counter;	
	
 ResetKey();//now detect the key Press
 for(counter=0;counter<20;counter++)//window last for 1 seconds
   {delay(50);
      	 
     if(KeySelect1==1)//pause the test
   	  {WaitKeyup();//************************
   	   while(1)
   	    {if(KeySelect1==1)//continue the test
   	 	  { WaitKeyup();   	 	       	 	    
            break;  
   	 	  }
   	     if(KeySelect4==1)//jump out ,dont resetkey
   	     	break;
   	    }//end of while(1)
   	   }//end of if keyselect1==1
   	 if(KeySelect4==1)//jump to next test
   	   {
         ResetKey();         
         break;
  	   }
	    	
     }//end of for()

}


void Frame_keycontrol()
{ 
  
 if(KeySelect1==1)
 	{
     WaitKeyup();//*************************
     while(1)
      	{
         if(KeySelect1==1) 
         	{WaitKeyup();//******************
         	 break;
         	}   
         if(KeySelect4==1)
         	{ResetKey();
             Frame_nextflag=1;
             break;

            }

         }//end of while(1)         
    }//end of if keyselect1==1

 if(KeySelect4==1)
 	{
      ResetKey();
      Frame_nextflag=1;
  
     }

}

void FullScreenDemo()
{
 uchar i,j;
 uchar flash=0;
 uchar silent=0;
 
 ClearOSD();
 //Initmoudletest31();
 ResetKey();
 OpenOSDWindow(0,0,0,29,14,blue,0);
 for(i=0;i<30;i++)
    for(j=0;j<15;j++)
     {
      PutChar(0x75,green);
     }//character 'h'
 
  
 SendOSDCmd(15,17,0x7f&OSD_C17);
 delay(100);
 SendOSDCmd(15,17,0x80|OSD_C17);

 KeyControl();//detect the keypress
          
    // SendOSDCmd(15,17,0x80|OSD_C17);    
    // delay(1000);//no flash for 1.5 seconds
        
     OpenOSDWindow(0,0,0,29,14,red,0);
     for(i=0;i<30;i++)
     for(j=0;j<15;j++)
     {
      PutChar(85,green);
     }

 KeyControl();//detect the keyprss 
     
}

void Showtest31()
{
  ClearOSD();
  OpenOSDWindow(0,8,5,23,9,blue,0);
  gotoxy(9,7);
  PrintString(TestFreq31,13,red);
  
}
void Showtest47()
{
  ClearOSD();
  OpenOSDWindow(0,8,5,23,9,blue,0);
  gotoxy(9,7);
  PrintString(TestFreq47,13,red);
  
}

void Showtest63()
{
  ClearOSD();
  OpenOSDWindow(0,8,5,23,9,blue,0);
  gotoxy(9,7);
  PrintString(TestFreq63,13,red);
  
}

void Showtest95()
{
  ClearOSD();
  OpenOSDWindow(0,8,5,23,9,blue,0);
  gotoxy(9,7);
  PrintString(TestFreq95,13,red);
  
}

void ShowallfontDemo()
{  
  int i=0,j=0;   
  
  ClearOSD();
  //Initmoudletest();
  OpenOSDWindow(1,0,1,29,13,cyan,0);
  OpenOSDWindow(2,0,0,29,14,blue,0);
  gotoxy(8,0);
  for(i=0;i<13;i++)
   PutChar(OSDFontall[i],7);
  gotoxy(0,14);
  PrintString(FrameSw1,18,white);  
  gotoxy(18,14);
  PrintString(FrameSw4,12,white);
  
  gotoxy(0,1);
  for(i=0;i<256;i++)
   {
    if(i%30==0)
     {
      j++;
      if(j==3) j++;
      if(j>=8) j=1;                   //omit black
     }
    PutChar(i,j);
    
   }
  for(i=0;i<128;i++)
   {
    if((i+16)%30==0)
     {
      j++;
      if(j==3) j++;
      if(j>=8) j=1;
     }
    PutPage2Char(i,j);
   }

   KeyControl();//detect the keyprss 


}


void Frame_shadow()
{ 
  uchar reg=0x80,shadow=0;
  int i;
  Frame_nextflag=0;

  ClearOSD();
  OpenOSDWindow(1,0,0,27,12,blue,0);  
  gotoxy(5,4);
  PrintString(Bordershadow,13,white);
  gotoxy(5,10);
  PrintString(FrameSw1,18,white);  
  gotoxy(5,11);
  PrintString(FrameSw4,12,white);
  //gotoxy(5,12);
 // PrintString(FrameSw6,12,white);
  
  ResetKey();//add here ,cant add inside Frame_keycontrol
  for(i=0;i<5;i++)//detect the key press in 1 second
  	{delay(100);
     Frame_keycontrol();

     }

  ResetKey();//add here ,cant add inside Frame_keycontrol
  for(;shadow<2;shadow++)
  	{if(Frame_nextflag==0)
      {
    	switch(shadow)
      	{
       	case 0:
       	  reg &= 0x9f;
       	  break;
       	case 1:
       	  reg &= 0x9f;
       	  reg |= 0x40;
       	  break;
       	case 2:
          reg &= 0x9f;
          reg |= 0x60;
          break;
         }    
        SendOSDCmd(15,17,reg);
      }
  	else break;
  	for(i=0;i<5;i++)//detect the key press
  		{delay(100);
     	Frame_keycontrol();

     	}

  	}

}

void Frame_toggle()
{ 
  uchar reg=0x80,fbkg=0;
  int i;
  Frame_nextflag=0;
  
  ClearOSD();
  OpenOSDWindow(1,0,0,27,12,blue,0);  
  gotoxy(5,4);
  PrintString(ToggleFbkgc,12,white);
  gotoxy(5,10);
  PrintString(FrameSw1,18,white);    
  gotoxy(5,11);
  PrintString(FrameSw4,12,white);
  //gotoxy(5,12);
  //PrintString(FrameSw6,12,white);

  ResetKey();//add here ,cant add inside Frame_keycontrol
  for(i=0;i<5;i++)//detect the key press in 1 second
  	{delay(100);
     Frame_keycontrol();

     }

  ResetKey();//add here ,cant add inside Frame_keycontrol 
  for(;fbkg<=4;fbkg++)
  	{if(Frame_nextflag==0)
  	{
  	 switch(fbkg)
       {
        case 0:
          reg &= 0xfe;          
          SendOSDCmd(15,20,0x00);		  
          break;
          
        case 1:          
          reg |= 0x01;         
          SendOSDCmd(15,20,0x00);
          break;
          
        case 2:          
          reg &= 0xfe;          
          SendOSDCmd(15,20,0x86);		  
          break;
          
        case 3:          
          reg &= 0xfe;
          SendOSDCmd(15,20,0x85);		  
          break;
          
        case 4:          
          reg &= 0xfe;
          SendOSDCmd(15,20,0x83);		  
          break;
       }
      SendOSDCmd(15,17,reg);//test
  	}
    else break;
    
     for(i=0;i<10;i++)//detect the key press in 1 second
  	 {delay(100);
     Frame_keycontrol();

     }
    }
  
     SendOSDCmd(15,20,0x00);//Clear the toggle effect
     
}


void SingleDemo(uchar Fflag)
{
 if(SingleOSDflag==1)//if man choose the autodemo
 { switch(Fflag)
  {case 1: Test_Movedown=0x45;//set the max of moving,character height,row spacing
           Test_Chhigh=0x31;
           Test_Rowhigh=0x0c;

  		   SendMtv212(0x21);
           delay(250);
           InitOSD31();
           delay(50);
           Showtest31();
           delay(2000); break;//waitting for the CRT prepared
          
 			
   case 2: Test_Movedown=0x50;
           Test_Chhigh=0x40;
           Test_Rowhigh=0x0f;
           
   	       SendMtv212(0x29);
           delay(250);
   	   	   InitOSD47();
   	   	   delay(50);
   	       Showtest47();
   	       delay(2000); break;

   case 3: Test_Movedown=0x90;
   		   Test_Chhigh=0x60;
   		   Test_Rowhigh=0x15;

   	       SendMtv212(0x31);
           delay(250);
   	       InitOSD63();
   	       delay(50);
   	       Showtest63();
   	       delay(2000); break;

   case 4: Test_Movedown=0xef;
           Test_Movedown=0x71;
           Test_Rowhigh=0x1f;
           
   	       SendMtv212(0x39);
           delay(250);
   	       InitOSD95();
   	       delay(50);
   	       Showtest95();
   	       delay(2000); break;

    }
  }
  else {switch(Fflag)    //man choose the singledemo
          {case 1: 
             Test_Movedown=0x45;//set the max of moving,character height,row spacing
             Test_Chhigh=0x31;
             Test_Rowhigh=0x0c;
             Showtest31(); break;

   		   case 2: 
   		     Test_Movedown=0x50;
             Test_Chhigh=0x40;
             Test_Rowhigh=0x0f;
    	     Showtest47();break;

   		   case 3: 
   		   	 Test_Movedown=0x90;
   		     Test_Chhigh=0x60;
   		     Test_Rowhigh=0x15;
   	         Showtest63();break;

           case 4: 
           	 Test_Movedown=0xef;
             Test_Movedown=0x71;
             Test_Rowhigh=0x1f;
   	         Showtest95(); break;
         }//end of switch

       }//end of else
  delay(1500);//delay 1.5 seconds to show the message
  FullScreenDemo();
  delay(200);//remove the key shaking
  ShowallfontDemo(); 
  delay(200);
  OSDSizeDemo();
  delay(200);
  OSDColorDemo();
  delay(200);
  OSDWinDemo();
  delay(200);
  Frame_vhdelay();
  delay(200);
  Frame_chheight();
  delay(200);
  Framefmat();
  delay(200);
  Frame_shadow();
  delay(200);
  Frame_toggle();  
  delay(200);

}

void AutoDemo()
{ 
  for(Freqflag=1;Freqflag<=4;Freqflag++)
  {  
  SingleDemo(Freqflag);
    
  }

}

void Demo()
{
 delay(200);//去按键抖动
 ClearOSD();
  InitOSD();
 TurnOSD(1);
 //Initmoudletest63();
 while(KeyLayer2!=0)
 {
  Char_demo();
 }
 SecondMenuFlg=0;
 MainMenuFlg=1;
}
main()
{

	int i=0;
  
    StartPro:
    //SendMtv212(0x29);
	InitMicroP();
	SendMtv212(0x21);
	//for(i=0;i<10;i++)
	 
      delay(100);
	//WAIT FOR mtv212 for stable
	
	InitOSD();
	delay(20);
	//InitOSD();
	TurnOSD(1);
	InitialUserFont();
    ResetKey();
    MainMenuFlg=1;

    Exitflag=0;
    
       while(Exitflag==0)
       {
         if(MainMenuFlg==1)
          {
           ShowMain();

           MainMenuFlg=0;
          }
         if((KeySelect1==1)&&(KeyLay

⌨️ 快捷键说明

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