示例#1
0
/******************************************************************************
 函数名称:Get_Passwd
 功能描述:验证密码进入设置POS号状态
 参数描述:
 参数名称:	输入/输出?	类型		描述

 返  回  值:ok(0)-验证成功
				 notok(0xFF)-验证失败

 作      者	:刘及华
 日      期:2005-05-20
 修改历史:
		日期		修改人		修改描述
		------		---------	-------------
******************************************************************************/
INT8U Get_Passwd(void)
{
	INT8U i;
	INT8U key_seq[20];
	INT8S *password = (INT8S *)"22995757";
	INT8U buf[20];

	ToggleWD();

	Lcd_Cls();
	lcddisp(1, 1, "请输入密码: ");

	Beep(50);
	SleepMs(50);
	Beep(50);
	SleepMs(50);
	Beep(50);
	SleepMs(1000);

	for ( i=0; i<8; i++ )			   //取得8个按键输入
	{
		do				   //only accept 0-9, '+', '-'
		{
			key_seq[i] = get_key();
		}while ( !( (key_seq[i]>='0' && key_seq[i]<='9') ) );

		buf[strlen((void *)buf) - 1] = '\0';
		strcat((void *)buf, (void *)"*_");
// 		LCD_Display_Str(2, 0, buf, NORMAL);
		lcddisp(2, 1, buf);

//      OSTimeDlyHMSM(0, 0, 0, 150);
		OSTimeDlyHMSM(0, 0, 0, 100);
	}

	key_seq[i] = '\0';

	if ( strcmp((void *)key_seq, (void *)password) != 0 )	//密码错误
	{
		lcddisp(2, 2, "密码错误");
		OSTimeDlyHMSM(0, 0, 1, 0);
		return notok;
	}

	lcddisp(2, 2, "密码正确");
	lcddisp(3, 0, "执行格式化操作..");

	OS_ENTER_CRITICAL();

	InitImportantParameter();

	OS_EXIT_CRITICAL();

	OSTimeDlyHMSM(0, 0, 1, 0);		//为了显示能看清

	resetpos();

	return ok;
}
示例#2
0
/*****************************************************************
 函数原型:	System_Init()
 功能描述:器件类初始化
 参数描述:	
				 
 返回值:	无
 
 作  者:	大连现代/刘及华
 日  期:	2004-09-17
 修改历史:
		日期		修改人		修改描述
		------		---------	-------------
*****************************************************************/
INT8U System_Check(void)
{

	ToggleWD();
	Lcd_Cls();
	lcddisp(1, 1, "系统自检中...");
	if ( DevStat.err_occured == TRUE )
		return notok;

	return ok;
}
示例#3
0
/******************************************************************************
函数名称:DisplayVersion
功能描述:开机显示版本号
参数描述:
参数名称:	输入/输出?	类型		描述
version	输入		const char*		要显示的版本号,例如输入0x00 0x01 则显示0.0.1

返  回  值:无
				  
作      者	:刘及华
日      期:2004-09-02
修改历史:
	   日期		修改人		修改描述
	   ------		---------	-------------
******************************************************************************/
void DisplayVersion(const char * version)
{
	ToggleWD();

	Lcd_Cls();
#ifdef DEBUG
	lcddisp(1, 0, "测试");
#else
#endif
	lcddisp(1, 2, VERSION);

}
示例#4
0
BOOL Lcd_Open( VOID )
{
    UCHAR const lockKey = Int_Lock();

    if( gLcd_Is_Open != E_LCD_IS_OPEN_FREE ) {
        Int_Unlock( lockKey );
        return FALSE;
    }

    gLcd_Is_Open = E_LCD_IS_OPEN_USING;
    Int_Unlock( lockKey );

    cbi( REG_PORT(D_LCD_EN_PORT_NAME), BIT_PORT(D_LCD_EN_PORT_NAME, D_LCD_EN_BIT) );	// EN=0

    // out port 設定
    sbi( REG_DDR(D_LCD_D7_PORT_NAME), BIT_DDR(D_LCD_D7_PORT_NAME, D_LCD_D7_BIT) );
    sbi( REG_DDR(D_LCD_D6_PORT_NAME), BIT_DDR(D_LCD_D6_PORT_NAME, D_LCD_D6_BIT) );
    sbi( REG_DDR(D_LCD_D5_PORT_NAME), BIT_DDR(D_LCD_D5_PORT_NAME, D_LCD_D5_BIT) );
    sbi( REG_DDR(D_LCD_D4_PORT_NAME), BIT_DDR(D_LCD_D4_PORT_NAME, D_LCD_D4_BIT) );
    sbi( REG_DDR(D_LCD_RS_PORT_NAME), BIT_DDR(D_LCD_RS_PORT_NAME, D_LCD_RS_BIT) );
    sbi( REG_DDR(D_LCD_EN_PORT_NAME), BIT_DDR(D_LCD_EN_PORT_NAME, D_LCD_EN_BIT) );


    _delay_ms( LCD_WAIT_FACTOR(15) );	//15ms以上wait
    // デフォルト設定 8bitモード
    cbi( REG_PORT(D_LCD_RS_PORT_NAME), BIT_PORT(D_LCD_RS_PORT_NAME, D_LCD_RS_BIT) );
    _Lcd_Write_Data( 0x3 );
    _Lcd_ToggleE();
    _delay_ms( LCD_WAIT_FACTOR(5) );	//5ms以上wait
    // デフォルト設定 8bitモード
    cbi( REG_PORT(D_LCD_RS_PORT_NAME), BIT_PORT(D_LCD_RS_PORT_NAME, D_LCD_RS_BIT) );
    _Lcd_Write_Data( 0x3 );
    _Lcd_ToggleE();
    _delay_us( LCD_WAIT_FACTOR(100) );	//100us以上wait
    // デフォルト設定 8bitモード
    cbi( REG_PORT(D_LCD_RS_PORT_NAME), BIT_PORT(D_LCD_RS_PORT_NAME, D_LCD_RS_BIT) );
    _Lcd_Write_Data( 0x3 );
    _Lcd_ToggleE();
    _delay_us( LCD_WAIT_FACTOR(40) );	//wait 40us
    // デフォルト設定 8bit->4bitモード
    cbi( REG_PORT(D_LCD_RS_PORT_NAME), BIT_PORT(D_LCD_RS_PORT_NAME, D_LCD_RS_BIT) );
    _Lcd_Write_Data( 0x2 );
    _Lcd_ToggleE();
    _delay_us( LCD_WAIT_FACTOR(40) );	//wait 40us
    // ファンクションセット
    cbi( REG_PORT(D_LCD_RS_PORT_NAME), BIT_PORT(D_LCD_RS_PORT_NAME, D_LCD_RS_BIT) );
    _Lcd_Write_Data( 0x2 );		// Hi
    _Lcd_ToggleE();
    _Lcd_Write_Data( 0x8 );		// Lo
    _Lcd_ToggleE();
    _delay_us( LCD_WAIT_FACTOR(40) );	//wait 40us
    // 表示on/off初期化
    cbi( REG_PORT(D_LCD_RS_PORT_NAME), BIT_PORT(D_LCD_RS_PORT_NAME, D_LCD_RS_BIT) );
    _Lcd_Write_Data( 0x0 );		// Hi
    _Lcd_ToggleE();
    _Lcd_Write_Data( 0x8 );		// Lo
    _Lcd_ToggleE();
    _delay_us( LCD_WAIT_FACTOR(40) );	//wait 40us
    // エントリーモードセット
    cbi( REG_PORT(D_LCD_RS_PORT_NAME), BIT_PORT(D_LCD_RS_PORT_NAME, D_LCD_RS_BIT) );
    _Lcd_Write_Data( 0x0 );		// Hi
    _Lcd_ToggleE();
    _Lcd_Write_Data( 0x6 );		// Hi
    _Lcd_ToggleE();
    _delay_us( LCD_WAIT_FACTOR(40) );	//wait 40us
    Lcd_Cls();							// 表示クリア

    return TRUE;
}