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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? t100.c

?? 車載顯示器
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
#include "REG51.H"
#include <intrins.h>
#include "Remote.h"


#define OSD_EN
typedef unsigned char  uCHAR;

//#include "T100Data_A.h"
//#include "T100Data_PA.h"
#include "T100Data_AU.h"
//#include "T100Data_LG.h"
//#include "T100Data_FOX.h"


#ifdef OSD_EN
  #include "OSDFont1218_new.h"
  #include "OSD1218_new.h"
#endif

sbit 	T100_RESET	= P1^4;
sbit    SCL 		= P1^6;
sbit	SDA 		= P1^7;
sbit	BL_EN		= P0^7;
#if 1
#define kyKEY_MSK		0x81
#define KEYPORT			P0

#define kyMENU          0x08
#define kyDEC           0x04
#define kyINC           0x02
#define kySOURCE        0x10
#define kyUD_LR         0x20
#define kyFULL_43       0x40
#else
#define kyKEY_MSK		0xc0
#define KEYPORT			P2

#define kyMENU          0x02
#define kyDEC           0x08
#define kyINC           0x04
#define kySOURCE        0x10
#define kyUD_LR         0x20
#define kyFULL_43       0x01//0x40
#endif
/*sbit	kyMENU     	= P0^1;
sbit 	kyDEC		= P0^2;
sbit    kyINC   	= P0^3;
sbit	kySOURCE	= P0^4;
sbit 	kyUD_LR		= P0^5;
sbit    kyFULL_43	= P0^6;//*/

bit bNTSC_PAL	= 0;      //0:PAL 		1:NTSC
bit bFULL_43	= 1;      //0:4:3 		1:FULL
bit bUP_DOWN	= 1;      //0:Down to Up 	1:Up to Down
bit bLEFT_RIGHT	= 1;      //0:Right to Left     1:Left to Right
uCHAR cSource	= 3;      //2-4:CVBS2-4         5:S-Video       6:ITU656
uCHAR cStandard	= 0xff;   //0:PAL               4:NTSC
uCHAR cKey_Curr,cKey_Pre;
void Initial(void);
void Delay_ms(uCHAR);
void InitT100(void);
void ClosePanel(void);
void OpenPanel(void);
void DetectNTSC_PAL(void);
void SetSource(void);
void SetMode(void);
void SetUD_LR(void);
void I2CWriteTbl(char*);
uCHAR I2CReadByte(uCHAR, uCHAR);
uCHAR I2CWriteByte(uCHAR,uCHAR,uCHAR);
void kyKeypad(void);
#ifdef OSD_EN
void InitOSD(void);
void  OSDDisable(void);
void OSDEnable(void);
void OSDCtrl(char cDir);
uCHAR cLanguage=0; //0:English 1:French 2:German 3:Spanish 4:Japenese 5:Russian
uCHAR cOSDFunc=1;      //0:OSD Off 1:Bright 2:Color  3:Screen
uCHAR cBright,cColor=COLOR;

#endif
void main(void)
{
	Initial();
	while(1)
	{
		kyKeypad();
		DetectNTSC_PAL();
                #ifdef OSD_EN
		        OSDEnable();
                #endif

//                OSDEnable();
	}//while
}//main

void Initial(void)
{
//Initial 8051
	P0=0xff;
	P1=0xff;
	P2=0xff;
	P3=0xff;
//8051Register Set
	IE    	= 0;   	// disable all interrupt
	TMOD 	= 0x11;  // Timer1 Mode 1, Timer0 Mode 1;
	//TMOD 	= 0x01; // Timer0 Mode 1;
  	EX0   	= 0;     // disable external interrupt 0, IE[0]
	EX1		= 0;
  	//ET0 	= 1;   	// enable bTimer 0
  	//IT0   = 1;     // falling endge generate interrupt, TCON[0]
  	INT0 	= 1;
	IT1   	= 1;     // falling endge generate interrupt, TCON[0]
  	INT1 	= 1;

//Initial T100
	T100_RESET	= 0 ;
	Delay_ms(50);
	T100_RESET	= 1 ;
	Delay_ms(20);
	InitT100();
//	SetUD_LR();
        #ifdef OSD_EN
        InitOSD();
        #endif
}//Initial

void Delay_ms(uCHAR cTime)
{
	uCHAR i,j;
	for(i=0;i<cTime;i++)
	{
		for(j=0;j<250;j++)_nop_();
		for(j=0;j<250;j++)_nop_();
		for(j=0;j<250;j++)_nop_();
		for(j=0;j<250;j++)_nop_();
	}//For
}//Delay

void InitT100(void)
{
#if 1
	I2CWriteTbl(TCONData);
	ClosePanel();
	I2CWriteTbl(T100Init);
	I2CWriteTbl(GAMMAData);
	I2CWriteTbl(FilterData);
	SetMode();
	SetSource();
	SetUD_LR();
#else
	uCHAR cTemp1,cAddr;
	for(cTemp1=0;cTemp1<PAGE2_E;cTemp1++)
	{
						if(cTemp1<PAGE1_S)cAddr=0x50;
						else if(cTemp1<PAGE2_S)cAddr=0x52;
						else cAddr=0x54;
						I2CWriteByte(cAddr,RegisterMap[cTemp1],T100CVBS[cTemp1]);
	}
#endif
//	OpenPanel();
}//InitT100
void ClosePanel(void)
{
	BL_EN=1;
	I2CWriteByte(TW100, 0xC2, I2CReadByte(TW100, 0xC2)|0x12);
	I2CWriteByte(TW100, 0x91, 0x87);//I2CReadByte(TW101, PATTERN_CTRL)|0x80);  //Enable Frame Background Color
}
void OpenPanel(void)
{
	I2CWriteByte(TW100, 0xC2, I2CReadByte(TW100, 0xC2)&0xED);
	I2CWriteByte(TW100, 0x91, I2CReadByte(TW100, 0x91)&~0x80); //Enable Frame Background Color
	Delay_ms(10);
	BL_EN=0;
}
void DetectNTSC_PAL(void)
{
	static int wBuff=0x000;
	uCHAR cBuff[2];
    wBuff+=1;
		if(wBuff==0x01)
		{
			wBuff=0x00;
			for(cBuff[1]=0;cBuff[1]<1;cBuff[1]++)
			{
   			    cBuff[0] = I2CReadByte(TW100, 0x5A)&0xe0;
			    if(cBuff[0]==cStandard)break;
//				Delay_ms(10);
                            if(cBuff[0]>=0x40)
                            {
                                ClosePanel();
                                return;
                            }     //*/
			}
           #ifdef ESS
                        if((bNTSC_PAL)&&(cSource==6))
                        {
                           cBuff[1] = I2CReadByte(TW100, 0x82);
                           if(cBuff[1]>0x90)I2CWriteByte(TW100+2, 0xd3,0x06);
                           else if(cBuff[1]<0x78)I2CWriteByte(TW100+2, 0xd3,0x04);
                        }
                        if((!bNTSC_PAL)&&(cSource==6))
                        {
                           cBuff[1] = I2CReadByte(TW100, 0x82);
                           if(cBuff[1]>0xb0)I2CWriteByte(TW100+2, 0xd3,0x0b);
                           else if(cBuff[1]<0x78)I2CWriteByte(TW100+2, 0xd3,0x04);
                        }
           #endif
			if(cBuff[0]!=cStandard)
    		{
						ClosePanel();
            		    cStandard=cBuff[0];
						if(cStandard)
						{
							bNTSC_PAL	= 0;
						}
						else bNTSC_PAL	= 1;
	T100_RESET	= 0 ;
	Delay_ms(30);
	T100_RESET	= 1 ;
	Delay_ms(5);
	cOSDFunc=(cOSDFunc+1)%4;
	I2CWriteTbl(TCONData);
	ClosePanel();
//	InitT100();//*/
	I2CWriteTbl(T100Init);
	I2CWriteTbl(GAMMAData);
	I2CWriteTbl(FilterData);
	SetMode();
	SetSource();
	SetUD_LR();      //*/
//						SetMode();
Delay_ms(255);
						OpenPanel();
             Delay_ms(10);                                   
            }
            else OpenPanel();
		}

}
void SetSource(void)
{
	switch(cSource)
	{
		case 2: I2CWriteTbl(CVBS2Data);
				break;
		case 3: I2CWriteTbl(CVBS3Data);
				break;
		case 4: I2CWriteTbl(CVBS4Data);
				break;
		case 5: I2CWriteTbl(SVIDEOData);
				break;
		case 6: I2CWriteTbl(ITU656Data);
	}
}
void SetMode(void)//N/P,Full/4:3
{
	if(bNTSC_PAL)//NTSC&&FULL
	{
		I2CWriteTbl(NTSC_FULLData);
		if((!bFULL_43))//NTSC&&4:3
			I2CWriteTbl(NTSC_43Data);
		if(cSource!=5)I2CWriteByte(TW100+4,0x00,0x00);
	}
	else//PAL&&FULL
	{
		I2CWriteTbl(PAL_FULLData);
		if((!bFULL_43))//PAL&&4:3
			I2CWriteTbl(PAL_43Data);
		if(cSource!=5)I2CWriteByte(TW100+4,0x00,0x32);//PAL-N 0x36
	}
		if(cSource==5)I2CWriteByte(TW100+4,0x0f,0x01);
}
void SetUD_LR(void)
{
        uCHAR cTemp;
	if(bUP_DOWN&bLEFT_RIGHT)
	{
		cTemp=UD_LR;
	}
	else if(bUP_DOWN&!bLEFT_RIGHT)
	{
		cTemp=UD_RL;
	}
	else if(!bUP_DOWN&bLEFT_RIGHT)
	{
		cTemp=DU_LR;
	}
	else if(!bUP_DOWN&!bLEFT_RIGHT)
	{
		cTemp=DU_RL;
	}
	I2CWriteByte(TW100,0xe1,cTemp);
}

#define Set_SDA_High  SDA = 1,SDA = 1
#define Set_SDA_Low   SDA = 0,SDA = 0
#define Set_SCL_High  SCL = 1,SCL = 1
#define Set_SCL_Low   SCL = 0,SCL = 0

#define SDA_High      SDA!=0
#define SDA_Low       SDA==0
#define SCL_High      SCL!=0
#define SCL_Low       SCL==0

#define	TWD_SPEED       0x01		//value: 1 (Fastest), 2 (slower), ... N (much slower)
#define	TWD_LONG_TIME	(TWD_SPEED*8)
#define	TWD_SHORT_TIME	(TWD_SPEED*1)
void StartCondition(void)
{
    uCHAR ix;
    uCHAR cTWtrytime=0;
    EA=0;
    while(++cTWtrytime)
    {
        Set_SDA_High;
        Set_SCL_High;        /* make sure two line is release */
        for(ix = 0; ix < TWD_LONG_TIME; ix++)
        { };  /* Delay 12us */

        Set_SDA_Low;
        for(ix = 0; ix < TWD_LONG_TIME; ix++)
        { };  /* Delay 12us */

        if((SCL_High)&&(SDA_Low))
            break;
    }

    for(ix = 0; ix < TWD_SHORT_TIME; ix++)
    { };  /* Delay 12us */
}

//----------------------------------------
// P_Condition for TWD protocol
//----------------------------------------
void StopCondition(void)
{
    uCHAR ix;
    uCHAR cTWtrytime=0;

    Set_SDA_Low;
    Set_SCL_High;
    for(ix = 0; ix < TWD_SHORT_TIME; ix++)
    { };  /* delay 12us */

    while(SCL_Low && ++cTWtrytime)
    { };

    for(ix = 0; ix < TWD_SHORT_TIME; ix++)
    { };  /* delay 12us */

    Set_SDA_High;
    for(ix = 0; ix < TWD_SHORT_TIME; ix++)
    { };  /* delay 12us */
	EA=1;
}

//--------------------------------------------------
// Send_Byte
//    Send a byte to master with a acknowledge bit
//--------------------------------------------------
uCHAR Send_Byte(uCHAR cData)
{
    uCHAR ix, j, cAcknowledge;
    uCHAR cTWtrytime=0;

    cAcknowledge = 0;

    for(ix = 0; ix < 8; ix++)
    {
        Set_SCL_Low;
        for(j = 0; j < TWD_SHORT_TIME; j++)
        { };

        if(cData&0x80)Set_SDA_High;
		else Set_SDA_Low;
		cData<<=1;

        for(j = 0; j < TWD_SHORT_TIME; j++)
        { };

        Set_SCL_High;
        while(SCL_Low && ++cTWtrytime)
        { };

        for(j = 0; j < TWD_SHORT_TIME; j++)
        { };
    }
    for(j = 0; j < TWD_SHORT_TIME; j++)
    { };

    Set_SCL_Low;
    for(j = 0; j < TWD_SHORT_TIME; j++)
    { };

    Set_SDA_High;                /* release data line for acknowledge */
    for(j = 0; j < TWD_SHORT_TIME; j++)
    { };

    Set_SCL_High;                /* Send a clock for Acknowledge */
    while(SCL_Low)
    { };
    for(j = 0; j < TWD_SHORT_TIME; j++)
    { };

    if(SDA_High) cAcknowledge = 1; /* No Acknowledge */
    Set_SCL_Low;                   /* Finish Acknoledge */
    for(j = 0; j < TWD_SHORT_TIME; j++)
    { };

    return(cAcknowledge);
}

//--------------------------------------------------
// Read_Byte
//    Read a byte from master with a acknowledge bit
//--------------------------------------------------
uCHAR Read_Byte(uCHAR cNum)
{
    uCHAR ix, j;
    uCHAR cRetval=0;

    for(ix=0;ix<8;ix++){
          Set_SCL_High;
          while(SCL_Low){};
          for(j=0;j<TWD_SHORT_TIME;j++){};
          cRetval = (SDA_High)? (cRetval|(1<<(7-ix))):cRetval ;  /* MSB First */
	  Set_SCL_Low;
     }

     if(cNum==1)
     	Set_SDA_High;
     else
		Set_SDA_Low;
     //SDA = (cNum==1) 1:0;
     Set_SCL_High;
     while(SCL_Low){};
     for(j = 0; j < TWD_SHORT_TIME; j++)
     { };

    Set_SCL_Low;

    Set_SDA_High;
    for(j = 0; j < TWD_SHORT_TIME; j++)
    { };

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本中文字幕一区二区视频 | 中文字幕一区二区三区不卡在线| 日本福利一区二区| 久久精品国产一区二区三| 亚洲色图欧美激情| 精品久久久三级丝袜| 91小视频免费看| 久久99精品国产.久久久久| 亚洲欧美日韩在线| 久久嫩草精品久久久精品| 欧美精品在线一区二区三区| 成a人片亚洲日本久久| 韩国三级电影一区二区| 亚洲成人福利片| 亚洲欧洲日韩在线| 国产日产欧美精品一区二区三区| 91精品国产综合久久精品app| www.亚洲人| 国产91丝袜在线观看| 久久99国产精品成人| 丝袜a∨在线一区二区三区不卡| 亚洲视频免费在线观看| 亚洲国产精品二十页| 26uuu亚洲综合色欧美| 日韩美女一区二区三区| 欧美一区二区三区免费| 欧美日精品一区视频| 91偷拍与自偷拍精品| 成人av电影在线网| 成人一区二区三区中文字幕| 精品一区二区三区香蕉蜜桃| 日本不卡高清视频| 亚瑟在线精品视频| 亚洲国产欧美日韩另类综合 | 夜夜嗨av一区二区三区网页 | 色婷婷久久99综合精品jk白丝| 国产成人av电影在线观看| 九九精品一区二区| 久久99精品国产麻豆不卡| 免费观看91视频大全| 日本成人在线看| 日本成人在线电影网| 蜜臀av一区二区在线免费观看 | 欧美四级电影在线观看| 91福利在线观看| 欧洲精品视频在线观看| 欧美午夜在线观看| 欧美日韩电影在线播放| 欧美日韩国产成人在线免费| 制服丝袜中文字幕亚洲| 日韩欧美一级二级三级| 久久久久久久久97黄色工厂| 国产精品看片你懂得| 中文字幕一区二区三区不卡| 自拍偷拍国产精品| 一区二区日韩av| 日韩电影免费在线观看网站| 日韩国产在线一| 黑人巨大精品欧美一区| 国产宾馆实践打屁股91| 99精品在线观看视频| 欧美三级资源在线| 日韩精品中午字幕| 久久久久久久久久久电影| 亚洲特黄一级片| 亚洲不卡av一区二区三区| 免费观看久久久4p| 成人黄色在线视频| 精品污污网站免费看| 日韩欧美专区在线| 国产肉丝袜一区二区| 一区二区三区日韩| 美女网站一区二区| 成人精品一区二区三区四区 | 亚洲成精国产精品女| 奇米四色…亚洲| 成人高清在线视频| 欧美美女直播网站| 日本一区二区综合亚洲| 亚洲香肠在线观看| 国产成人免费在线视频| 欧美视频中文字幕| 国产日韩欧美制服另类| 亚洲午夜在线观看视频在线| 国产精品一二一区| 欧美年轻男男videosbes| 久久综合狠狠综合久久综合88| 日产精品久久久久久久性色| 黑人巨大精品欧美一区| 欧洲精品中文字幕| 日本一区二区在线不卡| 日韩福利视频导航| 成人av小说网| 欧美电视剧在线观看完整版| 亚洲天天做日日做天天谢日日欢| 秋霞av亚洲一区二区三| 97国产一区二区| 精品国产免费一区二区三区四区| 亚洲免费观看高清完整版在线观看| 九色|91porny| 欧美日韩免费电影| 国产精品入口麻豆九色| 美女免费视频一区二区| 在线观看视频91| 欧美国产日韩一二三区| 日本vs亚洲vs韩国一区三区二区 | 亚洲国产精品影院| 成人午夜免费电影| 欧美精品一区二区三区在线播放| 亚洲香肠在线观看| 色先锋资源久久综合| 国产欧美一区二区三区鸳鸯浴| 日韩国产一二三区| 欧美日韩另类国产亚洲欧美一级| 国产精品国产三级国产aⅴ中文| 久久99精品一区二区三区| 欧美日韩大陆一区二区| 亚洲人精品一区| 99精品视频在线观看| 日本一区二区三区视频视频| 国内一区二区在线| 精品久久久久久久久久久久久久久久久 | 亚洲一区二区综合| www.亚洲人| 中文字幕亚洲一区二区av在线 | 日韩亚洲欧美在线| 天天综合色天天综合色h| 色噜噜狠狠色综合欧洲selulu| 欧美国产亚洲另类动漫| 国产麻豆9l精品三级站| 久久久久久一二三区| 国内精品久久久久影院薰衣草| 日韩一区二区三区四区五区六区| 午夜精品久久久久久不卡8050| 欧美在线色视频| 亚洲一区二区三区精品在线| 日本精品免费观看高清观看| 亚洲欧美日韩成人高清在线一区| 成人毛片在线观看| 亚洲少妇30p| 色欧美乱欧美15图片| 亚洲精品一卡二卡| 欧洲国产伦久久久久久久| 一区二区三区日韩欧美| 欧美日韩电影在线播放| 久久久久久久久岛国免费| 国产精品网站一区| 福利电影一区二区三区| 成人午夜大片免费观看| 亚洲免费电影在线| 中文字幕免费观看一区| 91在线视频官网| 六月婷婷色综合| 国产经典欧美精品| 久久99精品国产.久久久久 | 欧美日韩日日夜夜| 精品国产91九色蝌蚪| 国产乱人伦偷精品视频免下载 | 亚洲综合色自拍一区| 欧美色网站导航| 麻豆精品新av中文字幕| 久久久久久久久伊人| 色综合久久中文字幕综合网| 亚洲国产精品麻豆| 日韩女优av电影在线观看| 国产一区二区久久| 亚洲视频网在线直播| 欧美高清你懂得| 国产福利91精品| 一区二区三区久久久| 日韩一区二区电影| 高清不卡一二三区| 亚洲一区二区视频在线观看| 日韩欧美国产一区在线观看| 成人激情免费电影网址| 天天综合色天天综合色h| 国产欧美日韩综合精品一区二区| 91麻豆国产福利在线观看| 日本不卡视频在线| 中文字幕综合网| 最新热久久免费视频| 欧美日产国产精品| 国产丶欧美丶日本不卡视频| 亚洲综合色自拍一区| 久久久综合视频| 欧美视频日韩视频在线观看| 国产麻豆成人传媒免费观看| 亚洲一区在线观看视频| 久久久亚洲精品一区二区三区| 在线观看www91| 国产福利一区二区| 性做久久久久久免费观看| 国产天堂亚洲国产碰碰| 欧美日韩国产经典色站一区二区三区| 国产精品一区二区在线播放| 日日骚欧美日韩| 亚洲色图一区二区三区| 久久综合狠狠综合久久综合88 | 国产成人在线影院| 丝袜诱惑制服诱惑色一区在线观看 |