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

📄 drv_lcd.c

📁 ROHM 公司BU9432:application:应用范围
💻 C
📖 第 1 页 / 共 5 页
字号:
/******************************************************************************/
/*	[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 + -