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

📄 vfd_disp.c

📁 日本FAMILY按摩椅W-1用的配套操作器程序。带VFD显示
💻 C
📖 第 1 页 / 共 3 页
字号:
/****************************************************/
/**          VFD DISP PRECESS                      **/
/**          DEVICE:MN11216B                       **/
/**          SHANHAI INSTITUTE OF FAMILY           **/
/**          DATE: 2003-09-14                      **/
/****************************************************/

//#pragma	interrupt	INTTM00  Start_send rb2
#pragma   interrupt   INTTM6  Start_send   rb2
#pragma interrupt     INTCSI1 Send_vfd_data  rb1
#pragma   interrupt   INTTM00   Column_move_data_prc rb3
#pragma sfr
#pragma nop
#pragma ei
#include "stdio.h"
#include "string.h"
#include "vfd.h"
#include "text.h"
#include "trm.h"
#include "slcd.h"
#include "iconprc.h"
#include "sound.h"

//#define TM8MS 187
#define TM8MS 234
extern bit play_sound_F ;
/*********** data define ************/
  
//typedef struct{
//               unsigned char repeat_F;          //need repeat disp is set 1
//               unsigned char *font_p;           //point disp font arry
//               }WORD_P;                         
              
/*************** data define ********************/
/************************************************/                 
 extern unsigned int	*DFontadr( unsigned int code ) ;

extern bit fix_data_prc_F;

/*********** function declare ************/
/*****************************************/
void G1_g2_init(void);                     //modify
void Get_bit_d( int dot_data);     //modify
void Get_new_code_p(void);                 //modify
void Get_0_34_disp_data(void);             //modify
void Get_35_disp_data(void) ;              //modify
void Get_36_disp_data(void) ;              //modify
void Get_37_disp_data(void) ;              //modify
void D_data_prc(unsigned char number, unsigned char *pp);        //modify
void Macro_interrupt_init(void) ;          //modify
void Sio1_3wire_init(void) ;               //modify
void Timer0_init(void) ;                   //modify
void Vfd_disp_init(void) ;                 //modify
void Clear_d_send_ram(void) ;              //modify
void Clear_ram_buff( unsigned char *pp);    //modify
void Clear_disp_p(void) ;                  //modify
void Clear_one_time_disp_F(unsigned char i);
void Reset_disp_p(void) ;                  //modify
void Clrscr(void);                         //modify
void  Change_d_d_send_data(void) ;         //modify
void  Get_next_font_adr(  unsigned char *s);         //modify
int	  isascii2( int c );                   //modify
//void Column_move_data_prc(void);           //modify
void G1g2_scan_data(void);      //modify
void   Timer6_init(void) ;                 //modify

/***************************************/
/***************************************/
      
const unsigned char *none = "" ;        
/****  only for bit d ***/
// 1a 1f 1b 1e 1c 1d 2a 2f/ 2b 2e 2c 2d 3a 3f 3b 3e/ 3c 3d 4a 4f 4b 4e 4c 4d/
const  unsigned  char init_d_data[16][3]={                        //   1d	2d 3d 4d
                                 {0x00,0x00,0x00},              //   0	0	0	0         0
                                 {0x00,0x00,0x01},              //   0	0	0	1         1
                                 {0x00,0x00,0x40},              //   0	0	1   0         2
                                 {0x00,0x00,0x41},              //   0	0	1	1         3
                                 {0x00,0x10,0x00},              //   0	1	0	0         4
                                 {0x00,0x10,0x01},              //   0	1	0	1         5
                                 {0x00,0x10,0x40},              //   0	1	1	0         6
                                 {0x00,0x10,0x41},              //   0  1   1   1         7
                                 {0x04,0x00,0x00},              //   1  0   0   0         8
                                 {0x04,0x00,0x01},              //   1	0	0	1         9
                                 {0x04,0x00,0x40},              //   1	0	1	0         A
                                 {0x04,0x00,0x41},              //   1	0	1	1         B
                                 {0x04,0x10,0x00},              //   1	1	0	0         C
                                 {0x04,0x10,0x01},              //   1	1	0	1         D
                                 {0x04,0x10,0x40},              //   1	1	1	0         E
                                 {0x04,0x10,0x41}               //   1	1	1	1         F
                                        } ;
                                       
//1a 1f 1b 1e 1c 1d 2a 2f/ 2b 2e 2c 2d 3a 3f 3b 3e/ 3c 3d 4a 4f 4b 4e 4c 4d/
const  unsigned char init_abc_data[16]={                        //  1a	1b	1c	2a
                                        0x00,                   //	 0	0	0	0
                                        0x02,                   //   0	0	0	1
                                        0x08,                   //	 0	0	1	0
                                        0x0a,                   //   0	0	1	1
                                        0x20,                   //	 0	1	0	0
                                        0x22,                   //   0	1	0	1
                                        0x28,                   //	 0	1	1	0
                                        0x2a,                   //	 0  1	1	1
                                        0x80,                   //   1	0	0	0
                                        0x82,                   //   1  0   0   1
                                        0x88,                   //   1  0	1	0
                                        0x8a,                   //   1	0	1	1
                                        0xa0,                   //   1	1	0	0
                                        0xa2,                   //   1  1	0	1
                                        0xa8,                   //   1  1   1   0
                                        0xaa                    //   1  1   1   1
                                       };            

//1a 1f 1b 1e 1c 1d 2a 2f/ 2b 2e 2c 2d 3a 3f 3b 3e/ 3c 3d 4a 4f 4b 4e 4c 4d/
const   unsigned char init_def_data[16]={                        // 	1f  1e  1d  2f
                                        0x00,                   //	 0	0	0	0
                                        0x01,                   //   0  0	0	1
                                        0x04,                   //	 0	0	1	0
                                        0x05,                   //   0	0	1	1
                                        0x10,                   //	 0	1	0	0
                                        0x11,                   //   0	1	0	1
                                        0x14,                   //	 0	1	1	0
                                        0x15,                   //	 0  1	1	1
                                        0x40,                   //   1	0	0	0
                                        0x41,                   //   1  0   0   1
                                        0x44,                   //   1  0	1	0
                                        0x45,                   //   1	0	1	1
                                        0x50,                   //   1	1	0	0
                                        0x51,                   //   1  1	0	1
                                        0x54,                   //   1  1   1   0
                                        0x55                    //   1  1   1   1
                                       };        
                                       
/************************************************/
/************************************************/

void G1_g2_init(void)
{
    G1g2_scan_data();
}
    
                                                              
/******************************************/
/******************************************/
 
void Get_bit_d( int dot_data)
{
  bit_arry.bit_combi = dot_data;
}

/*************************************************/
/*  disp point prc                               */
/*************************************************/

 void Get_new_code_p(void)
 {
 	if(one_time_disp_p[0].disp_F == 1)         //need repeat disp
//   	if((one_time_disp_p[0].disp_F == 1)&&(old_code_p != one_time_disp_p[0].font_p))         //need repeat disp 
 	   {
 	      code_p = one_time_disp_p[0].font_p ;
 	      old_code_p=code_p ;
 	      one_time_disp_p[0].disp_F = 0 ;
// 	      time_disp_p.disp_F = 0 ;
 	      time_need_disp_F = 0 ;
 	    }
 	  else if(time_disp_p.disp_F == 1)
//    else if((time_disp_p.disp_F ==1)&&(old_code_p != time_disp_p.font_p))
       {
         code_p = time_disp_p.font_p ;
         time_disp_p.disp_F = 0 ;
 	     time_need_disp_F = 1 ;
         
       }
 	   
 	else if(one_time_disp_p[1].disp_F == 1)
//   else if((one_time_disp_p[1].disp_F == 1)&&(old_code_p != one_time_disp_p[1].font_p))         //need repeat disp 
    
 	   {
 	      code_p = one_time_disp_p[1].font_p ;
 	      old_code_p = code_p ;
 	      one_time_disp_p[1].disp_F = 0 ;
 	      time_need_disp_F =1 ;
 	      
 	   }
 	else if(one_time_disp_p[2].disp_F == 1)
//  else if((one_time_disp_p[2].disp_F == 1)&&(old_code_p != one_time_disp_p[2].font_p))         //need repeat disp 
     
 	   {
 	      code_p = one_time_disp_p[2].font_p ;
 	      old_code_p=code_p;
 	      one_time_disp_p[2].disp_F = 0 ;
 	      time_need_disp_F = 1 ;
 	      
 	   } 
 	else if(one_time_disp_p[3].disp_F == 1)
//   else	if((one_time_disp_p[3].disp_F == 1)&&(old_code_p != one_time_disp_p[3].font_p))         //need repeat disp 
 
 	   {
 	      code_p = one_time_disp_p[3].font_p ;
 	      old_code_p=code_p ;
 	      one_time_disp_p[3].disp_F = 0 ; 
 	      time_need_disp_F = 1 ;
 	      
 	   }
 	else if(one_time_disp_p[4].disp_F == 1)
//   else	if((one_time_disp_p[4].disp_F == 1)&&(old_code_p != one_time_disp_p[4].font_p))         //need repeat disp 

 	   {
 	      code_p = one_time_disp_p[4].font_p ;
 	      old_code_p=code_p ;
 	      one_time_disp_p[4].disp_F = 0 ;
 	      time_need_disp_F = 1 ;
 	      
 	   }  
 	else if(repeat_disp_p.disp_F == 1)   //
 	   {
 	      code_p = repeat_disp_p.font_p ;
 	      old_code_p=code_p ;
 	      repeat_disp_p.disp_F = 0 ;
 	      time_need_disp_F = 1 ;
 	      
 	   }
 	else 
 	    { 
 	      code_p = ( unsigned char*)"";
 	      old_code_p = code_p ;
 	      time_need_disp_F = 1 ;
 	      
 	    } 
 	    
// 	if((old_code_p == insert_course_tbl_j[0])||(old_code_p == insert_course_tbl_j[1])
// 	    ||(old_code_p == Dlcd_time_display_tbl_j[3])) 
 	if((old_code_p == insert_course_tbl_j[0])||(old_code_p == insert_course_tbl_j[1]))
 	    
 	    
 	{
 	       Snd_out(KEY_SOUND);
 	}
 }

/*************************************************/
/*************************************************/
void Reset_disp_p(void)
{
 //  if(old_code_p == one_time_disp_p[0].font_p)
 //  		one_time_disp_p[0].disp_F = 1 ;
    if(old_code_p == one_time_disp_p[1].font_p)
   		one_time_disp_p[1].disp_F = 1 ;
   else if(old_code_p == one_time_disp_p[2].font_p)
   		one_time_disp_p[2].disp_F = 1 ;
   else if(old_code_p == one_time_disp_p[3].font_p)
   		one_time_disp_p[3].disp_F = 1 ;
   else if(old_code_p == one_time_disp_p[4].font_p)
   		one_time_disp_p[4].disp_F = 1 ;
   else if(old_code_p = repeat_disp_p.font_p)
        repeat_disp_p.disp_F = 1 ;
    
  } 
      
/*************************************/
/*************************************/
void Get_0_34_disp_data(void)
{
   unsigned char i;
  switch(move_count)
  {
   case 1:
          for(i=0;i<35;i++)
          
              memcpy(one_direct_data+i,one_direct_data+i+2,12);        
          break;
   case 2:
          for(i=0;i<35;i++)
              memcpy(two_direct_data+i,two_direct_data+i+2,12);         
          break;
   case 3:
          for(i=0;i<35;i++)
              memcpy(three_direct_data+i,three_direct_data+i+2,12);        
          break;
   case 4:
          for(i=0;i<35;i++)
          
              memcpy(four_direct_data+i,four_direct_data+i+2,12);        
          break;
   case 5:
          for(i=0;i<35;i++)
              memcpy(five_direct_data+i,five_direct_data+i+2,12);         
          break;
   case 6:
          for(i=0;i<35;i++)
              memcpy(six_direct_data+i,six_direct_data+i+2,12);        
          break;
          
   default:
          break;
    }
}


 /**************************************/
 /**************************************/
 void Get_35_disp_data(void)            //DEF
 {                  
     unsigned char no[12];
     unsigned char i,j,rot_no;
      unsigned char *p; 
     D_e_f_precess();
     for(j=0;j<3;j++)
     {
         rot_no=12;
         for(i=0;i<3;i++)
         { 
           no[4*j+i]=(unsigned char)(def_combi.def_arry[j]>>rot_no)&0x0f; 
           rot_no-=4;
         }
         no[4*j+i]=(unsigned char)(def_combi.def_arry[j])&0x0f;  
     }
     if(move_count == 1)         
        p=one_direct_data[35];         
     else if(move_count == 2)
        p=two_direct_data[35];
     else if(move_count == 3)
        p= three_direct_data[35];
     else if(move_count == 4)
        p= four_direct_data[35];
     else if(move_count == 5)
        p=five_direct_data[35];
     else if(move_count == 6)
        p=six_direct_data[35];
      
    for(j=0;j<12;j++)
          {
          i=no[j];
          *p =init_def_data[i];
          p++;
          }
 }   
 
 /***************************************************/
 /***************************************************/
 void Get_36_disp_data(void)                     //ABC
 {
     unsigned char no[12];
     unsigned char i,j,rot_no;
     unsigned char *p;
     
     A_b_c_precess();
     for(j=0;j<3;j++)
     {
         rot_no=12;
         for(i=0;i<3;i++)

⌨️ 快捷键说明

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