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

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

?? s6d0118.c

?? 用8051單片機來驅動的2.0吋TFT屏(S6D0118的IC)
?? C
字號:
/****************************************************************************
 Controller IC:S6D0118,Hannstar 2.0 TFT
 Paraller type:8 bit-8080 interface
 
 Resolutions:  176*220 pixels
 P0       : DB0---DB7===>D10-D17
 P1       : P1.4 P1.3 P1.2 P1.1 P1.0
	        RES  CS1   RS  /WR    RD

 Modified date: 2006.09.24
****************************************************************************/
#include <reg52.h>
#include<intrins.h>

#define DisplayCol  220   //160
#define DisplaySeg  176   //128

#define DataPort  P0
#define ContPort  P1

sbit _RST = P1^4;
sbit _CS1 = P1^3;
sbit  RS  = P1^2;  
sbit _WR  = P1^1;
sbit _RD  = P1^0;  

//define control key
sbit	STOP = P1^7;
sbit	CONU = P1^5;
sbit	COND = P1^6;

sbit  PA0=P3^0;
sbit  PA1=P3^1;
sbit  PA2=P3^2;
sbit  FlashChip1Select=P3^3;   //flash memory chip 1
sbit  LBLPowerOn=P3^4;         //backlight DC/DC on 

unsigned int xdata *ptr;


//unsigned char contrast=114;
int Rate=1,contrast=1, frequency=6300;
unsigned char KeyValue;
long time ;
int cycle;
int stand=1000;

void delay(unsigned int param)
{
   int i;
   for(;param>0;param--)
	for(i=0;i<960;i++);
}


void LCD_Index(unsigned char index)
{
	_nop_();
    RS=0;_RD=1;
    P0=index;
    _WR=0;
   delay(0);
   _WR=1;
} 

void LCD_DataWrite(unsigned int set_db)
{
	_nop_();
    RS=1;_RD=1;
    P0=set_db>>8;
    _WR=0;
    delay(0);
    _WR=1;

    _nop_();
    RS=1;_RD=1;
    P0=set_db;
    _WR=0;
    delay(0);
    _WR=1;
} 


void LCD_CmdWrite(unsigned char index,unsigned int set_db)
{

    //INDEX Register set
    _nop_();
    RS=0;_RD=1;
    P0=index;
    _WR=0;
    delay(0);
    _WR=1;

    _nop_();
    RS=1;_RD=1;
    P0=set_db>>8;
    _WR=0;
    delay(0);
    _WR=1;

    _nop_();
    RS=1;_RD=1;
    P0=set_db;
    _WR=0;
    delay(0);
    _WR=1;	
}

void LCD_Reset(void)
{
    _CS1=0;
    _RST=1;
    delay(10);
	_RST=0;
	delay(60);
	_RST=1;
	delay(10);
}

void Power_set(void)    //Power setting
{
   LCD_CmdWrite(0x00,0x0001); //osc start ---by YY 2006-9-28
   delay(40);
   //LCD_CmdWrite(0x12,0x00b3); //
   LCD_CmdWrite(0x11,0x3000); //power control:PON=0,,PON1=0,AON=0
   LCD_CmdWrite(0x14,0x1c12); //power control 
   //LCD_CmdWrite(0x0b,0x0000); //Frame cycle control

   LCD_CmdWrite(0x10,0x2900); //power control 
   delay(50);

   LCD_CmdWrite(0x13,0x0040); //power control :PON=1,PON1=0,AON=0
   delay(10);
   LCD_CmdWrite(0x13,0x0060); //power control :PON=1,PON1=1,AON=0
   delay(10);
   LCD_CmdWrite(0x13,0x0070); //power control :PON=1,PON1=1,AON=1
   delay(100);
   LCD_CmdWrite(0x11,0x3004); //power control:PON=0,,PON1=0,AON=0
   LCD_CmdWrite(0x10,0x2d00); //power control
   delay(20);
}


void LCD_Initial1(void)       //initial code 1
{
    LCD_CmdWrite(0x01,0x011b);//Driver Output Control
	                          //0000 0xxx 000x xxxx---0000 0001 0001 1101
                              //SM=0,GS=0,SS=1,NL[4:0]=1 0101---176*220 pixels

	LCD_CmdWrite(0x02,0x0700);//LCD-Driving Waveform Control
	                          //0000 xxxx 00xx xxxx---0000 0100 0000 0000
                              //FLD[1:0]=01,B/C=0,EOR=0,NW[5:0]=000000

	LCD_CmdWrite(0x03,0x1030);//Entry Mode
    LCD_CmdWrite(0x07,0x0004); //GON=0,DTE=0,D[1:0]=01
    LCD_CmdWrite(0x08,0x0808);//display control---blink control 
	LCD_CmdWrite(0x09,0x0000);
    LCD_CmdWrite(0x0b,0xf000);
    LCD_CmdWrite(0x0c,0x0000);//display interface selection:16-bit RGB 
}

void Gamma_Control(void)    //Gamma control
{
   //MP[5:0]([2:0]):gamma adjustment register for positive polarity output
    
    LCD_CmdWrite(0x30,0x0102);   //Gamma Control
	LCD_CmdWrite(0x31,0x0707);   //Gamma Control
	LCD_CmdWrite(0x32,0x0101);   //Gamma Control
	LCD_CmdWrite(0x33,0x0200);   //Gamma Control

	LCD_CmdWrite(0x34,0x0506);   //Gamma Control
	LCD_CmdWrite(0x35,0x0707);   //Gamma Control
	LCD_CmdWrite(0x36,0x0304);   //Gamma Control
	LCD_CmdWrite(0x37,0x0200);   //Gamma Control

	LCD_CmdWrite(0x38,0x1802);   //Gamma Control
	LCD_CmdWrite(0x39,0x0800);   //Gamma Control
}


void LCD_Initial2(void)       //initial code 2
{
    LCD_CmdWrite(0x40,0x0000);//Gate Scan Position

	LCD_CmdWrite(0x42,0xdb00);//Screen Driving Position
	LCD_CmdWrite(0x43,0x0000);//Screen Driving Position
	LCD_CmdWrite(0x44,0xaf00);//Horzontal RAM Address Position:176
	LCD_CmdWrite(0x45,0xdb00);//Vertical Address Position:220
	delay(10);

    //LCD_CmdWrite(0x61,0x0018);//Oscillator control
	//LCD_CmdWrite(0x69,0x0000);//DC-DC control 
	//LCD_CmdWrite(0x70,0x0000);//source period setting
	//LCD_CmdWrite(0x71,0x0000);//gate period setting 
}


void Display_ON(void)  //display on 
{
   LCD_CmdWrite(0x07,0x0014); //GON=0,DTE=0,D[1:0]=01
   delay(2);
   LCD_CmdWrite(0x07,0x0016); //GON=1,DTE=0,D[1:0]=01
   delay(40);
   LCD_CmdWrite(0x07,0x0017); //GON=1,DTE=0,D[1:0]=11
   delay(40);
  
   //display on status
   LCD_CmdWrite(0x21,0x0000); //0000 0000 0000 0000
   LCD_Index(0x22);
}

void Display_Off(void)  //display off
{
   LCD_CmdWrite(0x07,0x0016); 
   delay(40);
   LCD_CmdWrite(0x07,0x0000); 
}

void Power_Off(void)  //Power off 
{
   LCD_CmdWrite(0x07,0x0016); 
   delay(40);
   LCD_CmdWrite(0x07,0x0000); 

   LCD_CmdWrite(0x10,0x0000); 
   LCD_CmdWrite(0x14,0x0000); 
   LCD_CmdWrite(0x11,0x0000); 
   LCD_CmdWrite(0x13,0x0060); 
   delay(10);

   LCD_CmdWrite(0x13,0x0040); 
   delay(10);
   
   LCD_CmdWrite(0x13,0x0000);

}

void Standby_on(void)  //standby mode on
{
   LCD_CmdWrite(0x10,0x0001); 
}

void Standby_Off(void)  //standby mode off
{
   LCD_CmdWrite(0x00,0x0001); 
   delay(10);
   LCD_CmdWrite(0x10,0x0000); 
}

void Sleep_on(void)  //sleep mode on
{
   LCD_CmdWrite(0x10,0x0002); 
}

void Sleep_Off(void)  //sleep mode off
{
   LCD_CmdWrite(0x10,0x0000); 
}

void WriteBmp(unsigned char pages)
{ 
    unsigned char page,seg;
	unsigned int pointer;

	FlashChip1Select= 0;//chip selected
    pointer= 0;

    LCD_CmdWrite(0x21,0x0000); //0000 0000 0000 0000
    LCD_Index(0x22);

	switch(pages)
	{
		case 0 :PA0 = 0;PA1 = 0;PA2 = 0;break;
		case 1 :PA0 = 1;PA1 = 0;PA2 = 0;break;
		case 2 :PA0 = 0;PA1 = 1;PA2 = 0;break;
		case 3 :PA0 = 1;PA1 = 1;PA2 = 0;break;
		case 4 :PA0 = 0;PA1 = 0;PA2 = 1;break;
		case 5 :PA0 = 1;PA1 = 0;PA2 = 1;break;
		case 6 :PA0 = 0;PA1 = 1;PA2 = 1;break;
		case 7 :PA0 = 1;PA1 = 1;PA2 = 1;break;
	}
		  
   for(page=0;page<DisplayCol;page++)
   {
	  for(seg=0;seg<DisplaySeg;seg++)
	  {  
	    LCD_DataWrite(ptr[pointer++]);
	  }	       
   } 
   FlashChip1Select=1;                                                                                                                                                                
 }

void Checker(unsigned int param1,unsigned int param2) //Full on,off,checkerboard,bar
{
	unsigned char page,seg;

    LCD_CmdWrite(0x21,0x0000); //0000 0000 0000 0000
    LCD_Index(0x22);

	for(page=0;page<DisplayCol;page++)
	{
		for(seg=0;seg<DisplaySeg;seg++)
		{
		   if(seg%2) LCD_DataWrite(param1);
             else LCD_DataWrite(param2);    
		}
	}
}

void WriteBoundary(void)  //write boundary
{
    
    unsigned char page,seg;

	LCD_CmdWrite(0x21,0x0000); //
    LCD_Index(0x22);
 
	for(page=0;page<DisplayCol;page++)
	{
		for(seg=0;seg<DisplaySeg;seg++)
		 {
		
			 if (seg==0||seg==(DisplaySeg-1)) LCD_DataWrite(0xffff);
               else if (page==0) LCD_DataWrite(0xffff);
                else if (page==(DisplayCol-1)) LCD_DataWrite(0xffff);  //
                 else LCD_DataWrite(0x0000);
		 }
    }
}

void test(void)  //test
{
    
    unsigned char page,seg;
 
	for(page=0;page<DisplayCol;page++)
	{
		for(seg=0;seg<DisplaySeg;seg++)
		 {
                 if (page<3) 
				   {
				     LCD_DataWrite(0xffff);
					 delay(10);
				   }
                 else 
				     LCD_DataWrite(0x0000);
		 }
    }
}

void WriteGrid1(void)
{
    unsigned char col,seg;

	LCD_CmdWrite(0x21,0x0000); //
    LCD_Index(0x22);

	for(col=0;col<DisplayCol;col++)
		{
		for(seg=0;seg<DisplaySeg;seg++)
			{
			 switch((col/16+seg/16)%3)
             {
               case 0: LCD_DataWrite(0x001f);break;  //red
               case 1: LCD_DataWrite(0x07e0);break;  //green
               case 2: LCD_DataWrite(0xf800);break;  //blue
              }
			}
		}
}

void WriteBar1(void)
{
	unsigned char col,seg;

	LCD_CmdWrite(0x21,0x0000); //0000 0000 0000 0000
    LCD_Index(0x22);

	for(col=0;col<DisplayCol;col++)
		{
		for(seg=0;seg<DisplaySeg;seg++)
			{
			 switch((col/16+col/16)%3)
             {
               case 0: LCD_DataWrite(0x001f);break;  //red
               case 1: LCD_DataWrite(0x07e0);break;  //green
               case 2: LCD_DataWrite(0xf800);break;  //blue
              }
			}
		}
}


 void main(void)
{   

   unsigned int step=0;
   
   delay(10); 

   LCD_Reset(); 
   Power_set();
   LCD_Initial1();
   LCD_Initial2();
   Gamma_Control();
   //LCD_Initial2();
   Display_ON();

	for(step=0;step<8;step++)	
	{
		switch(step)
		{
			case 0: Checker(0xffff,0xffff);break;  //all on 
			case 1: Checker(0x0000,0x0000);break;  //all off 
			case 2: Checker(0x07e0,0x07e0);break;  //green
            case 3: Checker(0x001f,0x001f);break;  //red 
			case 4: Checker(0xf800,0xf800);break;  //blue
            case 5: WriteGrid1(); break;           //Gird
			case 6: WriteBar1(); break;            //bar
			//case 7: WriteBmp(0); break;            //bitbmp
			//case 8: test();break;                  //
			case 7: WriteBoundary(); Power_Off(); break;//boundary
 	    }
	   delay(200);
   }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜一区二区三区| 亚洲美女精品一区| 亚洲一区二区三区国产| 欧美亚洲愉拍一区二区| 麻豆精品一二三| 亚洲免费观看高清完整版在线观看熊| 国产美女主播视频一区| 一区二区三区在线观看视频| 久久久综合网站| 91精品国产综合久久久久| 亚洲国产毛片aaaaa无费看 | 日本乱码高清不卡字幕| 玖玖九九国产精品| 视频一区二区不卡| 亚洲一区在线视频| 亚洲欧美国产高清| 日韩一区有码在线| 欧美激情一区二区三区在线| 91麻豆国产精品久久| 粉嫩在线一区二区三区视频| 亚洲视频电影在线| 国产精品久久久久久福利一牛影视 | 国产亚洲精品福利| 91精品国产综合久久小美女| 在线观看国产一区二区| 91丝袜美女网| 97se亚洲国产综合自在线不卡| 亚洲自拍与偷拍| 亚洲色图视频网| 最新不卡av在线| 亚洲欧洲国产日韩| 日韩美女久久久| 中文字幕av资源一区| 欧美国产成人在线| 欧美高清在线精品一区| wwwwxxxxx欧美| 久久久www成人免费无遮挡大片| 91久久精品一区二区二区| 捆绑调教美女网站视频一区| 日韩高清一级片| 国产精品嫩草影院av蜜臀| 欧美激情在线看| 国产一区二区三区av电影| 久久99久国产精品黄毛片色诱| 国产精品久久久久久户外露出| 8v天堂国产在线一区二区| 在线播放/欧美激情| 欧美丰满一区二区免费视频| 欧美老女人在线| 日韩欧美国产成人一区二区| 精品国产伦一区二区三区免费| 91免费国产在线| 欧美性猛片aaaaaaa做受| 欧美麻豆精品久久久久久| 欧美一卡二卡三卡四卡| 91高清在线观看| 欧美日韩不卡在线| 制服丝袜成人动漫| 精品99一区二区| 中文字幕在线观看不卡| 亚洲影院免费观看| 免费成人美女在线观看.| 国产成人午夜99999| 99精品视频在线免费观看| 欧美怡红院视频| 欧美va亚洲va| 在线综合亚洲欧美在线视频| 欧美v国产在线一区二区三区| 在线播放欧美女士性生活| 精品国产青草久久久久福利| 国产精品天美传媒| 26uuu色噜噜精品一区二区| 中文字幕欧美日韩一区| 亚洲一区在线播放| 精品伊人久久久久7777人| 盗摄精品av一区二区三区| 在线看不卡av| 日本在线不卡视频| 亚洲综合激情网| 亚洲色图制服丝袜| 丝袜诱惑制服诱惑色一区在线观看| 亚洲激情五月婷婷| 国模无码大尺度一区二区三区| 蜜桃久久久久久久| 99久久精品免费看国产 | 日韩福利视频网| 国产一区二区三区美女| 色偷偷88欧美精品久久久| 99国产精品久久久| 精品国产成人系列| 亚洲成人av在线电影| 国产sm精品调教视频网站| 666欧美在线视频| 91精品视频网| 日韩欧美的一区二区| 亚洲女性喷水在线观看一区| 美女视频免费一区| 欧美亚洲免费在线一区| 中文字幕第一区二区| 国产精品久久久久久久久晋中| 成人欧美一区二区三区小说 | 亚洲午夜私人影院| 亚洲国产精品久久人人爱| 成人一区二区三区视频在线观看 | 亚洲伊人伊色伊影伊综合网| 亚洲一区二区在线播放相泽| 国产老肥熟一区二区三区| 欧美理论片在线| 一区二区视频在线看| 国产91高潮流白浆在线麻豆| 成人动漫视频在线| 久久九九久久九九| 精品一区二区免费| 欧美肥胖老妇做爰| 午夜日韩在线观看| 欧美在线小视频| 日韩午夜激情电影| 色美美综合视频| 国产精品的网站| 午夜伦欧美伦电影理论片| 色婷婷国产精品久久包臀| 国产精品久久久久久久午夜片| 亚洲伊人伊色伊影伊综合网| caoporn国产一区二区| 欧美日韩亚洲另类| 欧美精品一区二区久久婷婷| 国产精品乱码妇女bbbb| 国产精品91xxx| 国产亚洲精久久久久久| 国产精品一卡二| 国产日产欧美一区| 国产91精品一区二区麻豆亚洲| 日本道色综合久久| 亚洲激情图片qvod| 欧美亚洲国产一区二区三区va| 精品国产精品网麻豆系列| 老司机一区二区| 久久蜜臀精品av| 国产成人av电影在线| 欧美日韩精品一区视频| 午夜激情久久久| 日韩欧美视频一区| 国产在线看一区| 欧美日韩国产一区| 轻轻草成人在线| 久久午夜色播影院免费高清 | 激情国产一区二区| 久久久美女艺术照精彩视频福利播放| 亚洲尤物视频在线| 91精品国产欧美一区二区18| 亚洲欧洲国产日本综合| 欧洲中文字幕精品| 日本大胆欧美人术艺术动态| 欧美成人精品福利| 国产成人精品影视| 一区二区三区高清在线| 制服丝袜中文字幕一区| 精品一区二区三区免费| 国产精品久线在线观看| 韩国中文字幕2020精品| 国产精品无人区| 欧美午夜理伦三级在线观看| 午夜国产不卡在线观看视频| 日韩欧美国产小视频| 成人免费三级在线| 亚洲一卡二卡三卡四卡| 欧美va亚洲va国产综合| 99国产精品99久久久久久| 五月天丁香久久| 国产欧美一区二区在线| 精品一区二区成人精品| 中文字幕第一区二区| 国产成a人亚洲精品| 亚洲一区二三区| 久久综合狠狠综合久久激情 | 中文字幕制服丝袜成人av | 日韩毛片视频在线看| 欧美喷水一区二区| 国产大陆亚洲精品国产| 樱花草国产18久久久久| 国产女人水真多18毛片18精品视频 | 国产精品久久久久久久久快鸭 | 欧美日韩国产乱码电影| 韩国在线一区二区| 亚洲国产一区二区a毛片| 久久久噜噜噜久噜久久综合| 欧美系列一区二区| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 91香蕉视频在线| 美女视频网站久久| 亚洲精品乱码久久久久久黑人| 色天使久久综合网天天| 国产在线视频精品一区| 欧美韩日一区二区三区四区| 欧美一区国产二区| 91成人免费网站| 成人网在线播放| 九九国产精品视频| 欧美高清在线一区| 精品国产百合女同互慰|