📄 zec901.vfd
字号:
/* Copyright 1998, ESS Technology, Inc. *//* SCCSID @(#)zec901.vfd 4.1 11/05/02 *//* Based on zec901.vfd 1.13 12/11/98 *//* * ZEC VFD 28-0901 * Application: VCD * * VFD controllers: NEC 16311, NEC 16312, Panasonic 12510, Rohm 2872 */#ifdef VFD_ZEC901#define ICON_CAL01 ANODE_G2P10#define ICON_CAL02 ANODE_G2P9#define ICON_CAL03 ANODE_G1P10#define ICON_CAL04 ANODE_G1P9#define ICON_CAL05 ANODE_G2P8#define ICON_CAL06 ANODE_G2P1#define ICON_CAL07 ANODE_G1P8#define ICON_CAL08 ANODE_G1P1#define ICON_CAL09 ANODE_G2P2#define ICON_CAL10 ANODE_G2P6#define ICON_CAL11 ANODE_G1P2#define ICON_CAL12 ANODE_G1P6#define ICON_CAL13 ANODE_G2P7#define ICON_CAL14 ANODE_G2P3#define ICON_CAL15 ANODE_G1P7#define ICON_CAL16 ANODE_G1P3#define ICON_CAL17 ANODE_G2P5#define ICON_CAL18 ANODE_G2P4#define ICON_CAL19 ANODE_G1P5#define ICON_CAL20 ANODE_G1P4#define ICON_empty ANODE_G2P11#define ICON_memory ANODE_G3P8#define ICON_program ANODE_G3P9#define ICON_intro ANODE_G3P10#define ICON_20plus ANODE_G3P11#define ICON_time ANODE_G4P8#define ICON_vocal ANODE_G4P10#define ICON_random ANODE_G4P11#define ICON_colon ANODE_G5P10#define ICON_karaoke ANODE_G6P9#define ICON_all ANODE_G6P10#define ICON_one ANODE_G6P11#define ICON_hyphen ANODE_G7P10#define ICON_track ANODE_G8P8#define ICON_seta ANODE_G8P9#define ICON_setb ANODE_G8P10#define ICON_repeat ANODE_G8P11#define ICON_cdg ANODE_G9P1#define ICON_pal ANODE_G9P2#define ICON_cdi ANODE_G9P3#define ICON_aux ANODE_G9P4#define ICON_r ANODE_G9P5#define ICON_video ANODE_G9P6#define ICON_l ANODE_G9P7#define ICON_ntsc ANODE_G9P8#define ICON_cd ANODE_G9P9#define ICON_play ANODE_G9P10#define ICON_pause ANODE_G9P11/* * Controller mode setting. This is determined by number of G/P and * the particular VFD controller that you are using. */unsigned int VFD_mode[] = {#ifdef BU2872 0x3f, /* 11G, 11P */#endif#ifdef D16311 0x0f, /* 16G, 12P */#endif#ifdef D16312 0x05, /* 9G, 13P */#endif};unsigned int VFD_char_segment_size[] = { 8 };/* Internal GP to external GP mapping */unsigned char VFD_refresh_address[] = {#ifdef D16311 ANODE_G1L, ANODE_G1H, ANODE_G2H, ANODE_G3L, ANODE_G4L, ANODE_G4H, ANODE_G5H, ANODE_G6L, ANODE_G7L, ANODE_G7H, ANODE_G8H, ANODE_G9L, ANODE_G10L, ANODE_G10H, ANODE_G11H, ANODE_G12L, ANODE_G13L, ANODE_G13H#endif#if (BU2872 || D16312 || MN12510) ANODE_G1L, ANODE_G1H, ANODE_G2L, ANODE_G2H, ANODE_G3L, ANODE_G3H, ANODE_G4L, ANODE_G4H, ANODE_G5L, ANODE_G5H, ANODE_G6L, ANODE_G6H, ANODE_G7L, ANODE_G7H, ANODE_G8L, ANODE_G8H, ANODE_G9L, ANODE_G9H#endif};/* 7-segment definition (really 8 segments) for track/minute/second. */VFD_CHAR_SEGMENTS VFD_char_segments[] = { {ANODE_G8P1, ANODE_G8P2, ANODE_G8P3, ANODE_G8P4, ANODE_G8P5, ANODE_G8P6, ANODE_G8P7, ICON_empty}, /* Track high */ {ANODE_G7P1, ANODE_G7P2, ANODE_G7P3, ANODE_G7P4, ANODE_G7P5, ANODE_G7P6, ANODE_G7P7, ICON_empty}, /* Track low */ {ANODE_G6P1, ANODE_G6P2, ANODE_G6P3, ANODE_G6P4, ANODE_G6P5, ANODE_G6P6, ANODE_G6P7, ICON_empty}, /* Minute high*/ {ANODE_G5P1, ANODE_G5P2, ANODE_G5P3, ANODE_G5P4, ANODE_G5P5, ANODE_G5P6, ANODE_G5P7, ICON_empty}, /* Minute low */ {ANODE_G4P1, ANODE_G4P2, ANODE_G4P3, ANODE_G4P4, ANODE_G4P5, ANODE_G4P6, ANODE_G4P7, ICON_empty}, /* Second high*/ {ANODE_G3P1, ANODE_G3P2, ANODE_G3P3, ANODE_G3P4, ANODE_G3P5, ANODE_G3P6, ANODE_G3P7, ICON_empty}, /* Second low */};/* Icons that belong to calendar */unsigned short VFD_calendar_table[] = { ICON_empty, ICON_CAL01, ICON_CAL02, ICON_CAL03, ICON_CAL04, ICON_CAL05, ICON_CAL06, ICON_CAL07, ICON_CAL08, ICON_CAL09, ICON_CAL10, ICON_CAL11, ICON_CAL12, ICON_CAL13, ICON_CAL14, ICON_CAL15, ICON_CAL16, ICON_CAL17, ICON_CAL18, ICON_CAL19, ICON_CAL20};VFD_ICON VFD_iconmsg[] = { {"clear_ab", {ICON_empty}, {ICON_seta, ICON_setb} }, {"seta", {ICON_seta}, {ICON_setb} }, {"setb", {ICON_seta, ICON_setb}, {ICON_empty} }, {"mono_l", {ICON_l}, {ICON_r, ICON_vocal} }, {"mono_r", {ICON_r}, {ICON_l, ICON_vocal} }, {"stereo", {ICON_l, ICON_r}, {ICON_vocal} }, {"vocal_l", {ICON_vocal, ICON_l}, {ICON_r} }, {"vocal_r", {ICON_vocal, ICON_r}, {ICON_l} }, {"vocal_off", {ICON_empty}, {ICON_vocal} }, {"fb", {ICON_empty}, {ICON_pause} }, {"ff", {ICON_empty}, {ICON_pause} }, {"pause", {ICON_pause}, {ICON_play} }, {"play", {ICON_play}, {ICON_pause} }, {"stop", {ICON_colon, ICON_time, ICON_hyphen, ICON_track}, {ICON_play, ICON_pause, ICON_intro} }, {"pbc_on", {ICON_empty}, {ICON_repeat, ICON_one, ICON_all} }, {"pbc_off", {ICON_empty}, {ICON_program, ICON_random} }, {"intro_on", {ICON_intro}, {ICON_empty} }, {"intro_off", {ICON_empty}, {ICON_intro} }, {"more_on", {ICON_20plus}, {ICON_empty} }, {"more_off", {ICON_empty}, {ICON_20plus} }, {"colon_on", {ICON_colon, ICON_time}, {ICON_empty} }, {"colon_off", {ICON_empty}, {ICON_colon, ICON_time} }, {"track", {ICON_track}, {ICON_empty} }, {"hyphen_on", {ICON_hyphen}, {ICON_empty} }, {"hyphen_off", {ICON_empty}, {ICON_hyphen} }, {"program", {ICON_program}, {ICON_random} }, {"shuffle", {ICON_random}, {ICON_program} }, {"repeat_off", {ICON_empty}, {ICON_repeat, ICON_one, ICON_all} }, {"repeat_one", {ICON_repeat, ICON_one}, {ICON_all} }, {"repeat_all", {ICON_repeat, ICON_all}, {ICON_one} }, {"cdda", {ICON_cd}, {ICON_video, ICON_cdi, ICON_cdg} }, {"vcd", {ICON_video}, {ICON_cdi, ICON_cd, ICON_cdg} }, {"ntsc", {ICON_ntsc}, {ICON_pal} }, {"pal", {ICON_pal}, {ICON_ntsc} }, {"key_up", {ICON_karaoke}, {ICON_empty} }, {"key_down", {ICON_karaoke}, {ICON_empty} }, {"key_resume", {ICON_empty}, {ICON_karaoke} }, {"init_state", {ICON_track, ICON_l, ICON_r}, {ICON_empty} },};/* * C-program will refer to a message by VFDMSG_xxx where xxx is the * name you assigned in column 1. */VFD_MSG VFD_msg[] = { {"nodisc", {CHAR_n, CHAR_O, CHAR_d, CHAR_I, CHAR_S, CHAR_C, CHAR_end}}, {"undisc", {CHAR_U, CHAR_n, CHAR_d, CHAR_I, CHAR_S, CHAR_C, CHAR_end}}, {"open", {CHAR_, CHAR_O, CHAR_P, CHAR_E, CHAR_n, CHAR_end}}, {"close", {CHAR_, CHAR_C, CHAR_L, CHAR_O, CHAR_S, CHAR_E, CHAR_end}}, {"vcd30", {CHAR_, CHAR_U, CHAR_C, CHAR_d, CHAR_3, CHAR_0, CHAR_end}}, {"clearall",{CHAR_, CHAR_, CHAR_, CHAR_, CHAR_, CHAR_, CHAR_end}},};unsigned short VFD_wheel[] = {};unsigned short VFD_ring[] = {};/* * Display position of characters in VFD_msg. */unsigned char VFD_msg_position[] = { VFD_TRACK, VFD_TRACK+1, VFD_MINUTE, VFD_MINUTE+1, VFD_SECOND, VFD_SECOND+1};#ifdef MN12510/* 12510 programming sequence *//* Commands */unsigned char VFD_12510_cmd[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 0xc, 0xd, 0xe};/* Corresponding data */unsigned char VFD_12510_dat[] = { 0x01, /* FLPCNT: */ 0x8e, /* DGTCNT: Specify digit: 9G, 15/16 */ 0x0a, /* SEGCNT: Specify segment: 11P */ 0x17, /* P01CNT: [G12,G11,G10,G9,P12,P11,P10,P9] */ 0x00, /* P2DIR: P2x [o/i,o/i,o/i,o/i] */ 0x00, /* P2CNT: [G16/P13,G15/P14,G14/P15,G13/P16,d,d,d,d] */ 0x10, /* P3DIR: P3x [o/i,o/i,o/i,o/i,o/i] */ 0x10, /* P3CNT: [K4/P34,K3/P33,K2/P32,K1/P31,K0/P30] */ 0x15, /* KEYCNT: Key specification (6 keys) */ 0x17, /* P01DATA: P0x P1x [3H/3L,2H/2L,1H/1L,0H/0L, ... */ 0x00, /* P2DATA: P2x [3H/3L,2H/2L,1H/1L,0H/0L] */ 0x0f /* P3DATA: P3x [3H/3L,2H/2L,1H/1L,0H/0L] */};#endif /* MN12510 */#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -