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

📄 pt6311.c

📁 前面板vfd控制代码
💻 C
📖 第 1 页 / 共 3 页
字号:
		   PD6311_WRITE(vfd_tvip[1][1]);		
		   em86xx_gpio_write(PD6311_STB,1);		   
		   break;	
		   
	case VFD_DISPLAY_VGA_480:
		 tv_mode =4;
		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS4_L|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgamode[0][0]);		
		   em86xx_gpio_write(PD6311_STB,1);

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS4_H|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgamode[0][1]);		
		   em86xx_gpio_write(PD6311_STB,1);		

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS3_L|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgaip[0][0]);		
		   em86xx_gpio_write(PD6311_STB,1);

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS3_H|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgaip[0][1]);		
		   em86xx_gpio_write(PD6311_STB,1);		   
		   break;	

	case VFD_DISPLAY_VGA_600:
		  tv_mode =4;
		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS4_L|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgamode[1][0]);		
		   em86xx_gpio_write(PD6311_STB,1);

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS4_H|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgamode[1][1]);		
		   em86xx_gpio_write(PD6311_STB,1);		

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS3_L|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgaip[0][0]);		
		   em86xx_gpio_write(PD6311_STB,1);

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS3_H|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgaip[0][1]);		
		   em86xx_gpio_write(PD6311_STB,1);		   
		   break;	

	case VFD_DISPLAY_VGA_768:
		tv_mode =6;
		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS4_L|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgamode[2][0]);		
		   em86xx_gpio_write(PD6311_STB,1);

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS4_H|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgamode[2][1]);		
		   em86xx_gpio_write(PD6311_STB,1);		

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS3_L|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgaip[2][0]);		
		   em86xx_gpio_write(PD6311_STB,1);

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS3_H|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgaip[2][1]);		
		   em86xx_gpio_write(PD6311_STB,1);	   
		   break;	

	case VFD_DISPLAY_VGA_1024:
		tv_mode =5;
		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS4_L|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgamode[3][0]);		
		   em86xx_gpio_write(PD6311_STB,1);

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS4_H|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgamode[3][1]);		
		   em86xx_gpio_write(PD6311_STB,1);		

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS3_L|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgaip[1][0]);		
		   em86xx_gpio_write(PD6311_STB,1);

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS3_H|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgaip[1][1]);		
		   em86xx_gpio_write(PD6311_STB,1);		   
		   break;	

	case VFD_DISPLAY_VGA_1200:
		tv_mode =4;
		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS4_L|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgamode[4][0]);		
		   em86xx_gpio_write(PD6311_STB,1);

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS4_H|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgamode[4][1]);		
		   em86xx_gpio_write(PD6311_STB,1);		

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS3_L|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgaip[0][0]);		
		   em86xx_gpio_write(PD6311_STB,1);

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS3_H|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgaip[0][1]);		
		   em86xx_gpio_write(PD6311_STB,1);		   
		   break;	

	case VFD_DISPLAY_576I:
		tv_mode =3;
		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS4_L|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgamode[5][0]);		
		   em86xx_gpio_write(PD6311_STB,1);

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS4_H|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_vgamode[5][1]);		
		   em86xx_gpio_write(PD6311_STB,1);		

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS3_L|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_tvip[3][0]);		
		   em86xx_gpio_write(PD6311_STB,1);

		   delay_ms(100);
		   em86xx_gpio_write(PD6311_STB,0);
		   PD6311_WRITE(DIGITS3_H|0xc0);
		   delay_ms(100);
		   PD6311_WRITE(vfd_tvip[3][1]);		
		   em86xx_gpio_write(PD6311_STB,1);		   
		   break;	
		   
   	}
/////////////////////////////////////////////////////////		
   delay_ms(100);
   em86xx_gpio_write(PD6311_STB,0);
   PD6311_WRITE(0x0b);
   em86xx_gpio_write(PD6311_STB,1);
   

   
   delay_ms(100);
   em86xx_gpio_write(PD6311_STB,0);
   PD6311_WRITE(0x8e);
   em86xx_gpio_write(PD6311_STB,1);
}


void VFD_DisplayTime(unsigned char hour,unsigned char min,unsigned char sec)
{
	
   int min_high, min_low, sec_high, sec_low;
   int tvmode = tv_mode;
   min_high = min/10;
   min_low = min%10;
   sec_high = sec/10;
   sec_low = sec%10;

   em86xx_gpio_setdirection(PD6311_STB,1);
   em86xx_gpio_setdirection(PD6311_DIN,1);
   em86xx_gpio_setdirection(PD6311_CLK,1);
   delay_ms(200);
   em86xx_gpio_write(PD6311_STB,0);	
   PD6311_WRITE(0x44);
   em86xx_gpio_write(PD6311_STB,1);	

/////////////////////////////////////////////////////////
   
   delay_ms(100);
   em86xx_gpio_write(PD6311_STB,0);
   PD6311_WRITE(0x00|0xc0);
   delay_ms(100);
   PD6311_WRITE((vfd_hour[hour][0]|vfd_min_high[min_high][0]));		
   em86xx_gpio_write(PD6311_STB,1);

   delay_ms(100);
   em86xx_gpio_write(PD6311_STB,0);
   PD6311_WRITE(0x01|0xc0);
   delay_ms(100);
   PD6311_WRITE((vfd_hour[hour][1])|(vfd_min_high[min_high][1]));		
   em86xx_gpio_write(PD6311_STB,1);

   delay_ms(100);
   em86xx_gpio_write(PD6311_STB,0);
   PD6311_WRITE(0x03|0xc0);
   delay_ms(100);
   PD6311_WRITE((vfd_min_low[min_low][0])|(vfd_sec_high[sec_high][0]));	
   em86xx_gpio_write(PD6311_STB,1);


   delay_ms(100);
   em86xx_gpio_write(PD6311_STB,0);
   PD6311_WRITE(0x04|0xc0);
   delay_ms(100);
   PD6311_WRITE((vfd_min_low[min_low][1]|vfd_sec_high[sec_high][1]));		
   em86xx_gpio_write(PD6311_STB,1); 


   delay_ms(100);
   em86xx_gpio_write(PD6311_STB,0);
   PD6311_WRITE(0x06|0xc0);
   delay_ms(100);
   PD6311_WRITE((vfd_sec_low[sec_low][0]|vfd_tvip[tvmode][0]));		
   em86xx_gpio_write(PD6311_STB,1);   

   delay_ms(100);
   em86xx_gpio_write(PD6311_STB,0);
   PD6311_WRITE(0x07|0xc0);
   delay_ms(100);
    PD6311_WRITE((vfd_sec_low[sec_low][1]|vfd_tvip[tvmode][1]));			
   em86xx_gpio_write(PD6311_STB,1);   

/////////////////////////////////////////////////////////		
   delay_ms(100);
   em86xx_gpio_write(PD6311_STB,0);
   PD6311_WRITE(0x0b);
   em86xx_gpio_write(PD6311_STB,1);
   

   
   delay_ms(100);
   em86xx_gpio_write(PD6311_STB,0);
   PD6311_WRITE(0x8e);
   em86xx_gpio_write(PD6311_STB,1);
}


void PD6311_Init(void)
{
	int i=0;

   em86xx_gpio_setdirection(PD6311_STB,1);
   em86xx_gpio_setdirection(PD6311_DIN,1);
   em86xx_gpio_setdirection(PD6311_CLK,1);
   vfd_delay_ms(200);
   em86xx_gpio_write(PD6311_STB,0);	
   PD6311_WRITE(0x40);
   em86xx_gpio_write(PD6311_STB,1);

   vfd_delay_ms(100);
   em86xx_gpio_write(PD6311_STB,0);
   PD6311_WRITE(0xc0);
   
   vfd_delay_ms(100);
   for(i=0;i<48;i++)
   	{
   vfd_delay_ms(100);
   PD6311_WRITE(0x00);
   
   	}
   em86xx_gpio_write(PD6311_STB,1);


   vfd_delay_ms(100);
   em86xx_gpio_write(PD6311_STB,0);
   PD6311_WRITE(0x0b);
   em86xx_gpio_write(PD6311_STB,1);
   

   
   vfd_delay_ms(100);
   em86xx_gpio_write(PD6311_STB,0);
   PD6311_WRITE(0x8e);
   em86xx_gpio_write(PD6311_STB,1);
}

void PD6311_SetSW(void)
{
	//int i=0;

  em86xx_gpio_setdirection(PD6311_STB,1);
  em86xx_gpio_setdirection(PD6311_DIN,1);
  em86xx_gpio_setdirection(PD6311_CLK,1);
  
   delay_ms(200);
   em86xx_gpio_write(PD6311_STB,0);	
   PD6311_WRITE(0x41);		//commod 2
   delay_ms(100);
   if(vfd_ON_OFF == 0)
   {
      PD6311_WRITE(0x00);
      vfd_ON_OFF = 1;
   }
   else
   {
      PD6311_WRITE(0x01);
      vfd_ON_OFF = 0;	  
   }
   em86xx_gpio_write(PD6311_STB,1);

}

void PD6311_OFF(unsigned int On_Off)
{
	//int i=0;

  em86xx_gpio_setdirection(PD6311_STB,1);
  em86xx_gpio_setdirection(PD6311_DIN,1);
  em86xx_gpio_setdirection(PD6311_CLK,1);
  
   delay_ms(200);
   em86xx_gpio_write(PD6311_STB,0);	
   PD6311_WRITE(0x41);		//commod 2
   delay_ms(100);   
    if(On_Off== 1)   
       PD6311_WRITE(0x00);       
   else  
       PD6311_WRITE(0x01);      
  
   em86xx_gpio_write(PD6311_STB,1);

}

void Check_Playing(void)
{
   #if 0
    em86xx_gpio_write(3,1);
   #endif
}

void Check_Stop(void)
{
	#if 0
    em86xx_gpio_write(3,0);
	#endif
}

⌨️ 快捷键说明

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