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

📄 vfd_cus.h

📁 MTK 1389e版 MINI组合音响代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/*************** Description : VFD Driver Customer     ****************/
/***************               HW Leve Header file     ****************/
/***************                                       ****************/
/***************     Company : MediaTek Inc.           ****************/
/***************  Programmer : Harrison Hsieh          ****************/
/**********************************************************************/

#ifndef _VFD_CUS_H_
#define _VFD_CUS_H_

#ifdef VFD_SUPPORT


#if	defined(CS360)
#define VFD_16312
#else
#define VFD_16311
#endif
#define VFD_LED
//#define DIRECT_CROSS_TABLE

// how many segments on this VFD
#define MAX_SEG_SEQ_NUM       7// 9   //MAX message Length   

// VFD command related
#define MODESET        0x04        // 10 digits, 18 segment in 16311  xiao 03-04-22
#define VFD_CONTROL    0x8E        // set Display ON and Set Pulse width


#if	defined(CS360)
#define MAX_VFD_ADDR   0x15      // the real Max VFD_ADDR 9 digits 16 segements
#else
#define MAX_VFD_ADDR   0x23       // the real Max VFD_ADDR 9 digits 16 segements
#endif

#define MAX_DISC_NUM           9   //rotating disk

#define SEG_SIZE     14


// VFD mode constant code define here
code BYTE _pbVfdMode[] = {
#if	defined(VFD_16312)
 0xff, 0xff, 0x0f, 0x01, 0x0f, 0x02, 0x06, 0x01, 0x05, 0x20, 0x0f, 0x10,//6
 0x0f, 0x08, 0x0f, 0x04, 0x0f, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,//12,  //11,all? 02/03/04 long
 0x0e, 0x02, 0x0e, 0x01, 0x0d, 0x20, 0x03, 0x20, 0x04, 0x01, 0xff, 0xff,
 0x0a, 0x01, 0x07, 0x20, 0xff, 0xff, 0x0e, 0x04, 0x0e, 0x20, 0x0e, 0x40,
 0x01, 0x20, 0xff, 0xff
#else
 0x15, 0x10, 0x16, 0x02, 0x16, 0x04, 0x09, 0x01, 0x07, 0x80, 0x16, 0x40,//6
 0x16, 0x20, 0x16, 0x10, 0x16, 0x80, 0x15, 0x80, 0x15, 0x80, 0x0d, 0x80,//12,  //11,all? 02/03/04 long
 0x15, 0x02, 0x15, 0x01, 0x13, 0x80, 0x04, 0x80, 0x06, 0x01, 0x16, 0x08,
 0x0f, 0x01, 0x0a, 0x80, 0xff, 0xff, 0x15, 0x04, 0x15, 0x20, 0x15, 0x40,
 0x01, 0x80, 0xff, 0xff
 #endif
};

//xiao 03-04-22
code BYTE _pbVfdDisc[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};

// VFD seven-segment related defined here, not only for digits, but also for words
code BYTE _pbVfdSeg[7][28] = {      
#if	defined(VFD_16312)
{0x0d, 0x10, 0x0d, 0x08, 0x0c, 0x40, 0x0c, 0x02, 0x0c, 0x04, 0x0d, 0x01, 0x0c, 0x80, 0x0d, 0x02,  // ABCDEFGH
 0x0c, 0x80, 0x0c, 0x10, 0x0c, 0x10, 0x0c, 0x20, 0x0d, 0x04, 0x0c, 0x08},   // MJPNKR
 {0x0b, 0x10, 0x0b, 0x08, 0x0a, 0x40, 0x0a, 0x02, 0x0a, 0x04, 0x0b, 0x01, 0x0a, 0x80, 0x0b, 0x02,  // ABCDEFGH
 0x0a, 0x80, 0x0a, 0x10, 0x0a, 0x10, 0x0a, 0x20, 0x0b, 0x04, 0x0a, 0x08}, 
 {0x09, 0x10, 0x09, 0x08, 0x08, 0x40, 0x08, 0x02, 0x08, 0x04, 0x09, 0x01, 0x08, 0x80, 0x09, 0x02,  // ABCDEFGH
 0x08, 0x80, 0x08, 0x10, 0x08, 0x10, 0x08, 0x20, 0x09, 0x04, 0x08, 0x08}, 
 {0x07, 0x10, 0x07, 0x08, 0x06, 0x40, 0x06, 0x02, 0x06, 0x04, 0x07, 0x01, 0x06, 0x80, 0x07, 0x02,  // ABCDEFGH
 0x06, 0x80, 0x06, 0x10, 0x06, 0x10, 0x06, 0x20, 0x07, 0x04, 0x06, 0x08}, 
 {0x05, 0x10, 0x05, 0x08, 0x04, 0x40, 0x04, 0x02, 0x04, 0x04, 0x05, 0x01, 0x04, 0x80, 0x05, 0x02,  // ABCDEFGH
 0x04, 0x80, 0x04, 0x10, 0x04, 0x10, 0x04, 0x20, 0x05, 0x04, 0x04, 0x08}, 
 {0x03, 0x10, 0x03, 0x08, 0x02, 0x40, 0x02, 0x02, 0x02, 0x04, 0x03, 0x01, 0x02, 0x80, 0x03, 0x02,  // ABCDEFGH
 0x02, 0x80, 0x02, 0x10, 0x02, 0x10, 0x02, 0x20, 0x03, 0x04, 0x02, 0x08}, 
 {0x01, 0x10, 0x01, 0x08, 0x00, 0x40, 0x00, 0x02, 0x00, 0x04, 0x01, 0x01, 0x00, 0x80, 0x01, 0x02,  // ABCDEFGH
 0x00, 0x80, 0x00, 0x10, 0x00, 0x10, 0x00, 0x20, 0x01, 0x04, 0x00, 0x08}
#else
{0x13, 0x40, 0x13, 0x20, 0x12, 0x40, 0x12, 0x02, 0x12, 0x04, 0x13, 0x02, 0x12, 0x80, 0x13, 0x04,  // ABCDEFGH
 0x13, 0x01, 0x13, 0x08, 0x12, 0x10, 0x12, 0x20, 0x13, 0x10, 0x12, 0x08},   // MJPNKR
{0x10, 0x40, 0x10, 0x20, 0x0f, 0x40, 0x0f, 0x02, 0x0f, 0x04, 0x10, 0x02, 0x0f, 0x80, 0x10, 0x04,
 0x10, 0x01, 0x10, 0x08, 0x0f, 0x10, 0x0f, 0x20, 0x10, 0x10, 0x0f, 0x08},
{0x0d, 0x40, 0x0d, 0x20, 0x0c, 0x40, 0x0c, 0x02, 0x0c, 0x04, 0x0d, 0x02, 0x0c, 0x80, 0x0d, 0x04,
 0x0d, 0x01, 0x0d, 0x08, 0x0c, 0x10, 0x0c, 0x20, 0x0d, 0x10, 0x0c, 0x08},
{0x0a, 0x40, 0x0a, 0x20, 0x09, 0x40, 0x09, 0x02, 0x09, 0x04, 0x0a, 0x02, 0x09, 0x80, 0x0a, 0x04,
 0x0a, 0x01, 0x0a, 0x08, 0x09, 0x10, 0x09, 0x20, 0x0a, 0x10, 0x09, 0x08},
{0x07, 0x40, 0x07, 0x20, 0x06, 0x40, 0x06, 0x02, 0x06, 0x04, 0x07, 0x02, 0x06, 0x80, 0x07, 0x04,
 0x07, 0x01, 0x07, 0x08, 0x06, 0x10, 0x06, 0x20, 0x07, 0x10, 0x06, 0x08},
{0x04, 0x40, 0x04, 0x20, 0x03, 0x40, 0x03, 0x02, 0x03, 0x04, 0x04, 0x02, 0x03, 0x80, 0x04, 0x04,
 0x04, 0x01, 0x04, 0x08, 0x03, 0x10, 0x03, 0x20, 0x04, 0x10, 0x03, 0x08},
{0x01, 0x40, 0x01, 0x20, 0x00, 0x40, 0x00, 0x02, 0x00, 0x04, 0x01, 0x02, 0x00, 0x80, 0x01, 0x04,
 0x01, 0x01, 0x01, 0x08, 0x00, 0x10, 0x00, 0x20, 0x01, 0x10, 0x00, 0x08}
#endif
};

code BYTE _pbSegSequence[] = {
VFD_SEG_CHAP_HIGH, VFD_SEG_CHAP_LOW, VFD_SEG_HR, VFD_SEG_MIN_HIGH, VFD_SEG_MIN_LOW,
VFD_SEG_SEC_HIGH,VFD_SEG_SEC_LOW
};


code BYTE _pbVfdMsg[] = {
0x07, SEG_CHAR_H, SEG_CHAR_E, SEG_CHAR_L,  SEG_CHAR_L, SEG_CHAR_O, SEG_CLEAN,  SEG_CLEAN, // hello
0x07, SEG_CHAR_S, SEG_CHAR_T, SEG_CHAR_O,  SEG_CHAR_P, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN, // stop
0x07, SEG_CHAR_R, SEG_CHAR_O, SEG_CHAR_O,  SEG_CHAR_T, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN, // root
0x07, SEG_CHAR_T, SEG_CHAR_I, SEG_CHAR_T,  SEG_CHAR_L, SEG_CHAR_E, SEG_CLEAN,  SEG_CLEAN, // title
0x07, SEG_CHAR_N, SEG_CHAR_O, SEG_CHAR_d,  SEG_CHAR_I, SEG_CHAR_S, SEG_CHAR_C, SEG_CLEAN, // nodisc
0x07, SEG_CHAR_U, SEG_CHAR_N, SEG_CHAR_d,  SEG_CHAR_I, SEG_CHAR_S, SEG_CHAR_C, SEG_CLEAN, // undisc
0x07, SEG_CHAR_O, SEG_CHAR_P, SEG_CHAR_E,  SEG_CHAR_N, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN, // open
0x07, SEG_CHAR_C, SEG_CHAR_L, SEG_CHAR_O,  SEG_CHAR_S, SEG_CHAR_E, SEG_CLEAN,  SEG_CLEAN, // close
0x07, SEG_CLEAN , SEG_CLEAN , SEG_CHAR_L,  SEG_CHAR_O, SEG_CHAR_A, SEG_CHAR_d, SEG_CLEAN, // loading
0x07, SEG_CHAR_O, SEG_CHAR_F, SEG_CHAR_F,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN, // OFF
0x07, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,   SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN, // jpeg
0x07, SEG_CHAR_P, SEG_CHAR__, SEG_CHAR_C,  SEG_CHAR_d, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN, // p-cd
0x07, SEG_CHAR_E, SEG_CHAR_R, SEG_CHAR_R,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN, // err
0x07, SEG_CHAR_U, SEG_CHAR_P, SEG_CHAR_G,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN, // upg
0x07, SEG_CHAR_d, SEG_CHAR_I, SEG_CHAR_g,  SEG_CHAR_E, SEG_CHAR_S, SEG_CHAR_t, SEG_CLEAN, // digest
0x07, SEG_CHAR_P, SEG_CHAR_b, SEG_CHAR_C,  SEG_CHAR__, SEG_CHAR_P, SEG_CHAR_L, SEG_CHAR_A,// SEG_CHAR_y, // pbc-play
0x07, SEG_CHAR_I, SEG_CHAR__, SEG_CLEAN,   SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN, // I-
0x07, SEG_CHAR_V, SEG_CHAR__, SEG_CLEAN,   SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN, // V-
0x07, SEG_CHAR_P, SEG_CHAR__, SEG_CLEAN,   SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN, // P-
0x07, SEG_CHAR_I, SEG_CHAR__, SEG_CLEAN,  SEG_CHAR_L, SEG_CHAR_O, SEG_CHAR_A, SEG_CHAR_d, // loading
0x07, SEG_CHAR_V, SEG_CHAR__, SEG_CLEAN,  SEG_CHAR_L, SEG_CHAR_O, SEG_CHAR_A, SEG_CHAR_d, // loading
0x07, SEG_CHAR_P, SEG_CHAR__, SEG_CLEAN,  SEG_CHAR_L, SEG_CHAR_O, SEG_CHAR_A, SEG_CHAR_d, // loading
0x07, SEG_CHAR_I, SEG_CHAR__, SEG_CLEAN,  SEG_CHAR_O, SEG_CHAR_P, SEG_CHAR_E, SEG_CHAR_N, // open
0x07, SEG_CHAR_V, SEG_CHAR__, SEG_CLEAN,  SEG_CHAR_O, SEG_CHAR_P, SEG_CHAR_E, SEG_CHAR_N, // open
0x07, SEG_CHAR_P, SEG_CHAR__, SEG_CLEAN,  SEG_CHAR_O, SEG_CHAR_P, SEG_CHAR_E, SEG_CHAR_N, // open
0x07, SEG_CHAR_V, SEG_CHAR_O, SEG_CHAR_L, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN , SEG_CLEAN,  // VOL
0x07, SEG_CHAR_F, SEG_CHAR_L, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN , SEG_CLEAN,  // FL
0x07, SEG_CHAR_F, SEG_CHAR_R, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN , SEG_CLEAN,  // FR
0x07, SEG_CHAR_C, SEG_CHAR_N, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN , SEG_CLEAN,  // CENT
0x07, SEG_CHAR_S, SEG_CHAR_W, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN , SEG_CLEAN,  // SUb
0x07, SEG_CHAR_L, SEG_CHAR_S, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN , SEG_CLEAN,  // LS
0x07, SEG_CHAR_R, SEG_CHAR_S, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN , SEG_CLEAN,  // RS
0x07, SEG_CHAR_T, SEG_CHAR_R, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN , SEG_CLEAN,  // Tr
0x07, SEG_CHAR_b, SEG_CHAR_A, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN , SEG_CLEAN,  // ba
0x07, SEG_CLEAN,  SEG_CHAR_A, SEG_CHAR_U, SEG_CHAR_X, SEG_CHAR_I, SEG_CHAR_N, SEG_CLEAN , // AUXIN
0x07, SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  SEG_CLEAN,  // clean all
0x07, SEG_CHAR_S, SEG_CHAR_T, SEG_CHAR_A, SEG_CHAR_N, SEG_CHAR_d, SEG_CHAR_b, SEG_CHAR_y, // standby
0x07, SEG_CLEAN,  SEG_CLEAN,  SEG_CHAR_M, SEG_CHAR_U, SEG_CHAR_T, SEG_CHAR_E, SEG_CLEAN,  // mute
0x07, SEG_CLEAN,  SEG_CLEAN,  SEG_CHAR_A, SEG_CHAR_U, SEG_CHAR_T, SEG_CHAR_O, SEG_CLEAN,  // AUTO
0x07, SEG_CLEAN,  SEG_CHAR_M, SEG_CHAR_A, SEG_CHAR_N, SEG_CHAR_U, SEG_CHAR_A, SEG_CHAR_L // MANUAL
#ifdef BASS_BOOST_DRIVER
,
0x07, SEG_CHAR_b, SEG_CHAR_O,  SEG_CHAR_O, SEG_CHAR_S,SEG_CHAR_T,  SEG_CLEAN, SEG_CLEAN,  // bass boost 
#endif
#ifdef PRESET_MEMORY_STATION
,
0x07, SEG_CLEAN,  SEG_CHAR_P, SEG_CHAR_R, SEG_CHAR_E, SEG_CHAR_S, SEG_CHAR_E, SEG_CHAR_T  // PRESET
#endif
#if defined(USE_PT2399)
,
0x07, SEG_CHAR_M, SEG_CHAR_V, SEG_CHAR_O, SEG_CHAR_L, SEG_CLEAN,  SEG_CLEAN , SEG_CLEAN,  // MVOL
0x07, SEG_CHAR_E, SEG_CHAR_C, SEG_CHAR_H, SEG_CHAR_O, SEG_CLEAN,  SEG_CLEAN , SEG_CLEAN,  // ECHO
#endif
};

code WORD _pbMsgTable[] = {
0  ,8  ,16 , 24, 32, 40, 48, 56, 64, 72,
80 ,88 ,96 ,104,112,120,128,136,144,152,
160,168,176,184,192,200,208,216,224,232,
240,248,256,264,272,280,288,296,304,312
#ifdef BASS_BOOST_DRIVER
,320
#endif
#ifdef PRESET_MEMORY_STATION
,320

⌨️ 快捷键说明

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