📄 drv_lcd.c
字号:
/******************************************************************************/
/* [NAME] :drv_LCD.c */
/* [OUTLINE]: */
/* [HISTORY]: */
/* [NOTE] :TAB=4 */
/******************************************************************************/
//#include <machine.h> /* Z80梡 */
#include "BU18703.h" /* CPU儗僕僗僞掕媊 */
#include "prototype.h"
#include "extern.h"
#include "mcal.h"
#if !LCD_DM //[dyna-DM]
#include <stdlib.h>
#endif
/*----------------------------------------------------------------------------*/
//UINT08 gu08_flg_IntrTimer04; //for LED COM,2ms timer flg
//UINT08 gu08_ledcom_count;
//UINT08 gu08_flg_ledcom;
#if 0// AC00001 !LCD_DM
const UINT08 EQGData[][5][8] = {
{ // --- FLAT ---
{ B00000, B00000, B00000, B00000, B11111, B00000, B00000, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B00000, B11111, B00000, B00000, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B00000, B11111, B00000, B00000, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B00000, B11111, B00000, B00000, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B00000, B11111, B00000, B00000, B00000 } // 11111 11111 11111 11111 11111
}, // 00000 00000 00000 00000 00000
// 00000 00000 00000 00000 00000
// 00000 00000 00000 00000 00000
{ // --- POPS ---
{ B00000, B00000, B00000, B00000, B00000, B00000, B11111, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B00000, B00011, B01111, B11111, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B01111, B11111, B11111, B11111, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B10000, B11100, B11111, B11111, B00000 }, // 00000 00000 01111 10000 00000
{ B00000, B00000, B00000, B00000, B00000, B10000, B11111, B00000 } // 00000 00011 11111 11100 00000
}, // 00000 01111 11111 11111 10000
// 11111 11111 11111 11111 11111
// 00000 00000 00000 00000 00000
{ // --- JAZZ ---
{ B00000, B00000, B00000, B11000, B11110, B11111, B11111, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B00000, B00000, B10111, B11111, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B00000, B00000, B00000, B11111, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B00000, B00001, B01111, B11111, B00000 }, // 11000 00000 00000 00000 00111
{ B00000, B00000, B00000, B00111, B11111, B11111, B11111, B00000 } // 11110 00000 00000 00001 11111
}, // 11111 10111 00000 01111 11111
// 11111 11111 11111 11111 11111
// 00000 00000 00000 00000 00000
{ // --- ROCK ---
{ B00000, B10000, B11000, B11100, B11111, B11111, B11111, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B00000, B10000, B11110, B11111, B00000 }, // 10000 00000 00000 00001 10000
{ B00000, B00000, B00000, B00000, B00000, B00001, B11111, B00000 }, // 11000 00000 00000 00011 11000
{ B00000, B00001, B00011, B00111, B01111, B11111, B11111, B00000 }, // 11100 00000 00000 00111 11100
{ B00000, B10000, B11000, B11100, B11110, B11111, B11111, B00000 } // 11111 10000 00000 01111 11110
}, // 11111 11110 00001 11111 11111
// 11111 11111 11111 11111 11111
// 00000 00000 00000 00000 00000
{ // --- CLASSIC ---
{ B00000, B00000, B00000, B00000, B11100, B11111, B11111, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B00000, B00000, B01000, B11111, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B00000, B00000, B00000, B11111, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B00000, B00111, B11111, B11111, B00000 }, // 00000 00000 00000 00000 00000
{ B00000, B00000, B00000, B00000, B11110, B11110, B11111, B00000 } // 11100 00000 00000 00111 11110
} // 11111 01000 00000 11111 11110
// 11111 11111 11111 11111 11111
// 00000 00000 00000 00000 00000
};
// 1 2 3 3 3 4
// 00011 11111 11111 11111 11111 11000
// 00011 11111 11111 11111 11111 11000
// 00011 11111 00000 00000 00000 11000
// 00011 11111 00000 00000 00000 11000
// 00011 11110 00000 00000 00000 11110
// 00011 11110 00000 00000 00000 11110
// 00011 11100 00000 00000 00000 11110
// 00011 11100 00000 00000 00000 11110
//
// 1 5 6 6 6 7
// 00011 11000 00000 00000 00000 11110
// 00011 11000 00000 00000 00000 11110
// 00011 10000 00000 00000 00000 11110
// 00011 10000 00000 00000 00000 11110
// 00011 00000 00000 00000 00000 11000
// 00011 00000 00000 00000 00000 11000
// 00011 11111 11111 11111 11111 11000
// 00011 11111 11111 11111 11111 11000
const UINT08 BattData[][8] = {
{ B00011, B00011, B00011, B00011, B00011, B00011, B00011, B00011 }, // 1
{ B11111, B11111, B11111, B11111, B11110, B11110, B11100, B11100 }, // 2
{ B11111, B11111, B00000, B00000, B00000, B00000, B00000, B00000 }, // 3
{ B11000, B11000, B11000, B11000, B11110, B11110, B11110, B11110 }, // 4
{ B11000, B11000, B10000, B10000, B00000, B00000, B11111, B11111 }, // 5
{ B00000, B00000, B00000, B00000, B00000, B00000, B11111, B11111 }, // 6
{ B11110, B11110, B11110, B11110, B11000, B11000, B11000, B11000 } // 7
};
const UINT08 EQDispTbl[][13] = {
" FLAT ",
" POP ",
" JAZZ ",
" ROCK ",
" CLASSIC "
};
const UINT08 ClearData[][8] = { // File Serch Clear
{ B11111, B10001, B00101, B01001, B11111, B01000, B00100, B00000 } // 11111
}; // 10001
// 00101
// 01001
// 11111
// 01000
// 00100
// 00000
// --- LINE 1
// 1 2 3
// 123456789012345678901234567890
const UINT08 Tbl_ScrollDataLine1[] = "Title: ";
// --- LINE 2
//const UINT08 Tbl_ScrollDataLine2[] = "MP3 Sampling frequency: 44.1kHz Bitrate: 320kbps ";
// 1 2 3 4 5 6
// 12345678901234567890123456789012345678901234567890123456789012
const UINT08 Tbl_ScrollDataLine2[] = "MP3 Sampling frequency: kHz Bitrate: kbps ";
const UINT08 Tbl_ScrollDataL2[][3][7] = {
{ // FE0[5:4] FE0[3:2]
"11.025", // 00 00
" 12", // 00 01
" 8" // 00 10
}, {
" 22.05", // 10 00
" 24", // 10 01
" 16" // 10 10
}, {
" 44.1", // 11 00
" 48", // 11 01
" 32" // 11 10
} };
// --- LINE 3
// --- LINE 4
const UINT08 Tbl_ScrollData[][8] = {
" FLAT",
" POP",
" JAZZ",
" ROCK",
"CLASSIC"
};
// 1 2 3 4 5 6
// 123456789 0 1 2 3 4567890123456789012345678901234567890123456789012
const UINT08 Tbl_ScrollDataBase[] = ":\x08\x09\x0A\x0B\x0C VOL: ";
const UINT08 Tbl_InputData[7][7] = {
{ "ABCDEF"},
{ "GHIJKL"},
{ "MNOPQR"},
{ "STUVWX"},
{ "YZ0123"},
{ "456789"},
{ "*\xDF\xE1\x08\x10\xD0" }
};
#endif // end of LCD_DM
/*----------------------------------------------------------------------------*/
/* [NAME] :DrvLCD_ALL_Off */
/* [FUNCTION] : */
/* [RETURN] :void */
/* [PARAMETER]:void */
/* [HISTORY] : */
/* [NOTE] :姰慡徚嫀 傾僀僐儞傕娷傔偰丅 */
/*----------------------------------------------------------------------------*/
void DrvLCD_ALL_Off( void )
{
#if LCD_DM //[dyna-DM]
//摗揷幃僷僋儕丅偙偺婰弎偺曽偑徣俼俷俵丅
CPU_LCD_SDR0=
CPU_LCD_SDR1=
CPU_LCD_SDR2=
CPU_LCD_SDR3=
CPU_LCD_SDR4=
CPU_LCD_SDR5=
CPU_LCD_SDR6=
CPU_LCD_SDR7=
CPU_LCD_SDR8=
CPU_LCD_SDR9=
CPU_LCD_SDR10=0;
#else
DrvLCD_ClearDisplay();
#endif
return;
}
/*----------------------------------------------*/
void DrvLCD_All_Clr(void) //AP032,060309
{
CPU_LCD_SDR0&=B00000000; //clear all,except"ST"
CPU_LCD_SDR1&=B01000000; //clear all,except"sleep"
CPU_LCD_SDR2&= B00000000; //clear all,except"VOL"
CPU_LCD_SDR3&= B00010000; //clear all,except alm1
CPU_LCD_SDR4&=B00010000; //clear all,except"alm2"
CPU_LCD_SDR5&=B00000000; //clear all
CPU_LCD_SDR6&= B00000000; //clear all
CPU_LCD_SDR7&=B00000000; //clear all
CPU_LCD_SDR8&=B00000000; //clear all
CPU_LCD_SDR9&=B00000000; //clear all
CPU_LCD_SDR10&=B11110000;
return;
}
/*----------------------------------------------*/
void DrvLCD_AllNumber_Off(void) //AP
{
CPU_LCD_SDR0&=B00010000; //clear all,except"ST"
CPU_LCD_SDR1&=B11011111; //clear prog
CPU_LCD_SDR2&= B00010000; //clear all,except"VOL"
CPU_LCD_SDR3&= B00010000; //clear all,except alm1
CPU_LCD_SDR4&=B00010000; //clear all,except"alm2"
CPU_LCD_SDR5&=B00000000; //clear all
CPU_LCD_SDR6&= B00000000; //clear all
CPU_LCD_SDR7&=B00000000; //clear all
CPU_LCD_SDR8&=B00000000; //clear all
CPU_LCD_SDR9&=B00000000; //clear all
return;
}
/*--------------------------------------*/
#if LCD_DM //[dyna-DM]
void DrvLCD_IconMask( void )
{
/* B0005 --->
CPU_LCD_SDR0 &= B00010000; // DBB
CPU_LCD_SDR1 &= B00001000; // DBB傾僀僐儞偩偗巆偡
CPU_LCD_SDR2 = //B00000000; // clear VOL
CPU_LCD_SDR3 = //B00000000; // clear '1'
CPU_LCD_SDR4 = //B00000000; // clear ALL
CPU_LCD_SDR5 = B00000000; // clear ':'
CPU_LCD_SDR6 &= B00010000; // HOLD
CPU_LCD_SDR7 &= B00010000; // BATT
CPU_LCD_SDR8 &= B00010000; // 傾僀僐儞柍偟
CPU_LCD_SDR9 &= B00010000; // 傾僀僐儞柍偟
CPU_LCD_SDR10 &= B11110000; // EQ傾僀僐儞偩偗巆偡
*/
CPU_LCD_SDR0 = //B00000000; // clear "ST"
CPU_LCD_SDR1 = //B00000000; // clear TUNE, AUX, TAPE icon
CPU_LCD_SDR2 = //B00000000; // clear VOL
CPU_LCD_SDR3 = //B00000000; // clear '1'
CPU_LCD_SDR4 = //B00000000; // clear ALL
CPU_LCD_SDR5 = //B00000000; // clear ':'
CPU_LCD_SDR6 = //B00000000; // clear "1"
CPU_LCD_SDR7 = //B00000000; // clear "KHz"
CPU_LCD_SDR8 = //B00000000; // clear ". MHz"
CPU_LCD_SDR9 = B00000000; // clear "V"
CPU_LCD_SDR10 &= B11110000; // EQ傾僀僐儞偩偗巆偡
//B0005 <---
}
#endif //LCD_DM
/*----------------------------------------------------------------------------*/
/* [NAME] :DrvLCD_DispOpen_On */
/* [FUNCTION] : */
/* [RETURN] :void */
/* [PARAMETER]:void */
/* [HISTORY] : */
/* [NOTE] : */
/*----------------------------------------------------------------------------*/
void DrvLCD_Open_On( void )
{
#if LCD_DM //[dyna-DM]
DrvLCD_IconMask();
if( gu08_kind_Display == DISP_9DIGIT )
{
CPU_LCD_SDR4 = B11101011; /* 'O' */ // clear ALL
CPU_LCD_SDR5 = B00101111; /* 'P' */ // clear ':'
CPU_LCD_SDR6 |= B10001111; /* 'E' *///+HOLD
CPU_LCD_SDR7 |= B01101011; /* 'N' *///+BATT
}else DrvLCD_ReadDisc_On();
#else
#if LINE4
//"0123456789AB"
DrvLCD_DisplayData(LINE_1, DIGIT_00, " OPEN ");
if( gu08_mode_ESP ){
DrvLCD_ESP_On();
}
DrvLCD_ClearLine( LINE_2 );
DrvLCD_ClearLine( LINE_3 );
DrvLCD_ClearLine( LINE_4 );
#else
// !!make 2.5line!!
#endif // end of LINE4
#endif // end of LCD_DM
return;
}
//婥偯偄偨偲偙傠偼懄帯偟偰偟傑偍偆丅
//暘婒偺柍偄強偩偟丄栤戣弌側偄偼偢丅
/*----------------------------------------------------------------------------*/
/* [NAME] :DrvLCD_DispReadDisc_On */
/* [FUNCTION] : */
/* [RETURN] :void */
/* [PARAMETER]:void */
/* [HISTORY] : */
/* [NOTE] : */
/*----------------------------------------------------------------------------*/
void DrvLCD_ReadDisc_On( void )
{
#if LCD_DM //[dyna-DM]
DrvLCD_IconMask();
CPU_LCD_SDR0=
CPU_LCD_SDR2=
CPU_LCD_SDR3=B00000100; //'---'揰柵on
#else
#if LINE4
//"0123456789AB"
DrvLCD_DisplayData(LINE_1, DIGIT_00, "READING ASP");
DrvLCD_DisplayData(LINE_2, DIGIT_00, "Compact Disc");
DrvLCD_ClearLine( LINE_3 );
//tes DrvLCD_ClearLine( LINE_4 );
#else
// !!make 2.5line!!
#endif // end of LINE4
#endif // end of LCD_DM
return;
}
/*----------------------------------------------------------------------------*/
/* [NAME] :DrvLCD_DispReadDisc_Off */
/* [FUNCTION] : */
/* [RETURN] :void */
/* [PARAMETER]:void */
/* [HISTORY] : */
/* [NOTE] : */
/*----------------------------------------------------------------------------*/
void DrvLCD_ReadDisc_Off( void )
{
#if LCD_DM //[dyna-DM]
CPU_LCD_SDR0=
CPU_LCD_SDR2=
CPU_LCD_SDR3=B00000000; //'---'揰柵off
#else
#endif // end of LCD_DM
return;
}
/*----------------------------------------------------------------------------*/
/* [NAME] :DrvLCD_DispRepeat1_On */
/* [FUNCTION] : */
/* [RETURN] :void */
/* [PARAMETER]:void */
/* [HISTORY] : */
/* [NOTE] : */
/*----------------------------------------------------------------------------*/
void DrvLCD_Repeat1_On( void )
{
#if LCD_DM //[dyna-DM]
CPU_LCD_SDR1 &= B00101000; //[dyna04-12]ProgramPlay懳墳 [BBS][PRG]傪巆偡
CPU_LCD_SDR1 |= B00010000;
CPU_LCD_SDR3 |= B00010000;
#else
#if LINE4
if( gu08_sts_User == STS_USER_PROGRAM )
//"0123456789AB"
DrvLCD_DisplayData(LINE_2, DIGIT_00, "P REP 1 ");
else DrvLCD_DisplayData(LINE_2, DIGIT_00, "REP 1 ");
#else
// !!make 2.5line!!
#endif // end of LINE4
#endif // end of LCD_DM
return;
}
#if 0
/*----------------------------------------------------------------------------*/
/* [NAME] :DrvLCD_DispRepeat1_Off */
/* [FUNCTION] : */
/* [RETURN] :void */
/* [PARAMETER]:void */
/* [HISTORY] : */
/* [NOTE] : */
/*----------------------------------------------------------------------------*/
void DrvLCD_Repeat1_Off( void ) //枹巊梡
{
CPU_LCD_SDR7 &= B11111110;
CPU_LCD_SDR5 &= B11111110;
return;
}
#endif
/*----------------------------------------------------------------------------*/
/* [NAME] :DrvLCD_DispRepeatAll_On */
/* [FUNCTION] : */
/* [RETURN] :void */
/* [PARAMETER]:void */
/* [HISTORY] : */
/* [NOTE] : */
/*----------------------------------------------------------------------------*/
void DrvLCD_RepeatAll_On( void )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -