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

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

?? mylcd.c

?? c8051f020LCD驅(qū)動(dòng)
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
					LCD_Draw_Rectangle(40,50,20,10,1);
					break;
				case 0x5e:		
					dis_clr();
					LCD_Draw_FillRectangle(50,50,90,90,1);
					break;
				case 0x79:		
					dis_clr();
					LCD_Draw_circle(60,30,20,1);
					break;
				case 0x71:		
					dis_clr();
					dis_start0();
					break;
				default:        ;
			}
		}
   	Delay(5000);
	}

}
/****************************************************************************************/
void dis_clr(void)
{
      unsigned char x,y;
      for(y=0;y<8;y++)
        {
           for(x=0;x<128;x++)                
                 lcd_wrda(x,y,0x00);
        }
}
/****************************************************************************************/
void dis_full(void)
{
      unsigned char x,y;
      for(y=0;y<8;y++)
        {
           for(x=0;x<128;x++)                
                 lcd_wrda(x,y,0xff);
        }
}
/****************************************延時(shí)*******************************************/
void Delay(Uchar MS)
	{
		Uchar us,usn;
		while(MS!=0)
			{ usn = 4;
				while(usn!=0)
					{
						us=0xf0;
						while (us!=0){us--;};
						usn--;
					}
				MS--;
			}
	}
/****************************************自定義************************************/

void checkbusy(void)
{
	addr=0x980e;

	_nop_();_nop_();
    _nop_();_nop_();

	do
	{
		tp=addr;
	}while((*tp&0x80)==0x80);

	addr=0x180f;
}

//write command to lcd
void lcd_wrct(unsigned char dd)
{
	DISABLE_INTERRUPTS;	

	addr=0x980c;
    tp=addr;
	*tp=dd;

	addr=0x180c;

	_nop_();_nop_();
    _nop_();_nop_();

	addr=0x180d;

	ENABLE_INTERRUPTS;
}


//set write or read lcd position
void set_xy(unsigned char x,unsigned char y)
{
	DISABLE_INTERRUPTS;
  
    checkbusy();

	y&=0x07;
	y|=0xB8;
	lcd_wrct(y);

    x&=0x3F;
	x|=0x40;
	lcd_wrct(x);

	ENABLE_INTERRUPTS;
}

//write data to lcd
void lcd_wrda(unsigned char x,unsigned char y,unsigned char dd)
  {
    
   	DISABLE_INTERRUPTS;
	set_xy(x,y);
    checkbusy();
    if(x<64)
         {
			addr=0x9805;
			tp=0x9805;
		 }
    else
         {
			addr=0x9809;
			tp=0x9809;
		 }


	*tp=dd;

//	SelectLCD();
//	addr&=0x1fff;

//	_nop_();_nop_();
//	_nop_();_nop_();

//	UnSelectLCD();
//	addr|=0x8000;

	ENABLE_INTERRUPTS;
  }

//read data from lcd
unsigned char lcd_rdda(unsigned char x,unsigned char y)
{  
unsigned char xdata readdata;

    set_xy(x,y);
    checkbusy();
    if(x<64)
         {//SelectLeft();
			addr=0x9807;

			tp=addr;
			addr=0x1805;
		 }
    else
         {//SelectRight();
			addr=0x980b;

			tp=addr;
			addr=0x1809;
		 }
	readdata=*tp;
    checkbusy();
    if(x<64)
         {//SelectLeft();
			addr=0x9807;

			tp=addr;
			addr=0x1805;
		 }
    else
         {//SelectRight();
			addr=0x980b;

			tp=addr;
			addr=0x1809;
		 }
	readdata=*tp;
	return readdata;
}

//顯示開機(jī)畫面
void dis_start(void)
  {
      unsigned char x,y;
      for(y=0;y<8;y++)
        {
           for(x=0;x<128;x++)
              {
                 _nop_();_nop_();
                 lcd_wrda(x,y,0xAA); _nop_();_nop_();
                 lcd_wrda(x+1,y,0x55);_nop_();_nop_();
                 x+=1;
              }
        }
  }


// draw dot in lcd (x,y)
void  LCD_Draw_dot(BYTE x,BYTE y,bool flag)
{
	R_BYTE temp,bit_x;

	bit_x=7-y%8;

	y=7-y/8;
	
	temp=lcd_rdda(x,y);
	if (flag)
		temp|=(1<<bit_x);
	else
		temp&=~(1<<bit_x);

	lcd_wrda(x,y,temp);
}


//draw line in lcd (x1,x2)--(x2,y2)
bool  LCD_Draw_line(BYTE x1,y1,x2,y2,bool flag)
{
	R_BYTE i,temp;
	float data k,b;
	
	if ((x1>=MAX_BIT_X)||(x2>=MAX_BIT_X)||(y1>=MAX_BIT_Y)||(y2>=MAX_BIT_Y))
		return false;

	if (y1==y2)			
	{
		if (x1>x2)
		{
			temp=x1;
			x1=x2;
			x2=temp;
		}
		
		for (i=x1;i<x2+1; i++)
			LCD_Draw_dot(i,y1,flag);
	}

	else if (x1==x2)			
	{
		if (y1>y2)
		{
			temp=y1;
			y1=y2;
			y2=temp;
		}
	
		for (i=y1;i<y2+1; i++)
				LCD_Draw_dot(x1,i,flag);
		
	}
	else
	{
		if (abs(x2-x1)>=abs(y2-y1))
		{
			k=1.0*(y2-y1)/(x2-x1);
			b=y1-k*x1;
			if (x1>x2)
			{
				temp=x1;
				x1=x2;
				x2=temp;
			}

			for (i=x1;i<x2+1; i++)
			{
				temp=k*i+b;
				LCD_Draw_dot(i,temp,flag);
			}	
		}
		else
		{
			k=1.0*(x2-x1)/(y2-y1);
			b=x1-k*y1;

			if (y1>y2)
			{
				temp=y1;
				y1=y2;
				y2=temp;
			}

			for (i=y1;i<y2+1; i++)
			{
				temp=k*i+b;
				LCD_Draw_dot(temp,i,flag);
			}	

		}
	}
}


void  LCD_Draw_circle(BYTE x,BYTE y,BYTE r,bool flag)
{
	R_BYTE r_2,i,x1,y1,temp_x;
	R_WORD temp;

	r_2=0.707*r;
	temp=r*r;


	for (i=0; i<=r_2; i++)
	{
		if (flag)
		{
			if (!(i&0x01))
			{	

				x1=i;
				y1=sqrt(1.0*(temp-x1*x1))+0.5;
				LCD_Draw_dot(x1+x,y1+y,flag);
				LCD_Draw_dot(-x1+x,y1+y,flag);
				LCD_Draw_dot(x1+x,-y1+y,flag);
				LCD_Draw_dot(-x1+x,-y1+y,flag);
		
				temp_x=x1;
				x1=y1;
				y1=temp_x;
		
				LCD_Draw_dot(x1+x,y1+y,flag);
				LCD_Draw_dot(-x1+x,y1+y,flag);
				LCD_Draw_dot(x1+x,-y1+y,flag);
				LCD_Draw_dot(-x1+x,-y1+y,flag);
			}
		}
		else
		{
				x1=i;
				y1=sqrt(1.0*(temp-x1*x1))+0.5;
				LCD_Draw_dot(x1+x,y1+y,flag);
				LCD_Draw_dot(-x1+x,y1+y,flag);
				LCD_Draw_dot(x1+x,-y1+y,flag);
				LCD_Draw_dot(-x1+x,-y1+y,flag);
		
				temp_x=x1;
				x1=y1;
				y1=temp_x;
		
				LCD_Draw_dot(x1+x,y1+y,flag);
				LCD_Draw_dot(-x1+x,y1+y,flag);
				LCD_Draw_dot(x1+x,-y1+y,flag);
				LCD_Draw_dot(-x1+x,-y1+y,flag);
		}

	}
}


void  LCD_Draw_Rectangle(BYTE  x1,y1,x2,y2, bool flag)
{
	LCD_Draw_line(x1,y1,x2,y1,flag);
	LCD_Draw_line(x1,y1,x1,y2,flag);

	LCD_Draw_line(x2,y1,x2,y2,flag);
	LCD_Draw_line(x1,y2,x2,y2,flag);
}


void  LCD_Draw_FillRectangle(BYTE  x1,y1,x2,y2, bool flag)
{
	R_BYTE  i;
	for (i=x1; i<=x2; i++)
		LCD_Draw_line(i,y1,i,y2,flag);
}



void  LCD_Draw_byte(BYTE x,y, BYTE value)
{
	R_BYTE temp,bit_x;

	bit_x=y%8;
	y=y/8;

	if (bit_x==0)
		lcd_wrda(x,y,value);
	else
	{	
		temp=lcd_rdda(x,y);	
		
		temp&=(0xff>>(8-bit_x));
		temp|=(value<<bit_x);
		lcd_wrda(x,y,temp);
	
		temp=lcd_rdda(x,y+1);
		temp&=(0xff<<bit_x);
		temp|=(value>>(8-bit_x));
		lcd_wrda(x,y+1,temp);		
	}
}


void LCD_Disp_Word(BYTE x,y,BYTE code *p,BYTE line,length)
{
	R_BYTE i,j;

	y+=(4<<line);	
	if (y>64)
		y=64;
	y=64-y;
		
	for (i=0; i<line; i++)
	for (j=0; j<length; j++)
		LCD_Draw_byte(x+j,y+i*8, *p++);
	
}

void LCD_Disp_Word_F(BYTE x,y,BYTE code *p,BYTE line,length)
{
	R_BYTE i,j;

	y+=(4<<line);	
	if (y>64)
		y=64;
	y=64-y;
		
	for (i=0; i<line; i++)
	for (j=0; j<length; j++)
		LCD_Draw_byte(x+j,y+i*8, ~(*p++));
	
}

void LCD_Disp_Time(BYTE x,y,BYTE code *p,BYTE line,length)
{
	R_BYTE i,j;

	y+=(4<<line);	
	if (y>64)
		y=64;
	y=64-y;
		
	for (i=0; i<line; i++)
	for (j=0; j<length; j++)
		LCD_Draw_byte(x+j,y+i*8, *p++);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕五月欧美| 欧美专区日韩专区| 亚洲福利一二三区| 中文字幕精品一区| 色综合咪咪久久| 亚洲国产美女搞黄色| 国内精品国产成人国产三级粉色 | 日韩三级伦理片妻子的秘密按摩| 国产日韩欧美精品一区| 亚洲欧美国产77777| 国产精品伦一区| 综合精品久久久| 极品少妇一区二区三区精品视频| 免费人成精品欧美精品| 久久成人精品无人区| 久久国产精品区| 国产真实乱偷精品视频免| 国产乱码精品一区二区三区五月婷| 亚洲欧美电影一区二区| 91精品福利在线一区二区三区| 欧美亚洲国产一区二区三区| 成人av资源在线观看| 国产v综合v亚洲欧| 国产成人综合亚洲91猫咪| 午夜日韩在线观看| 丝袜诱惑亚洲看片 | 99精品久久免费看蜜臀剧情介绍| 亚洲一区二区五区| 亚洲无人区一区| 一区二区三区四区蜜桃| 亚洲男人的天堂在线观看| 亚洲乱码精品一二三四区日韩在线 | 国产一区二区三区久久久| 亚洲va韩国va欧美va| 丝袜美腿亚洲一区二区图片| 男人的j进女人的j一区| 日本不卡123| 国产呦精品一区二区三区网站| 国产999精品久久久久久绿帽| 亚洲成人一区二区| 国产亚洲一二三区| 欧美日韩精品一区视频| 欧美日韩高清影院| 26uuu成人网一区二区三区| 免费在线视频一区| 欧美精品一区二区久久久| 亚洲午夜免费电影| 日本视频中文字幕一区二区三区| 国内成人免费视频| 欧洲视频一区二区| 欧美精品一区二区久久婷婷| 亚洲免费资源在线播放| 久久99精品国产91久久来源| 91网址在线看| 精品久久久久久久久久久久包黑料| 久久嫩草精品久久久精品一| 亚洲国产高清不卡| 五月激情综合网| 95精品视频在线| 日韩免费观看2025年上映的电影 | 奇米影视7777精品一区二区| 福利一区二区在线| 91免费观看视频| 精品久久人人做人人爽| 亚洲欧美日韩在线播放| 国内久久精品视频| 欧美日韩国产中文| 亚洲综合区在线| 国产高清亚洲一区| 久久久蜜桃精品| 午夜久久久久久| 91豆麻精品91久久久久久| 国产女主播一区| 岛国av在线一区| 精品国产乱码久久久久久1区2区 | 亚洲国产精品久久久男人的天堂| 中文字幕字幕中文在线中不卡视频| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲美女淫视频| 日韩电影在线观看电影| 色悠悠亚洲一区二区| 久久精品亚洲麻豆av一区二区 | 亚洲人成人一区二区在线观看 | 欧美一级黄色大片| 依依成人综合视频| 成人精品鲁一区一区二区| 欧美成人a在线| 日本视频一区二区三区| 欧美久久婷婷综合色| 亚洲天堂网中文字| 国产精品自拍在线| 日韩欧美二区三区| 美脚の诱脚舐め脚责91| 91精品国产综合久久福利软件| 亚洲不卡一区二区三区| 欧美影院一区二区三区| 亚洲色图制服诱惑| 99久久婷婷国产综合精品电影| 久久久噜噜噜久噜久久综合| 国产一区二区三区最好精华液| 91精品一区二区三区在线观看| 亚洲成av人片在www色猫咪| 欧美日韩日本视频| 亚洲一区二区视频| 欧美艳星brazzers| 日韩专区欧美专区| 欧美日韩国产综合草草| 午夜av电影一区| 欧美丰满一区二区免费视频| 日本在线不卡视频一二三区| 日韩欧美一二三| 久久激情五月婷婷| 久久久不卡影院| 高清不卡在线观看av| 国产精品国产精品国产专区不蜜| 91美女在线视频| 亚洲国产一区二区视频| 欧美群妇大交群的观看方式| 亚洲成人免费影院| 日韩一区二区三区四区| 国产在线不卡视频| 国产精品美女久久久久aⅴ | 久久免费国产精品| 国产精品一二三四| 国产精品国产三级国产普通话99| 在线中文字幕一区二区| 性欧美疯狂xxxxbbbb| 欧美成人国产一区二区| 国产成人精品亚洲日本在线桃色| 国产精品二区一区二区aⅴ污介绍| 99r国产精品| 亚洲成va人在线观看| 日韩精品一区国产麻豆| 国产丶欧美丶日本不卡视频| 亚洲日韩欧美一区二区在线| 欧美精品 国产精品| 国产最新精品免费| 亚洲精品视频在线观看网站| 欧美日韩视频在线第一区| 久久电影国产免费久久电影| 欧美极品xxx| 欧美视频一二三区| 韩国在线一区二区| 亚洲视频免费在线观看| 欧美高清激情brazzers| 国产一区美女在线| 一区二区在线观看视频| 欧美sm极限捆绑bd| 欧美伊人精品成人久久综合97| 久久不见久久见免费视频1| 欧美—级在线免费片| 欧美日本一区二区三区四区| 国产精品中文有码| 亚洲国产精品一区二区尤物区| 欧美精品一区二区三区视频| 91女厕偷拍女厕偷拍高清| 久久www免费人成看片高清| 亚洲精品视频在线看| 精品免费一区二区三区| 色婷婷久久久久swag精品| 国产在线国偷精品产拍免费yy| 亚洲国产精品影院| 欧美韩国日本不卡| 在线播放视频一区| 91丨九色丨尤物| 国产麻豆精品在线| 日日噜噜夜夜狠狠视频欧美人 | 亚洲国产精品99久久久久久久久 | 欧美大尺度电影在线| 色噜噜狠狠一区二区三区果冻| 激情国产一区二区| 亚洲国产综合人成综合网站| 国产精品污网站| 日韩精品专区在线| 欧美精品一卡二卡| 91国产成人在线| 成人动漫一区二区在线| 国产一区二区伦理片| 天堂成人免费av电影一区| 亚洲人成在线观看一区二区| 久久久久久久网| 欧美一区二区三区啪啪| 欧美优质美女网站| www.爱久久.com| 国产麻豆视频精品| 久久精品久久99精品久久| 天使萌一区二区三区免费观看| 一区二区三区视频在线观看| 一区在线观看免费| 国产欧美视频在线观看| 精品国产精品网麻豆系列| 欧美乱熟臀69xxxxxx| 一本到不卡精品视频在线观看| 成人精品在线视频观看| 国产精品一二三在| 国产黄人亚洲片| 国产精品一区二区黑丝| 国产成人综合网站| 国产高清不卡一区| 国产精品一二三四五|