亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tp6315_fp.c

?? ZORAN 962/966 SOURCE CODE,DVD chip
?? C
字號:
/* **************************************************************************************
 *  Copyright (c) 2004 ZORAN Corporation, All Rights Reserved
 *  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
 *
 *  File: $Workfile: TP6315_fp.c $             
 *
 * Description:
 * ============
 * NEC front Panel definition
 * 
 * Log:
 * ====
 ****************************************************************************************
 * Updates:
 ****************************************************************************************
 * 1		Dec.18, 2004	JerryLin	 
 *		First created 
 ****************************************************************************************/
 #include "Config.h"		// Global Configuration - do not remove!

#include "Config.h"		// Global Configuration - do not remove!

#include "Include\sysdefs.h"
#include "Playcore\Timing\timing.h"
#include "FP\fp_ll.h"
#include "FP\TP6315_fp\TP6315_fp.h"
#include "FP\NEC_FP\nec_io.h"

#ifdef TP6315_FP

/****************************************************************************/
static BYTE p_keycode[BYTES_USED_TO_SCANKEY];

/****************************************************************************/
void VFD_LL_Init(BYTE grid_count)
{
    BYTE i;

    for (i=0; i<BYTES_USED_TO_SCANKEY; i++)
		p_keycode[i] = 0;

	VFD_LL_SetGrid(grid_count);

    Set_Fp_STB(1);
    delay_us(1);
    Set_Fp_CLK(1);
    delay_us(1);
}
/****************************************************************************/

void VFD_LL_SetGrid(BYTE grid_count)
{
	BYTE real_grid_value;

	switch (grid_count)
	{
	case 4:
		real_grid_value = G4_S24;
		break;
	case 5:
		real_grid_value = G5_S23;
		break;
	case 6:
		real_grid_value = G6_S22;
		break;
	case 7:
		real_grid_value = G7_S21;
		break;
	case 8:
		real_grid_value = G8_S20;
		break;
	case 9:
		real_grid_value = G9_S19;
		break;
	case 10:
		real_grid_value = G10_S18;
		break;
	case 11:
		real_grid_value = G11_S17;
		break;
	case 12:
		real_grid_value = G12_S16;
	default:
		real_grid_value = G10_S18;
		break;
	}

   
	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
	Set_Fp_STB(0);
  
	delay_us(1);
	VFD_LL_WriteByte( DISPLAY_MODE| real_grid_value );

	delay_us(1);
}

/****************************************************************************/
void VFD_LL_SetDim(BYTE vfd_dim_level)
{
  	BYTE real_dim_value;

	switch (vfd_dim_level)
	{
	case 0:
		real_dim_value = 0;	// DIM off
		break;
	case 1:
		real_dim_value = GON|DIM_1_16;
		break;
	case 2:
		real_dim_value = GON|DIM_2_16;
		break;
	case 3:
		real_dim_value = GON|DIM_4_16;
		break;
	case 4:
		real_dim_value = GON|DIM_10_16;
		break;
	case 5:
		real_dim_value = GON|DIM_11_16;
		break;
	case 6:
		real_dim_value = GON|DIM_12_16;
		break;
	case 7:
		real_dim_value = GON|DIM_13_16;
		break;
	case 8:
		real_dim_value = GON|DIM_14_16;
		break;
	default:
		real_dim_value = GON|DIM_14_16;
		break;
	}

	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
	Set_Fp_STB(0);

	delay_us(1);
	VFD_LL_WriteByte( DISPLAY_CONTROL | real_dim_value );

	delay_us(1);
}

/****************************************************************************/
void VFD_LL_WriteDisplayRAM( BYTE grid, WORD data )
{
	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
	Set_Fp_STB(0);

	delay_us(1);
	VFD_LL_WriteByte( (BYTE)(DATA_SETTING | NORMAL_OPERATION | ADDRESS_INCREASE | WRITE_DISPLAY ));

	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
	Set_Fp_STB(0);

	delay_us(1);
	VFD_LL_WriteByte( (BYTE) ADDRESS_SETTING | (3*grid));
	delay_us(1);								
	VFD_LL_WriteByte( (BYTE) (data & 0x00ff) );

	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
	Set_Fp_STB(0);

	delay_us(1);
	VFD_LL_WriteByte( (BYTE)(DATA_SETTING | NORMAL_OPERATION | ADDRESS_INCREASE | WRITE_DISPLAY ));

	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
	Set_Fp_STB(0);

	delay_us(1);
	VFD_LL_WriteByte( (BYTE) ADDRESS_SETTING | (3*grid+1));

	delay_us(1);
	VFD_LL_WriteByte( (BYTE) (data >> 8) );

	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
}

/****************************************************************************/
void VFD_LL_WriteDisplayRAM_InDword( BYTE grid, DWORD data )
{	
	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
	Set_Fp_STB(0);

	delay_us(1);
	VFD_LL_WriteByte( (BYTE)(DATA_SETTING | NORMAL_OPERATION | ADDRESS_INCREASE | WRITE_DISPLAY ));

	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
	Set_Fp_STB(0);

	delay_us(1);

	VFD_LL_WriteByte( (BYTE) ADDRESS_SETTING | (grid*3));

	delay_us(1);
	VFD_LL_WriteByte( (BYTE) (data & 0x00ff) );

	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
	Set_Fp_STB(0);

	delay_us(1);
	VFD_LL_WriteByte( (BYTE)(DATA_SETTING | NORMAL_OPERATION | ADDRESS_INCREASE | WRITE_DISPLAY ));

	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
	Set_Fp_STB(0);

	delay_us(1);

	VFD_LL_WriteByte( (BYTE) ADDRESS_SETTING | (grid*3+1));

	delay_us(1);
	VFD_LL_WriteByte( (BYTE) ((data >> 8) & 0x00ff) );

	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
	Set_Fp_STB(0);

	VFD_LL_WriteByte( (BYTE)(DATA_SETTING | NORMAL_OPERATION | ADDRESS_INCREASE | WRITE_DISPLAY ));

	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
	Set_Fp_STB(0);

	delay_us(1);

	VFD_LL_WriteByte( (BYTE) ADDRESS_SETTING | (grid*3+2));

	delay_us(1);
	VFD_LL_WriteByte( (BYTE) ((data >> 16) & 0x00ff) );

	delay_us(1);
	Set_Fp_STB(1);
	delay_us(1); 
}

/****************************************************************************/
void VFD_LL_RefreshLED( BYTE led )
{
	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
	Set_Fp_STB(0);

	delay_us(1);
	VFD_LL_WriteByte( (BYTE)(DATA_SETTING | NORMAL_OPERATION | ADDRESS_INCREASE | WRITE_LIGHTS ));

	delay_us(1);
	VFD_LL_WriteByte( led );

	delay_us(1);
	Set_Fp_STB(1);
}

BYTE VFD_LL_ReadKeyScan( BYTE*** Key_Code )
{
	BYTE i;
	
	delay_us(1);
	Set_Fp_STB(1);

	delay_us(1);
	Set_Fp_STB(0);

	/*
	* Note: The wait states are necessary because
	*       FP needs to have some time between
	*       writes.
	*/

	delay_us(1);
	VFD_LL_WriteByte( (BYTE)(DATA_SETTING | NORMAL_OPERATION | ADDRESS_INCREASE | READ_KEYSCAN ));

	Set_FpDout_To_Input();

	for (i=0; i<BYTES_USED_TO_SCANKEY; i++)
	{
		delay_us(1);
		VFD_LL_ReadByte( p_keycode+i );
	}

	Set_FpDout_To_Output();

	delay_us(1);
	Set_Fp_STB(1);

	**Key_Code = p_keycode;

	return BYTES_USED_TO_SCANKEY;
}

/****************************************************************************/
void VFD_LL_ReadInputs( BYTE** inputs )
{
/* THIS FUNCTION IS INVALID AND NOT USED IN THIS VFD CONTROLLER.
  delay_us(1);
  Set_Fp_STB(1);

  delay_us(1);
  Set_Fp_STB(0);

  delay_us(1);
  VFD_LL_WriteByte( DATA_SETTING | NORMAL_OPERATION | ADDRESS_INCREASE | READ_INPUTS );

  delay_us(1);
  VFD_LL_ReadByte( *inputs );

  delay_us(1);
  Set_Fp_STB(1);
 */

 // avoid compiling warning
 inputs = inputs;
}

/****************************************************************************/
static void VFD_LL_WriteByte( BYTE byte )
{
	BYTE i;

	for( i=0x01; (i<=0x80 && i!=0); i<<=1 )
	{
   	Set_Fp_CLK(0);
		Set_Fp_DOUT((byte & i) ? 1:0);
		Set_Fp_CLK(1);
	}
}
/****************************************************************************/
static void VFD_LL_ReadByte( BYTE *byte )
{
	BYTE i;	

	Set_Fp_CLK(1);
	*byte = 0;   // Clear byte first

	for( i=0; i<7; i++ )
	{
		Set_Fp_CLK(0);
		*byte |= ( Get_Fp_DIN() ? 0x80:0 );
		Set_Fp_CLK(1);
		*byte >>= 1;	  
	}

	Set_Fp_CLK(0);
	*byte |= ( Get_Fp_DIN() ? 0x80:0 );
	Set_Fp_CLK(1);
}

#endif 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡视频在线| 国产精品一区一区| 极品少妇一区二区| 色先锋资源久久综合| 欧美伦理电影网| 国产精品久久毛片| 国模大尺度一区二区三区| 欧美亚洲一区二区在线观看| 久久精品免费在线观看| 肉色丝袜一区二区| 一本大道av一区二区在线播放| 久久伊99综合婷婷久久伊| 亚洲一区在线看| 成人99免费视频| 久久久精品欧美丰满| 蜜臀av一区二区在线观看| 在线观看一区二区精品视频| 中文字幕制服丝袜成人av| 久久精品国产77777蜜臀| 欧美精品三级日韩久久| 亚洲综合在线观看视频| 99视频热这里只有精品免费| 精品国产123| 极品少妇一区二区三区精品视频| 91精品国产综合久久香蕉麻豆| 一区二区三区欧美久久| 99re免费视频精品全部| 国产精品乱人伦| 国产69精品一区二区亚洲孕妇| 欧美mv日韩mv亚洲| 国产在线观看一区二区| 精品少妇一区二区三区视频免付费 | 亚洲欧美日韩国产手机在线| 丁香天五香天堂综合| 久久久久国产一区二区三区四区 | 亚洲美女在线国产| 色综合久久中文字幕| 一区二区三区蜜桃| 在线免费观看日韩欧美| 亚洲成人免费影院| 欧美一级二级三级乱码| 久久99精品网久久| 久久精品人人做人人爽人人| 成人av影视在线观看| 亚洲三级电影全部在线观看高清| 色婷婷精品大在线视频 | 欧美性高清videossexo| 亚洲综合在线第一页| 7777精品伊人久久久大香线蕉经典版下载| 亚洲国产成人91porn| 欧美精品123区| 久久成人免费日本黄色| 国产欧美日韩精品在线| 99国产精品国产精品久久| 一二三四区精品视频| 欧美日韩成人高清| 国产一区在线看| 国产精品女同一区二区三区| 91污在线观看| 日韩av二区在线播放| 国产亚洲精品久| 欧洲一区二区三区在线| 久久精品国产第一区二区三区| 亚洲精品国产高清久久伦理二区| 91久久线看在观草草青青| 午夜视频一区二区三区| 久久久久久久久久久久久久久99 | 欧美精品色一区二区三区| 国产一区二区主播在线| 亚洲日本一区二区| 日韩欧美亚洲国产精品字幕久久久| 国产成人午夜视频| 亚洲一区在线看| 国产丝袜美腿一区二区三区| 欧美亚洲国产一区二区三区va| 麻豆91在线看| 亚洲日本在线视频观看| 久久久蜜桃精品| 欧美日韩精品一区二区天天拍小说| 国产精品综合一区二区三区| 亚洲午夜成aⅴ人片| 国产亚洲精久久久久久| 91精品国产综合久久精品app| 国产精品一级黄| 午夜精品福利一区二区三区av | 一区二区三区四区亚洲| 日韩你懂的在线播放| 99国产精品久| 国产一区二区三区电影在线观看 | 亚洲成av人片在线| 日本一区二区高清| 久久综合久久久久88| 欧美日韩午夜在线| 99国内精品久久| 国产成人夜色高潮福利影视| 日本va欧美va欧美va精品| 一区二区三区在线高清| 日韩美女啊v在线免费观看| 久久在线免费观看| 欧美变态口味重另类| 91精品国产综合久久香蕉麻豆| 91麻豆精品在线观看| 成人高清av在线| 高清视频一区二区| 国产一区二区三区电影在线观看| 日韩和欧美的一区| 亚洲国产一二三| 亚洲午夜免费福利视频| 一区二区三区产品免费精品久久75| 久久精子c满五个校花| 欧美成人国产一区二区| 日韩一级高清毛片| 欧美日韩黄视频| 欧美日韩免费高清一区色橹橹 | 在线观看成人小视频| 99国产欧美另类久久久精品| 国产成人精品三级麻豆| 国产成人免费在线| 欧美日韩国产电影| 777xxx欧美| 日韩精品最新网址| 精品人伦一区二区色婷婷| 精品国产乱码久久久久久老虎 | 欧美人妖巨大在线| 欧美精品在欧美一区二区少妇| 在线播放欧美女士性生活| 3d动漫精品啪啪1区2区免费 | 91国偷自产一区二区开放时间| 日本二三区不卡| 在线视频你懂得一区二区三区| 在线视频国内自拍亚洲视频| 欧美日韩日日夜夜| 日韩欧美国产一区二区在线播放 | 一区二区在线免费| 午夜激情一区二区| 美女久久久精品| 国产成人亚洲精品青草天美| 99国产欧美另类久久久精品| 在线影院国内精品| 日韩欧美一区二区免费| 中文字幕精品三区| 亚洲国产欧美在线| 狠狠色丁香婷婷综合久久片| 高清成人免费视频| 欧美在线观看禁18| 日韩欧美在线1卡| 国产精品久久久久久久久动漫| 一区二区三区精品视频| 日本亚洲欧美天堂免费| 国产69精品久久99不卡| 欧美性一区二区| 26uuu欧美| 亚洲黄色小视频| 韩国女主播成人在线观看| 99精品欧美一区二区蜜桃免费| 欧美日韩精品一区视频| 日本一区二区在线不卡| 丝袜亚洲精品中文字幕一区| 国产精品伊人色| 欧美日精品一区视频| 欧美极品另类videosde| 日韩av成人高清| 91伊人久久大香线蕉| 欧美成人a∨高清免费观看| 一区在线观看视频| 久久超碰97中文字幕| 色综合网站在线| 国产三区在线成人av| 偷拍日韩校园综合在线| 91欧美一区二区| 国产天堂亚洲国产碰碰| 日韩高清不卡一区二区三区| 91农村精品一区二区在线| 精品国产电影一区二区| 视频一区在线播放| 91在线无精精品入口| 久久久亚洲精华液精华液精华液| 视频在线在亚洲| 色94色欧美sute亚洲线路一ni| 国产视频一区在线观看| 青椒成人免费视频| 精品视频一区二区不卡| 18欧美乱大交hd1984| 国产成人综合网站| 久久亚洲捆绑美女| 丝袜诱惑制服诱惑色一区在线观看| 一本到不卡免费一区二区| 国产精品福利av | 久久精品99国产精品日本| 欧美精选在线播放| 亚洲一区二区四区蜜桃| 色哟哟国产精品免费观看| 国产精品福利影院| 波多野结衣亚洲一区| 日本一区二区三区免费乱视频| 国产一区二区导航在线播放| 日韩一区二区高清| 日日噜噜夜夜狠狠视频欧美人 | 午夜av一区二区三区| 欧美色视频在线观看|