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

📄 vfd.h

📁 VFD荧光显示驱动程序
💻 H
字号:

#include "I2C.H"
unsigned char code vfd[]={0xEE,0x48,0xD6,0xDA,0x78,0xBA,0xBE,0xC8,0xFE,0xFA,0};
unsigned char code vfd2[]={0x3F,0x14,0x5B,0x5D,0x74,0x6D,0x6F,0x1C,0x7F,0x7D,0};

/////////////////////
#define dat P2_6 
#define clk P2_7 
#define stb P1_5
uchar shi=12,fen=0,miao=0;
uchar bdata die=1;
sbit   dot3=die^3;
bit 	 off_duty=0;
bit AM;
 ////////////////
tx_1bit(bit i)
{
   clk=0;
   dat=i;
   clk=1;
}
////////////////
tx_6bit(uchar i)
{
  uchar k; 
  delay(2);
  for (k=0;k<6;k++)
  {
   clk=0;
   dat=i&1;
   clk=1;
   i>>=1;
  }
 clk=1;
 dat=1;
}
////////////////
tx_7bit(uchar i)
{
  uchar k; 
  delay(2);
  for (k=0;k<7;k++)
  {
   clk=0;
   dat=i&1;
   clk=1;
   i>>=1;
  }
 clk=1;
 dat=1;
}
/////////////////txd  1 byte //////////////
tx_1byte(uchar i)
{ uchar k; 
  delay(2);
  for (k=0;k<8;k++)
  {
   clk=0;
   dat=i&1;
   clk=1;
   i>>=1;
  }
 clk=1;
 dat=1;
}
////////////////////////
uchar r_key_val()
{
	uchar i,op=0;
	stb=0;
	tx_1byte(0x42);// DATA SETTING COMMANDS  
	delay(1); 
	for(i=0;i<8;i++)
	{
		op<<=1;
		clk=0;
		_nop_();
		clk=1;
		op|=dat;  
	}
	stb=1;
  return op;
}
///////////
/*uchar r_key_val(uchar *key_val)
{   uchar p;
   	stb=0;
	tx_1byte(0x42);// DATA SETTING COMMANDS  
	delay(1);
	for(p=0;p<15;p++)
	{
	;
	}
	p=rx_1byte();
	stb=1;
	return p; 
}	   */
////////////////////////init
void init_vfd() 
{
	        delay(5);
	         stb=0;
		 	tx_1byte(2);// DISPLAY MODE SETTING COMMANDS
		 	stb=1;

		 	delay(1);

			stb=0;
			tx_1byte(0x40);// DATA SETTING COMMANDS 
			stb=1;	
			 
		 
			delay(5);	  
			stb=0; 
			tx_1byte(0x8f);//DISPLAY CONTROL COMMANDS 
			stb=1; 
}
///////////////////////////
display()
{  uchar h,i;
   init_vfd() ;
	for(h=0;h<10;h++)
			{
				
				stb=0;  
				tx_1byte(0xc0); //ADDRESS SETTING COMMANDS
			 	delay(1); 

				
				tx_1bit(1);
				if(off_duty==1) 
				{
				tx_1byte(255);//1 
				tx_6bit(255);
				tx_1bit(1);
				}
				else  
				{
				tx_1byte(0);//1 
				tx_6bit(0);
				tx_1bit(0);
				}


				tx_1byte(0);//2 
				tx_1byte(0);

                tx_1bit(0);	 
				tx_1byte(vfd[miao/10]);//3 
				tx_7bit (vfd2[miao%10]);

			    tx_1bit(0);	 
				tx_1byte(vfd[fen%10]);//4 
				tx_6bit(0);
				tx_1bit(AM);

				tx_1bit(0);	 
				tx_1byte((vfd[shi%10])|0x1);//5 
				tx_7bit (vfd2[fen/10]);

				tx_1bit(0);	
				i= shi/10;
				if(i==0)i=10;	 
				tx_1byte(vfd[i]);//6 
				tx_6bit(die&7);  
				tx_1bit(dot3);	  
				stb=1;	 
			}
}
//////////////////////////////
test_display()
{  uchar k;


		   init_vfd() ;
        	stb=0;  
			tx_1byte(0xc0); //ADDRESS SETTING COMMANDS
		 	delay(1);   
			for(k=0;k<12;k++)
			{
			   tx_1byte(255); 
			   delay(1);
			} 	   
			stb=1;	 
			delay(30000);
}

⌨️ 快捷键说明

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