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

📄 disp.c

📁 瑞萨的DOME板LIN主从节点程序调试通过可以使用
💻 C
字号:
/****************************************************************/
/* 项目名称     : R8C/23 CAN/LIN Demo Board		                */
/*              : 样例程序1                                     */
/*              : 人机接口										*/
/* 硬件环境		: R0K521237C000BB								*/
/* MCU型号      : R5F21237JFP                                   */
/* C编译器		: NC30WA,版本5.30.r02及以上					*/
/* 文件名	    : Disp.c										*/
/* 功能简介		: 界面定义和显示								*/
/* 版本			: 1.0                                           */
/* 作者			: 闫隽                                          */
/* 修订历史     :                                               */
/*			修订者		时间		版本	说明				*/
/*			闫隽		2006/9/11	1.0		初版发行			*/
/*																*/
/****************************************************************/
/*		Copyright, 2006 RENESAS TECHNOLOGY CORPORATION &        */
/*                      RENESAS SOLUTIONS CORPORATION			*/
/****************************************************************/

	#include "..\inc\Comdef_r823.h"
	#include "..\inc\Main.h"
	#include "..\inc\LCD.h"
	#include "..\inc\string.h"
	#include "..\inc\Misc.h"
	#include "..\inc\Disp.h"
	#include "..\inc\Disp_cons.h"
	#include "..\inc\Key.h"

	uchar8 ucCursor_M1;										// 一级菜单光标行号
	uchar8 ucCursor_M2;										// 二级菜单光标行号

	void vDisp_exe( uchar8, uchar8, uchar8 );
	void vDisp_init( void );
	void vDisp_menu0( void );
	void vDisp_menu1( uchar8 );
	void vDisp_menu2_1( uchar8 );
	void vDisp_menu2_2( uchar8 );
	void vDisp_menu2_3( uchar8 );

/*------------------------------------------------------
  名称		: vDisp_exe
  功能		: 刷新显示屏
  入口		: ucMenu_ID, ucCursor_M1, ucCursor_M2
  出口		: 无
  调用		: vDisp_menu0, vDisp_menu1, vDisp_menu2_1, vDisp_menu2_2, vDisp_menu2_3
  寄存器	: 无
------------------------------------------------------*/
void vDisp_exe( uchar8 ucMenu, uchar8 ucCursor1, uchar8 ucCursor2 )
{
	uchar8 ucI;

	switch ( ucMenu )
	{
		case ( HOME ):
			vDisp_menu0();						            // 瑞萨图标
			break;

		case ( M1_1 ):										// 功能选择界面:背光
		case ( M1_2 ):										// 功能选择界面:按键伴音
		case ( M1_3 ):										// 功能选择界面:关于
			vDisp_menu1( ucCursor1 );
			break;

		case ( M2_1 ):										// 背光开关界面
			vDisp_menu2_1( ucCursor2 );
			break;

		case ( M2_2 ):										// 按键伴音开关界面
			vDisp_menu2_2( ucCursor2 );
			break;

		case ( M2_3 ):										// R8C Tiny 图标
			vDisp_menu2_3( ucCursor2 );
			break;
		default: break;
	}
}

/*------------------------------------------------------
  名称		: vDisp_init
  功能		: 显示初始化
  入口		: 
  出口		: 无
  调用		: 
  寄存器	: 无
------------------------------------------------------*/
void vDisp_init( void )
{
	BKL_ON;
	vLcd_init();
	BEEP_ON;
	vMisc_softdelay_1ms( (uint16)50 );
	BEEP_OFF;
    BKL_OFF;
}

/*------------------------------------------------------
  名称		: vDisp_menu0
  功能		: 待机界面
  入口		: ucM0_MODEL
  出口		: 无
  调用		: strcpy, vLcd_write16
  寄存器	: 无
------------------------------------------------------*/
void vDisp_menu0( void )
{
	strcpy( ucLcd_buf, ucM0_MODEL[ 0 ]);
    vLcd_write16( (uchar8)0, (uchar8)0, (uchar8)16, (uchar8)NO, (uchar8)IMAGE ); 

	strcpy( ucLcd_buf, ucM0_MODEL[ 1 ]);
    vLcd_write16( (uchar8)2, (uchar8)0, (uchar8)16, (uchar8)NO, (uchar8)IMAGE ); 

	strcpy( ucLcd_buf, ucM0_MODEL[ 2 ]);
    vLcd_write16( (uchar8)4, (uchar8)0, (uchar8)16, (uchar8)NO, (uchar8)IMAGE ); 

	strcpy( ucLcd_buf, ucM0_MODEL[ 3 ]);
    vLcd_write16( (uchar8)6, (uchar8)0, (uchar8)16, (uchar8)NO, (uchar8)IMAGE ); 
}

/*------------------------------------------------------
  名称		: vDisp_menu1
  功能		: 功能选择界面:背光
  入口		: ucCursor_M1(当前选中的菜单项),ucM1_MODEL_CHS
  出口		: ucLcd_buf, 显示内存
  调用		: strcpy, vLcd_write16, vDisp_all_clear
  寄存器	: 无
------------------------------------------------------*/
void vDisp_menu1( uchar8 ucCursor )
{
	uchar8 ucI;
	uchar8 ucJ;

	vLcd_display_clear();

	ucJ = 0;
    for ( ucI = 0; ucI < 3; ucI ++ )
	{
	    strcpy( ucLcd_buf, ucM1_MODEL[ ucI ]);

		if ( ucI == ucCursor )
		{
            vLcd_write16( ucJ, (uchar8)8, (uchar8)15, (uchar8)YES, (uchar8)FONT ); 
        }
		else 
		{
            vLcd_write16( ucJ, (uchar8)8, (uchar8)15, (uchar8)NO, (uchar8)FONT ); 
		}

		ucJ += 2;
	}
	// 提示栏
	switch ( ucCursor )
	{
		case ( 0 ):
			strcpy( ucLcd_buf, ucHELP_MODEL[ 2 ]);
			break;
		case ( 2 ):
			strcpy( ucLcd_buf, ucHELP_MODEL[ 1 ]);
			break;
		default:
			strcpy( ucLcd_buf, ucHELP_MODEL[ 0 ]);
			break;
	}
	vLcd_write16( (uchar8)6, (uchar8)0, (uchar8)16, (uchar8)NO, (uchar8)IMAGE ); 
}

/*------------------------------------------------------
  名称		: vDisp_menu2_1
  功能		: 背光开关界面
  入口		: ucFlag_backlight, ucCursor_M2, ucM2_1_MODEL_CHS
  出口		: ucLcd_buf, 显示内存
  调用		: strcpy, vDisp_all_clear, vLcd_write16
  寄存器	: 无
------------------------------------------------------*/
void vDisp_menu2_1( uchar8 ucCursor )
{
	vLcd_display_clear();

	strcpy( ucLcd_buf, ucM2_1_MODEL[ 0 ]);
	vLcd_write16( (uchar8)0, (uchar8)0, (uchar8)16, (uchar8)NO, (uchar8)FONT ); 

	if ( ucFlag_backlight == YES )
	{
		strcpy( ucLcd_buf, ucM2_1_MODEL[ 1 ]);
    }
	else
	{
		strcpy( ucLcd_buf, ucM2_1_MODEL[ 2 ]);
	}
	vLcd_write16( (uchar8)2, (uchar8)16, (uchar8)14, (uchar8)YES, (uchar8)FONT ); 

	// 提示栏
	strcpy( ucLcd_buf, ucHELP_MODEL[ 3 ]);
	vLcd_write16( (uchar8)6, (uchar8)0, (uchar8)16, (uchar8)NO, (uchar8)IMAGE ); 
}

/*------------------------------------------------------
  名称		: vDisp_menu2_2
  功能		: 按键音开关界面
  入口		: ucFlag_buzzer, ucCursor_M2, ucM2_2_MODEL_CHS
  出口		: ucLcd_buf, 显示内存
  调用		: strcpy, vDisp_all_clear, vLcd_write16
  寄存器	: 无
------------------------------------------------------*/
void vDisp_menu2_2( uchar8 ucCursor )
{
	vLcd_display_clear();

	strcpy( ucLcd_buf, ucM2_2_MODEL[ 0 ]);
	vLcd_write16( (uchar8)0, (uchar8)0, (uchar8)16, (uchar8)NO, (uchar8)FONT ); 

	if ( ucFlag_buzzer == YES )
	{
		strcpy( ucLcd_buf, ucM2_2_MODEL[ 1 ]);
    }
	else
	{
		strcpy( ucLcd_buf, ucM2_2_MODEL[ 2 ]);
	}
	vLcd_write16( (uchar8)2, (uchar8)16, (uchar8)14, (uchar8)YES, (uchar8)FONT ); 

	// 提示栏
	strcpy( ucLcd_buf, ucHELP_MODEL[ 3 ]);
	vLcd_write16( (uchar8)6, (uchar8)0, (uchar8)16, (uchar8)NO, (uchar8)IMAGE ); 
}

/*------------------------------------------------------
  名称		: vDisp_menu2_3
  功能		: 简介界面
  入口		: ucCursor_M2, ucM2_3_MODEL
  出口		: ucLcd_buf, 显示内存
  调用		: strcpy, vLcd_write16
  寄存器	: 无
------------------------------------------------------*/
void vDisp_menu2_3( uchar8 ucCursor )
{
	strcpy( ucLcd_buf, ucM2_3_MODEL[ 0 ]);
    vLcd_write16( (uchar8)0, (uchar8)0, (uchar8)16, (uchar8)NO, (uchar8)IMAGE ); 

	strcpy( ucLcd_buf, ucM2_3_MODEL[ 1 ]);
	vLcd_write16( (uchar8)2, (uchar8)0, (uchar8)16, (uchar8)NO, (uchar8)IMAGE ); 
	
	strcpy( ucLcd_buf, ucM2_3_MODEL[ 2 ]);
    vLcd_write16( (uchar8)4, (uchar8)0, (uchar8)16, (uchar8)NO, (uchar8)IMAGE ); 

	strcpy( ucLcd_buf, ucM2_3_MODEL[ 3 ]);
    vLcd_write16( (uchar8)6, (uchar8)0, (uchar8)16, (uchar8)NO, (uchar8)IMAGE ); 
}

⌨️ 快捷键说明

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