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

📄 vfd12864.c

📁 C51 DOS与WINDOWS环境下
💻 C
📖 第 1 页 / 共 2 页
字号:
                       /*49--  文字:  KN  --*/                       
                       0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,
                       0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,
                       /*50--  文字:  /S  --*/
                       0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,
                       0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,
                       /*51--  文字:  cm  --*/                       
                       0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,
                       0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,
                       /*52--  平方号:这是您新建的图像  --*/                       
                       0x00,0x84,0xC2,0xA2,0x92,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                       /*53--  冒号 :这是您新建的图像  --*/
                       0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                       0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                       /*54--  文字:  20  --*/
                       0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,
                       0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
                       /*55--  文字:  00  --*/
                       0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,
                       0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
                       /*56--  文字:  第  --*/
                       0x10,0x08,0x04,0xD3,0x56,0x5A,0x52,0x5A,0xF4,0x53,0x56,0x5A,0x72,0x02,0x02,0x00,
                       0x00,0x20,0x20,0x23,0x12,0x12,0x0A,0x06,0xFF,0x02,0x02,0x12,0x22,0x1E,0x00,0x00,
                       /*57--  文字:  点  --*/
                       0x00,0x00,0x00,0xE0,0x20,0x20,0x20,0x3F,0x24,0x24,0x24,0xF4,0x24,0x00,0x00,0x00,
                       0x00,0x40,0x30,0x07,0x12,0x62,0x02,0x0A,0x12,0x62,0x02,0x0F,0x10,0x60,0x00,0x00,
	                };
	                
/*开机画面1中显示的汉字*/
char idata pic1_chn[3][4]= {
                             32,7,32,1,/*测*/
                             56,7,32,2,/*力*/
                             80,7,32,3,/*仪*/                       
                           }; 

/**************************************/
/*            延时函数                */
/**************************************/                                  
delay(int num)     
 {
  int i;
  for(i=0;i<num;i++)
  {;}
 }



/*************************************************************/ 
/*           6×8数字显示                                     */
/* 在显示屏上的坐标为(x,y),x的范围0~127列,y的范围0~7(字节) */
/*************************************************************/
void disp_num(char x,char y)
 {
   char k;
   unsigned int offset;
   offset=8*x+y;
   for(k=0;k<6;k++)
   	 {
   	   XBYTE[VFDWRITE+offset+8*k]=NUM[code_1][k];
   	 }
 }

/********************************************************** **/ 
/*         8×16英文、数字显示,显示一个字                     */
/* 在显示屏上的坐标为(x,y),x的范围0~127列,y的范围0~7(字节) */
/*************************************************************/
void disp_eng(char x,char y)
 { 
   char k;
   unsigned int offset;
   offset=8*x+y;
   for(k=0;k<8;k++)
   	 {
   	   XBYTE[VFDWRITE+offset+8*k]=ENG[code_1][k];
   	 }
   for(k=0;k<8;k++)
   	 {
   	   XBYTE[VFDWRITE+(offset-1)+8*k]=ENG[code_1][8+k];
     }
 }

/*************************************************************/
/*           16×16汉字显示,显示一个字                        */
/* 在显示屏上的坐标为(x,y),x的范围0~127列,y的范围0~7(字节) */
/*************************************************************/
void disp_chn(char x,char y)
 {
   char k;
   unsigned int offset;
   offset=8*x+y;
   for(k=0;k<16;k++)
   	 {
   	   XBYTE[VFDWRITE+offset+8*k]=CHN[code_1][k];
   	 }
   for(k=0;k<16;k++)
   	 {
   	   XBYTE[VFDWRITE+(offset-1)+8*k]=CHN[code_1][16+k];
     }
 }

/***********************************************************************/
/* disp_word(char x,char y,char i,char j)单个汉字、字符的显示程序      */
/* 此程序可以实现在屏幕上的任何位置显示一个6×8、8×16、16×16的字        */
/* 字在显示屏上的坐标为(x,y),x的范围0~127列,y的范围0~7(字节);        */
/* j选择数组的第几行;当i为6时表示选择NUM[j][]                          */
/* i为16时表示选择ENG[j][],i为32时表示选择CHN[j][]                     */
/***********************************************************************/
void disp_word(char x,char y,char i,char j)
 {
   char wide,high;
   char k;
   int offset;
   offset=8*x+y;
   if(i==6)
     {
   	  wide=6;
   	  high=8;
   	  for(k=0;k<wide;k++)
   	   {
   	     XBYTE[VFDWRITE+offset+8*k]=NUM[j][k];
   	   }
     } 
     else if(i==16)
      {
      	wide=8;
      	high=16;
      	for(k=0;k<wide;k++)
   	     {
   	       XBYTE[VFDWRITE+offset+8*k]=ENG[j][k];
   	     }
   	    for(k=0;k<wide;k++)
   	     {
   	       XBYTE[VFDWRITE+(offset-1)+8*k]=ENG[j][wide+k];
   	     }
      }
      else if(i==32)
       {
      	 wide=16;
      	 high=16;
      	 for(k=0;k<wide;k++)
   	       {
   	         XBYTE[VFDWRITE+offset+8*k]=CHN[j][k];
   	       }
   	     for(k=0;k<wide;k++)
   	       {
   	         XBYTE[VFDWRITE+(offset-1)+8*k]=CHN[j][wide+k];
   	       }
       }
 }
 
/*************************************************************/
/*    在屏幕上显示32个汉字,对应的内容从chnbuf[]中读取       */
/*************************************************************/
display_c()
 {
 	char i,j; 	
 	for(j=0;j<4;j++)
 	  {
 	    for(i=0;i<8;i++)
 	      {
 	        code_1=chnbuf[8*j+i];
 	        disp_chn(16*i,(7-2*j));
 	      } 	    
 	  } 	
 }

/**************************************************/ 
/*      开机画面1 显示时间,年月日时分秒          */
/**************************************************/ 
void time_pic1()
 {
   code_1=year/16;/*年*/
   disp_eng(32,5);
   code_1=year%16;/**/
   disp_eng(40,5);
   code_1=11;/* - */
   disp_eng(48,5);
   code_1=month/16;/*月*/
   disp_eng(56,5);
   code_1=month%16;/**/
   disp_eng(64,5);
   code_1=11;/* - */
   disp_eng(72,5);
   code_1=day/16;/*日*/
   disp_eng(80,5);
   code_1=day%16;/**/
   disp_eng(88,5);
   code_1=hour/16;/*时*/
   disp_eng(32,3);
   code_1=hour%16;/**/
   disp_eng(40,3);
   code_1=22;/* : */
   disp_eng(48,3);
   code_1=minute/16;/*分*/
   disp_eng(56,3);
   code_1=minute%16;/**/
   disp_eng(64,3);
   code_1=22;/* : */
   disp_eng(72,3);
   code_1=second/16;/*秒*/
   disp_eng(80,3);
   code_1=second%16;
   disp_eng(88,3);
 }


/**************************************************************************************/
/*                                                                                    */
/*                          主程序                                                    */
/*                                                                                    */
/**************************************************************************************/
void main ()
{   
  unsigned char a,b,c,d;
  unsigned char n;
//  unsigned int i;
  init_com();/*初始化串口*/
  write_ad7791(0x3c);/*将7791设置成连续读*/
  /**************************  画面1显示 **********************************************/
//pic1:
  keyval=0;
  XBYTE[VFDCONTROL]=0x70;/*清屏*/
  XBYTE[VFDCONTROL]=0xf0;/*允许写、显示*/
  delay(50);
    for(n=0;n<32;n++)/*汉字缓冲区初始化*/
      {
      	chnbuf[n]=0;
      }
    /*chnbuf[2]=1;chnbuf[3]=2;chnbuf[4]=3;*/
    chnbuf[24]=39;chnbuf[25]=42;chnbuf[26]=43;chnbuf[27]=44;chnbuf[28]=45;chnbuf[29]=46;chnbuf[30]=47;chnbuf[31]=48;
    display_c();/*开机画面1显示汉字*/
    for(n=0;n<3;n++)/*显示 测 力 仪*/
      { 
        disp_word(pic1_chn[n][0],pic1_chn[n][1],pic1_chn[n][2],pic1_chn[n][3]);
      }
//    while(keyval!=14)
//      {
//      	read_time();/*读X1228将年月日时分秒赋值给相应的全局变量*/
//        time_pic1();/*在开机画面1中显示时间,年月日时分秒*/
//      }
//    goto pic2;
    
//    switch(keyval)
//      {
//        case 14: goto pic2;
//        case 11: goto pic4;
//        case 10: goto pic3;
//        case 17: goto pic6;
//     }
  /**********************************************************************************/ 

⌨️ 快捷键说明

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