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

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

?? lds191.c

?? Lcd_IC:LDS191的初始化和測試程序
?? C
字號:

#include<reg52.h>
#include<intrins.h>
#include<absacc.h>
#include"128x160map.h"
#define nop _nop_()
#define uchar unsigned char
#define uint unsigned int
//#define ID2_Sign  0x7f//0X00~0X7F
//#define ID3S_Sign 0x03//0x00~0x03

#define ID2_Sign  0x20//is b226(1650) use
#define ID3S_Sign 0x01//is b226(1650) use

 sbit  RS =P3^0;
 sbit  W_R=P3^1;
 sbit  R_D=P3^2;
 sbit CS1B=P3^3; 
 sbit RSTB=P3^4;

sbit  LED=P3^7;
sbit MTP_VOP=P1^5;
sbit key_mtp=P1^6;
sbit key_add=P1^7;
sbit key_sub=P1^3;
uchar electron;
uchar temp_add,temp_sub;
 /////////////////////////////////////
void delay_11us(void)
{
	uchar i=1;
	nop;
	nop;
	nop;
    do
    {
    i--;
    }while(i);
}
///////////////////////////
void delay_ms(uchar j)
{
	uchar i;
    while(j)
	{
    for(i=0;i<78;i++)
    delay_11us();
	j--;
	}
}
////////////////////////////////////
uchar ReadData(void)
{
uchar i;
    P0=0XFF;
    RS=1;//read data
    CS1B=0;
	W_R=1;
	R_D=0;
    nop;
	nop;
    nop;
    nop;
	nop;
    nop;
	nop;
    nop;
	i=P0&0xff;
	nop;
    nop;
	nop;
    nop;
	nop;
    nop;
	nop;
    nop;
    R_D=1;
    CS1B=1;
	return i;
}
/////////////////////////////////
void WriteCommand(uchar Data)
{
	RS=0;//Write Commsnd
	CS1B=0;
	W_R=0;
    P0=Data;
    nop;
    W_R=1;
	CS1B=1;
}
//////////////////////////////////
void WriteData(uchar Data)
{	

    CS1B=0;
    RS=1;//Write data
 	W_R=0;
    P0=Data;
    nop;
    W_R=1;
	CS1B=1;
}
/////////////////////////////////////
void set_whole_screen()
 {
WriteCommand(0x2a); //column address set
WriteData(0x00);    //upper 8bit start address
WriteData(0x02);    //lower 8bit start address
WriteData(0x00);    //upper 8bit end address
WriteData(129);     //lower 8bit end address
WriteCommand(0x2b); //row address set
WriteData(0x00);    //upper 8bit start address
WriteData(0x01);    //lower 8bit start address
WriteData(0x00);    //upper 8bit end address
WriteData(160);     //lower 8bit end address
WriteCommand(0x2c);
}
/*
void rgb1()

{
unsigned int i,j,k=0;
unsigned int color;
uchar code gray[7]={2,5,8,11,15,19,31};
set_whole_screen();
    WriteCommand(0x2c);//write memory
	for(i=0;i<154;i++)
	{
		color=gray[i/22];
		color<<=6;
		color|=(gray[i/22]<<1);
		color<<=5;
		color|=gray[i/22];

		for(j=0;j<128;j++)
		{
			WriteData(color>>8); //      
			WriteData((uchar)color);
		}
	}
}
*/
/////////////////////////////////////////
void INT_191(void)
{	
	RSTB=1;
	delay_ms(1);
	RSTB=0;
	delay_ms(10);
	RSTB=1;
	delay_ms(10);
	WriteCommand(0x38);//idle mode off
	
	WriteCommand(0x25);
	WriteData(electron);//write contrast
	WriteCommand(0x11);//sleep out & booster on
	delay_ms(100);
	WriteCommand(0x36);
	WriteData(0Xc0);//MY=1,MX=1,MV=0,ML=0,RGB=0
	WriteCommand(0x3A);
	WriteData(0X05);//16Bit pixel!!!
	
	WriteCommand(0xbc);//bias control
	WriteData(0X01);//00=1/9,01=1/10,10=1/11,11=1/12
	WriteCommand(0xbd);//VXH voltage control
	WriteData(0X03);//00~07
	WriteCommand(0x2a); //column address set
	WriteData(0x00);    //upper 8bit start address
	WriteData(0x02);    //lower 8bit start address 0 2
	WriteData(0x00);    //upper 8bit end address
	WriteData(129);     //lower 8bit end address   129
	WriteCommand(0x2b); //row address set
	WriteData(0x00);    //upper 8bit start address
	WriteData(0x01);    //lower 8bit start address 01
	WriteData(0x00);    //upper 8bit end address
	WriteData(160);     //lower 8bit end address  160
	WriteCommand(0x20);//display inversion off(normal)
	WriteCommand(0x13);//normal display on
	WriteCommand(0x29);//display on
	WriteCommand(0x2c);
}

void EepromDataClear(void)
{
        uchar i;
		WriteCommand(0xD1);        //Write ID2 for EEPROM programming
		WriteData(0x00);           //ID2[6-0]=000000
		WriteCommand(0xD2);        //Write ID3 for EEPROM programming
		WriteData(0x00);           //ID3S[1-0]=00
		WriteCommand(0xD3);        //Electron volume offset
		WriteData(0x00);           //EVOF[5-0]=00000
		WriteCommand(0xD9);        //EEPROM Write start
		delay_ms(220);	           //24M OSC,220ms/2=delay 110ms(min 100ms)

		MTP_VOP=0;                 //append VOP to EPCVD pad,VOP=16V~17V
		for(i=0;i<16;i++)
		delay_ms(200);             //24M OSC,200ms*16/2=delay 1.6s(min 1.5s)
		MTP_VOP=1;                 //remove VOP,VOP=0V!!!
		delay_ms(220);	           //24M OSC,220ms/2=delay 110ms(min 100ms)
		WriteCommand(0xD8);        //EEPROM Write end
		                           //EEPROM init clear data over
}
///////////////////////////////////////
uchar EepromClearVerify(void)
{
uchar i,j;
                                   //EEPROM Clear Data Verification start
        j=0;
		WriteCommand(0xd7);        //EEPROM verify register set
		WriteData(0x81);           //EEVF[7-0]=0X81,Eraser status of EEPROM verify
		WriteCommand(0x11);        //sleep out & booster on
		delay_ms(220);              //delay 10ms(min 5ms)modify from 5ms to 110ms!(2007-08-29)

		WriteCommand(0xdb);//read ID2
		ReadData();//dummy read
		i=ReadData();
		if((i&0x7f)!=0)
		j=1;
		WriteCommand(0xd6);//read EV offset
		i=ReadData();//
		if((i&0x9f)!=0)
		j=1;

		WriteCommand(0xde);//read ID3S Value
		ReadData();//dummy read
		i=ReadData();
		if((i&0x03)!=0) 
		j=1;
		WriteCommand(0xd7);        //EEPROM verify register set
		WriteData(0x00);           //EEVF[7-0]=0X00,exit EEPROM verify
		//EEPROM Clear Data Verification over
		return j;
}

///////////////////////////////////////
void EepromWriteData(void)//eeprom programming
{
//EEPROM Write Data start
uchar i;

		WriteCommand(0xd1);        //Write ID2 for EEPROM programming
		WriteData(ID2_Sign);           //0x01-0x7f
		WriteCommand(0xd2);        //Write ID3S for EEPROM programming
		WriteData(ID3S_Sign);           //0x01-0x03
		if(temp_add>0)
		{
		WriteCommand(0xd3);        //Write electronic volume offset
		WriteData(temp_add);       //Write electronic volume offset
		}
		if(temp_sub>0)
		{
		WriteCommand(0xd3);        //Write electronic volume offset
		WriteData(0x80+temp_sub);  //Write electronic volume offset
		}
		WriteCommand(0x10);               //sleep in & booster off
		WriteCommand(0xd9);           //EEPROM Write start
		delay_ms(220);	           //24M OSC,220ms/2=delay 110ms(min 100ms)
		MTP_VOP=0;                 //append VOP to EPCVD pad,VOP=16V~17V
		for(i=0;i<16;i++)
		delay_ms(200);             //24M OSC,200ms*16/2=delay 1.6s(min 1.5s)
		MTP_VOP=1;                 //remove VOP,VOP=0V!!!
		delay_ms(220);	           //24M OSC,220ms/2=delay 110ms(min 100ms)
		WriteCommand(0xd8);           //EEPROM Write end
}
////////////////////////////////////////
uchar EepromWriteVerify(void)
{
uchar i,k;
k=0;
		WriteCommand(0xd7);        //EEPROM verify register set
		WriteData(0x82);           //EEVF[7-0]=0X82,program status EEPROM verify
		MTP_VOP=0;                 //append VOP to EPCVD pad,VOP=16V~17V
		for(i=0;i<2;i++)
		delay_ms(220);             //24M OSC,220ms/2=delay 110ms(min 100ms)
		WriteCommand(0x11);        //sleep out & booster on
		delay_ms(15);	           //15ms/2=7.5ms (min 5ms)

		WriteCommand(0xdb);//read ID2
		ReadData();//dummy read
		i=ReadData();
		if((i&ID2_Sign)!=ID2_Sign)
		k=1;
		WriteCommand(0xde);//read ID3S Value
		ReadData();//dummy read
		i=ReadData();
		if((i&ID3S_Sign)!=ID3S_Sign)
		k=1;
		WriteCommand(0xd6);//read EV offset
        ReadData();//dummy read
		i=ReadData();
		if(i&0x80)//EOF5==1
		{
			if((i&temp_sub)!=temp_sub)																												
			k=1;
        }
		else
		{
			if((i&temp_add)!=temp_add)																												
			k=1;
		}
		WriteCommand(0xd7);        //EEPROM verify register set
		WriteData(0x00);           //EEVF[7-0]=0X00,exit EEPROM verify
		MTP_VOP=1;                 //remove VOP,VOP=0V!!!
return k;
}

///////////////////////////////////////
void AdjustOptimumDisplay(void)
{
	uchar i,j;
	INT_191();

	set_whole_screen();
	for(i=0;i<160;i++)
	{
		for(j=0;j<128;j++)
		{
			WriteData(0xf8);
			WriteData(0x00);
		}
	}
 while(!key_mtp)
{
	delay_ms(20);
}
	 while(key_mtp)
	{
	delay_ms(20);
	
		while(!key_add)
		{
			delay_ms(20);
			WriteCommand(0x25);
			WriteData(++electron);
			temp_sub=0;
	        temp_add+=2;
			while(!key_add)
			delay_ms(20);
		}
		while(!key_sub)
		{
			delay_ms(20);
			WriteCommand(0x25);
			WriteData(--electron);
			temp_sub+=2;
	        temp_add=0;
			while(!key_sub)
			delay_ms(20);
		}	
	}
}
///////////////////////////////////

LDS191_MTP()
{


	//	uchar Hdata,Ldata;
		uchar i,MtpClearCount;
		uchar temp_electron;
		//EXTC=1;                        //EXTERN CODE ENABLE
		RSTB=0;
		delay_ms(10);
		RSTB=1;
		delay_ms(1);
    //  WriteCommand(0x10);       //sleep in & booster off
    	temp_add=0;	
    	temp_sub=0;	
	    MtpClearCount=4;
	    temp_electron=electron;	
 ResetEraserEEPROM:		             			   
		LED=0;                     //EEPROM init clear data start/
		MtpClearCount--;
	    if(MtpClearCount==0)
		while(1);
        EepromDataClear();
        LED=1;
		WriteCommand(0x11);        //sleep out & booster on
		delay_ms(220);	           //24M OSC,220ms/2=delay 110ms(min 100ms)
        i=EepromClearVerify();
		if(i!=0)
        goto ResetEraserEEPROM;
		AdjustOptimumDisplay();
        EepromWriteData();
		WriteCommand(0x11);        //sleep out & booster on
		delay_ms(220);	           //24M OSC,220ms/2=delay 110ms(min 100ms)
        //i=EepromWriteVerify();
       // if(i!=0)
        //goto ResetEraserEEPROM;

		WriteCommand(0x25);         //EV set
		WriteData(temp_electron);	
		WriteCommand(0x29);         //display on
}

////////////////////////////////

main()
{
	uchar i,j;
	uchar *sp;
	electron=60;//max=127, 60
	while(1)
	{
P0=0XAA;
P3=0X0A;
		for(i=0;i<5;i++)
		delay_ms(255);
P0=0X55;
P3=0X05;
		for(i=0;i<5;i++)
		delay_ms(255);

	}
	INT_191();
	while(1)
	{
		set_whole_screen();
		for(i=0;i<160;i++)
		{
			for(j=0;j<128;j++)
			{
				WriteData(0xf8);
				WriteData(0x00);
			}
		}
		for(i=0;i<5;i++)
		delay_ms(255);

		set_whole_screen();
		for(i=0;i<160;i++)
		{
			for(j=0;j<128;j++)
			{
				WriteData(0x07);
				WriteData(0xe0);
			}
		}
		for(i=0;i<5;i++)
		delay_ms(255);

		set_whole_screen();
		for(i=0;i<160;i++)
		{
			for(j=0;j<128;j++)
			{
				WriteData(0x00);
				WriteData(0x1f);
			}
		}
		for(i=0;i<5;i++)
		delay_ms(255);

		set_whole_screen();
		for(i=0;i<160;i++)
		{
			for(j=0;j<128;j++)
			{
				WriteData(0xff);
				WriteData(0xff);
			}
		}
		for(i=0;i<5;i++)
		delay_ms(255);

		set_whole_screen();
		for(i=0;i<160;i++)
		{
			for(j=0;j<128;j++)
			{
				WriteData(0x00);
				WriteData(0x00);
			}
		}
		for(i=0;i<5;i++)
		delay_ms(255);

		sp=map;
		set_whole_screen();
		for(i=0;i<160;i++)
		{
			for(j=0;j<128;j++)
			{
				WriteData(*sp++);
				WriteData(*sp++);
			}
		}
		for(i=0;i<7;i++)
		delay_ms(255);
	}
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品国产自产在线观看一区 | 99久久99久久精品国产片果冻| 欧美www视频| 韩国精品免费视频| 久久免费视频色| 国产成人精品午夜视频免费| 久久精品亚洲乱码伦伦中文 | 色悠悠久久综合| 亚洲国产成人tv| 欧美一激情一区二区三区| 麻豆精品在线播放| 国产精品视频一区二区三区不卡| 99re6这里只有精品视频在线观看| 亚洲精品日日夜夜| 日韩一区二区三区视频在线观看| 另类成人小视频在线| 国产欧美一区二区精品秋霞影院| 色综合天天天天做夜夜夜夜做| 亚洲一区在线视频| 精品国产乱码久久久久久久久| 国产宾馆实践打屁股91| 一区二区三区免费网站| 欧美一区二区精品| 精彩视频一区二区三区| 亚洲精品日韩综合观看成人91| 91免费看片在线观看| 一区二区三区在线看| 欧美丝袜自拍制服另类| 香蕉影视欧美成人| 精品伦理精品一区| 成人激情电影免费在线观看| 中文字幕字幕中文在线中不卡视频| 97久久精品人人爽人人爽蜜臀| 亚洲一区自拍偷拍| 日韩欧美电影一区| zzijzzij亚洲日本少妇熟睡| 亚洲精品视频在线观看免费 | 欧美最猛性xxxxx直播| 青草国产精品久久久久久| 久久天天做天天爱综合色| 成人av午夜影院| 日本在线不卡视频一二三区| 国产亚洲美州欧州综合国| 欧美日韩在线播放一区| 精品一区二区精品| 亚洲精品国产第一综合99久久 | 亚洲综合视频在线| 欧美xxxxx牲另类人与| 99re这里都是精品| 美腿丝袜亚洲三区| 亚洲视频一二区| 精品福利av导航| 色呦呦国产精品| 激情久久五月天| 亚洲一区二区三区三| 精品免费视频一区二区| 欧美亚洲国产一区二区三区 | 日韩无一区二区| 国产剧情在线观看一区二区| 中文字幕色av一区二区三区| 欧美理论电影在线| 成人精品视频一区| 日韩福利电影在线观看| 一区二区三区不卡视频| 国产日韩欧美麻豆| 欧美一区二区三级| 欧美色老头old∨ideo| 国产成人av福利| 蜜臀av性久久久久蜜臀aⅴ| 一区二区三区不卡在线观看| 国产日韩欧美综合在线| 日韩美女在线视频| 欧美理论电影在线| 色综合久久久网| 9色porny自拍视频一区二区| 韩国精品一区二区| 久久er99精品| 日韩av电影一区| 亚洲成精国产精品女| 国产精品国产自产拍在线| 久久久久久久av麻豆果冻| 欧美疯狂性受xxxxx喷水图片| 色94色欧美sute亚洲线路一ni | 狠狠色狠狠色综合日日91app| 亚洲第四色夜色| 亚洲一区二区三区小说| 亚洲精品日韩综合观看成人91| 欧美一区二区高清| 欧美一区二区人人喊爽| 91麻豆精品国产91久久久久 | 色婷婷av一区二区三区之一色屋| eeuss国产一区二区三区| 国产精品911| 国产精品99久久久久久似苏梦涵| 美女高潮久久久| 老司机午夜精品99久久| 日本不卡中文字幕| 亚洲线精品一区二区三区八戒| 亚洲小说春色综合另类电影| 一区二区三区成人| 亚洲成人免费看| 日韩av中文字幕一区二区三区| 三级久久三级久久| 免费观看在线色综合| 久久精品久久久精品美女| 裸体歌舞表演一区二区| 韩国成人福利片在线播放| 国产精品一二三四| 成人app下载| 欧美性猛片aaaaaaa做受| 欧美日韩国产高清一区二区| 欧美日韩在线亚洲一区蜜芽| 欧美日韩国产精品成人| 日韩精品中文字幕在线不卡尤物| 欧美精品丝袜中出| 欧美日韩电影在线| 日韩限制级电影在线观看| 久久久电影一区二区三区| 国产精品你懂的| 一区二区三区在线免费播放 | 精品国产3级a| 国产日本欧洲亚洲| 亚洲欧美电影一区二区| 亚洲欧洲日韩av| 亚洲国产成人av| 久久er精品视频| 色综合视频一区二区三区高清| 欧美日韩情趣电影| 久久亚洲精品国产精品紫薇| 国产精品久久三| 青青国产91久久久久久| 国产999精品久久久久久| 在线一区二区三区四区五区 | 日韩成人精品视频| 99麻豆久久久国产精品免费优播| 99这里只有久久精品视频| 色妞www精品视频| 欧美一二三四区在线| 欧美国产精品一区二区| 亚洲夂夂婷婷色拍ww47| 日韩国产欧美视频| 色老汉av一区二区三区| 亚洲精品一区二区三区福利| 亚洲精品成人天堂一二三| 麻豆一区二区99久久久久| www.爱久久.com| 日韩欧美在线123| 亚洲美女视频在线观看| 麻豆精品国产传媒mv男同| 91视频xxxx| 欧美精品一区二区三区在线播放| 一区二区三区日韩欧美精品| 精品午夜一区二区三区在线观看| 国产精品一区二区不卡| 91视视频在线观看入口直接观看www| 8x8x8国产精品| 中文字幕在线不卡| 国产专区欧美精品| 欧美日韩一卡二卡| 亚洲欧洲国产日本综合| 国产真实乱对白精彩久久| 欧美性受xxxx黑人xyx| 中文字幕第一区二区| 另类小说图片综合网| 在线视频综合导航| 国产欧美精品国产国产专区| 日韩电影一区二区三区| 99久久国产综合精品女不卡| 欧美电影一区二区| 亚洲免费资源在线播放| 91美女在线视频| 中文字幕第一区第二区| 国产成人精品影院| 久久综合九色综合97婷婷女人| 日本不卡的三区四区五区| 欧美日韩一级视频| 亚洲国产精品视频| a4yy欧美一区二区三区| 国产精品久久久久久一区二区三区 | 婷婷一区二区三区| 99国产精品国产精品久久| 2017欧美狠狠色| 狠狠色综合日日| 久久久91精品国产一区二区三区| 美国毛片一区二区| 精品免费视频一区二区| 久久狠狠亚洲综合| 欧美mv和日韩mv的网站| 日本在线不卡一区| 欧美r级在线观看| 亚洲成人在线免费| 久久久午夜精品| 国产精品2024| 亚洲欧洲日韩女同| 在线免费精品视频| 午夜亚洲福利老司机| 在线电影欧美成精品| 日本成人在线一区| 精品国产一区二区三区久久久蜜月| 日韩精品1区2区3区|