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

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

?? lcd.c

?? 本文件為單片機(jī)的延時(shí)子程序
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):

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;

	ENABLE_INTERRUPTS;
  }

/***********************************************************************************
* 函數(shù)名稱:lcd_rdda;
*
* 函數(shù)功能描述:從LCD中讀數(shù)據(jù);
*              
* 輸入?yún)?shù):unsigned char類型坐標(biāo)x,y, 
*
* 返回?cái)?shù)據(jù):unsigned char類型讀出數(shù)據(jù);
*
* 注意:    none;
************************************************************************************/

unsigned char lcd_rdda(unsigned char x,unsigned char y)
{  
	unsigned char xdata readdata;

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

			tp=addr;
			addr=0x1805;
		 }
    else
         {
			addr=0x980b;

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

			tp=addr;
			addr=0x1805;
		 }
    else
         {
			addr=0x980b;

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

/***********************************************************************************
* 函數(shù)名稱:dis_start;
*
* 函數(shù)功能描述:顯示開機(jī)畫面;
*              
* 輸入?yún)?shù):none;
*
* 返回?cái)?shù)據(jù):none;
*
* 注意:    none;
************************************************************************************/

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;
              }
        }
}

/***********************************************************************************
* 函數(shù)名稱:LCD_Draw_dot;
*
* 函數(shù)功能描述:畫點(diǎn)(x,y);
*              
* 輸入?yún)?shù):BYTE類型坐標(biāo)x,y; bool類型標(biāo)識(shí)flag;
*
* 返回?cái)?shù)據(jù):none;
*
* 注意:    none;
************************************************************************************/

void  LCD_Draw_dot(unsigned char x,unsigned char 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);
}

/***********************************************************************************
* 函數(shù)名稱:LCD_Draw_line;
*
* 函數(shù)功能描述:(x1,y1)--(x2,y2)處劃線;
*              
* 輸入?yún)?shù):BYTE類型坐標(biāo)x1,y1,x2,y2; bool類型標(biāo)識(shí)flag;
*
* 返回?cái)?shù)據(jù):none;
*
* 注意:    none;
************************************************************************************/

bool  LCD_Draw_line(unsigned char 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);
			}	
		}
	}
}

/***********************************************************************************
* 函數(shù)名稱:LCD_Draw_circle;
*
* 函數(shù)功能描述:以(x,y)為圓心,r為半徑畫圓;
*              
* 輸入?yún)?shù):unsigned char類型坐標(biāo)x,y, bool類型標(biāo)識(shí)flag;
*
* 返回?cái)?shù)據(jù):none;
*
* 注意:    none;
************************************************************************************/

void  LCD_Draw_circle(unsigned char x,unsigned char y,unsigned char 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);
		}

	}
}

/***********************************************************************************
* 函數(shù)名稱:LCD_Draw_Rectangle;
*
* 函數(shù)功能描述:以(x1,y1)和(x2,y2)為對角點(diǎn)畫矩形;
*              
* 輸入?yún)?shù):BYTE類型坐標(biāo)x1,y1,x2,y2; bool類型標(biāo)識(shí)flag;
*
* 返回?cái)?shù)據(jù):none;
*
* 注意:    none;
************************************************************************************/

void  LCD_Draw_Rectangle(unsigned char 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);
}


/***********************************************************************************
* 函數(shù)名稱:LCD_Draw_FillRectangle;
*
* 函數(shù)功能描述:以(x1,y1)和(x2,y2)為對角點(diǎn)畫矩形實(shí)體;
*              
* 輸入?yún)?shù):BYTE類型坐標(biāo)x1,y1,x2,y2; bool類型標(biāo)識(shí)flag;
*
* 返回?cái)?shù)據(jù):none;
*
* 注意:    none;
************************************************************************************/

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

/***********************************************************************************
* 函數(shù)名稱:LCD_Draw_byte;
*
* 函數(shù)功能描述:向LCD寫一個(gè)字節(jié)數(shù)據(jù);
*              
* 輸入?yún)?shù):BYTE類型坐標(biāo)x,y;BYTE類型字節(jié)數(shù)據(jù)value;
*
* 返回?cái)?shù)據(jù):none;
*
* 注意:    none;
************************************************************************************/

void  LCD_Draw_byte(unsigned char x,y, unsigned char 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);		
	}
}

/***********************************************************************************
* 函數(shù)名稱:LCD_Disp_Word;
*
* 函數(shù)功能描述:向LCD寫一組數(shù)據(jù),顯示黑字符;
*              
* 輸入?yún)?shù):BYTE類型寫入起始坐標(biāo)x,y; BYTE類型寫入數(shù)據(jù)code區(qū)指針p;
*	    BYTE類型占用空間line*8行,length列
*
* 返回?cái)?shù)據(jù):none;
*
* 注意:    none;
************************************************************************************/

void LCD_Disp_Word(unsigned char x,y,unsigned char code *p,unsigned char 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++);
	
}

/***********************************************************************************
* 函數(shù)名稱: LCD_Disp_Word_F;
*
* 函數(shù)功能描述:向LCD寫一組數(shù)據(jù),顯示白字符;
*              
* 輸入?yún)?shù):BYTE類型寫入起始坐標(biāo)x,y; BYTE類型寫入數(shù)據(jù)code區(qū)指針p;
*	    BYTE類型占用空間line*8行,length列
*
* 返回?cái)?shù)據(jù):none;
*
* 注意:    none;
************************************************************************************/

void LCD_Disp_Word_F(unsigned char x,y,unsigned char code *p,unsigned char 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++));
	
}

/***********************************************************************************
* 函數(shù)名稱: LCD_Disp_Time;
*
* 函數(shù)功能描述:向LCD寫一組數(shù)據(jù),顯示時(shí)間;
*              
* 輸入?yún)?shù):BYTE類型寫入起始坐標(biāo)x,y; BYTE類型寫入數(shù)據(jù)code區(qū)指針p;
*	    BYTE類型占用空間line*8行,length列
*
* 返回?cái)?shù)據(jù):none;
*
* 注意:    none;
************************************************************************************/

void LCD_Disp_Time(unsigned char x,y,unsigned char code *p,unsigned char 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++);
}

/***********************************************************************************/
// 文件結(jié)束
/***********************************************************************************/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品影院在线观看| 色欧美乱欧美15图片| 精品一区二区三区蜜桃| 亚洲国产精品久久久男人的天堂 | 国产精品久久久久久亚洲伦| 26uuu色噜噜精品一区| 欧美xxxxxxxx| 精品久久国产老人久久综合| 日韩欧美亚洲国产另类| 精品国精品自拍自在线| 精品日韩成人av| 国产午夜精品一区二区三区四区| 久久久久久久久久久黄色| 久久日韩精品一区二区五区| 久久久五月婷婷| 欧美国产视频在线| 亚洲欧美另类久久久精品| 一区二区三区在线播| 亚洲一区二区三区四区在线免费观看| 亚洲黄色小视频| 亚洲成人一区在线| 久久精品国产免费看久久精品| 九九在线精品视频| 成人涩涩免费视频| 91麻豆免费看片| 欧美日本一区二区| 日韩欧美一区在线观看| 久久久www成人免费毛片麻豆| 国产精品美女久久久久久久久| 亚洲男人天堂av网| 天堂在线亚洲视频| 狠狠狠色丁香婷婷综合激情| 国产成人午夜电影网| 一本一道综合狠狠老| 欧美日韩亚洲另类| 精品国产不卡一区二区三区| 一区视频在线播放| 婷婷综合另类小说色区| 国内精品写真在线观看| 91在线国产福利| 日韩一区二区三区视频在线| 国产农村妇女精品| 亚洲影院理伦片| 激情久久五月天| 色偷偷久久人人79超碰人人澡| 欧美伦理电影网| 中文字幕第一页久久| 亚洲一区欧美一区| 韩国女主播成人在线| 91免费视频大全| 欧美mv和日韩mv国产网站| 亚洲视频免费在线观看| 日韩av中文在线观看| 不卡一区在线观看| 日韩一区二区麻豆国产| 亚洲天堂av老司机| 久久精品国产精品青草| 色婷婷av一区| 久久亚洲二区三区| 亚洲成人在线网站| 成人av资源站| 日韩一级免费一区| 一区二区三区精品视频在线| 国产一区二区不卡| 9191精品国产综合久久久久久| 中文字幕久久午夜不卡| 免费观看91视频大全| 99精品欧美一区二区三区小说 | 欧美日韩在线直播| 中文一区二区在线观看| 青椒成人免费视频| 欧美性大战久久| 国产精品美女久久久久av爽李琼| 美女视频黄 久久| 欧美视频你懂的| 一区在线中文字幕| 国产不卡视频在线播放| 日韩无一区二区| 天天综合日日夜夜精品| 色94色欧美sute亚洲线路二| 欧美国产日产图区| 久久97超碰色| 日韩女同互慰一区二区| 亚洲国产aⅴ成人精品无吗| 成人综合激情网| 欧美精品一区二区久久婷婷| 日韩影院精彩在线| 欧美精品一级二级三级| 一区二区三区日韩在线观看| 成人福利视频在线| 国产亚洲欧美一级| 国产在线精品一区二区| 日韩一区二区三区视频在线| 三级一区在线视频先锋| 欧美午夜一区二区| 亚洲欧美国产毛片在线| www.亚洲精品| 国产精品麻豆欧美日韩ww| 国产成人av一区| 久久久久久久国产精品影院| 国产尤物一区二区在线| 2021国产精品久久精品| 久久爱www久久做| 亚洲精品一区二区三区精华液 | 免费看欧美美女黄的网站| 亚洲欧美日韩国产手机在线| 日韩一区二区免费在线观看| 欧美一区二区三区在| 欧美一激情一区二区三区| 亚洲va在线va天堂| 欧美精品久久久久久久多人混战| 亚洲午夜电影在线观看| 欧美蜜桃一区二区三区| 婷婷成人激情在线网| 制服视频三区第一页精品| 日韩精品免费专区| 欧美电影一区二区三区| 裸体一区二区三区| 久久久午夜电影| 国产99久久久精品| 国产精品丝袜91| av亚洲精华国产精华精华| 一区二区三区在线不卡| 欧美久久久久久蜜桃| 奇米精品一区二区三区在线观看| 日韩美女一区二区三区| 国产盗摄精品一区二区三区在线 | 国产拍揄自揄精品视频麻豆| 国产电影一区在线| 亚洲欧美一区二区三区国产精品| 欧美亚洲动漫精品| 美腿丝袜在线亚洲一区| 国产肉丝袜一区二区| 99这里只有久久精品视频| 亚洲一区二区精品3399| 日韩欧美国产三级| 成人国产免费视频| 亚洲国产乱码最新视频| 日韩欧美一二三四区| 成人午夜视频网站| 亚洲一区欧美一区| 久久色视频免费观看| 91色视频在线| 另类小说综合欧美亚洲| 国产丝袜在线精品| 欧美亚洲国产bt| 国产一区二区三区黄视频 | 日韩一区二区电影在线| 日本亚洲视频在线| 国产日本一区二区| 91小视频在线| 亚洲一区精品在线| 5月丁香婷婷综合| 国v精品久久久网| 亚洲一区二区精品视频| 91精品国产综合久久精品麻豆 | 国产91清纯白嫩初高中在线观看| 国产精品电影院| 欧美三级在线看| 国产1区2区3区精品美女| 亚洲美腿欧美偷拍| 91精品免费在线| 丰满亚洲少妇av| 免费一区二区视频| 欧美激情一区二区三区不卡 | 99国内精品久久| 免费观看日韩av| 亚洲一区二三区| 久久色在线观看| 欧美亚洲一区三区| 国产一区 二区 三区一级| 亚洲免费高清视频在线| 欧美tickling网站挠脚心| 成人国产精品免费网站| 亚洲高清免费一级二级三级| 日韩一级片网址| 色综合视频在线观看| 极品少妇xxxx偷拍精品少妇| 最新国产成人在线观看| 欧美大白屁股肥臀xxxxxx| 激情综合色播激情啊| 国产女主播在线一区二区| 欧美精品三级日韩久久| 成人免费观看视频| 免费欧美日韩国产三级电影| 亚洲国产精品精华液2区45| 色av成人天堂桃色av| 亚洲视频资源在线| 一本到三区不卡视频| 经典三级在线一区| 亚洲成a人v欧美综合天堂 | 国产精品伦一区| 精品国内二区三区| 欧美日韩视频专区在线播放| 丁香天五香天堂综合| 视频一区二区不卡| 亚洲日本在线观看| 国产精品色一区二区三区| 色综合中文字幕国产| 国产91精品一区二区|