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

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

?? t6963c.c

?? 用51單片機設計的好幾款小游戲的經典程序源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
//************************************************************************
void image_addr_Pointer_Set(uchar x, uchar y)
{ 
    uint iPos;
	uint temp;
    iPos =y * 16 + x + grshome;
	temp=iPos;
	x=iPos>>8;
	y=temp&0x00ff;
    WRCommandTwo(y,x,0x24);
}

//**************************************************************************
//= 函數原型: void Point(uchar x,uchar y, bit Mode)
//= 功    能: 在指定坐標位置顯示一個點
//= 參    數: 坐標,顯示點或清除點				
//= 返 回 值:
//= 函數性質:私有函數
//= Mode 1:顯示 0:清除該點
//**************************************************************************
void Point(uchar x,uchar y, bit Mode)
{
    uint Address;
	uint temp;
    uchar dat;
    Address=(uint)y*16 + (x>>3) + grshome;	  //地址轉化
    dat=0xF0+7-x%8;        //產生位操作命令畫點的數據
    if(Mode) dat=dat|0x08;
	temp=Address;
	x=Address>>8;
	y=temp&0x00ff;
	WRCommandTwo(y,x,0x24);  //設置該點所在單元地址
    WRCommand(dat);         // 利用位操作命令畫點
}

//*****************************************************************************
//= 函數原型: void char_wr(uchar x,uchar y, uchar *p,uchar dataa,uchar n)
//= 功    能: 連續寫入一個或多個字符
//= 參    數: 坐標,要顯示的字符數組,顯示的單個字符,要顯示的字符個數				
//= 返 回 值:
//= 函數性質:私有函數
//當n=0一次性寫入一個字符,否則一次性寫入多個字符
//*****************************************************************************

void char_wr(uchar x,uchar y, uchar *p,uchar dataa,uchar n)
{
    uchar i;
  	char_addr_Pointer_Set(x,y);	//寫入地址
	if(n==0)
	  WRCommandOne(dataa,0xc0);	  //一次寫入數據
  	else
	  {
	    WRCommand(0xb0);//進入自動寫
  		for(i=0;i<n;i++)
		  WRData(p[i]);	 
		  WRCommand(0xb2);   //退出自動寫
	  }
}


//******************************************************************************
//= 函數原型: void hanzhi(uchar x,uchar y, uchar m,uchar n)
//= 功    能: 連續寫入一個或多個漢字
//= 參    數: 坐標,要顯示的第一個漢字的位置,連續顯示漢字的個數。				
//= 返 回 值:
//= 函數性質:私有函數
//當n=1一次性寫入一個字符,否則一次性寫入多個字符
//*****************************************************************************

void hanzhi(uchar x,uchar y, uchar m,uchar n)
{
    uchar i;
    uchar CGRam;
	CGRam=0x80+4*m;	 //第m個字符
	for(i=0;i<n;i++)
	{
	  char_addr_Pointer_Set(x,y); //漢字左上角寫入
	  WRCommandOne(CGRam,0xc0);	  //一次寫入數據;
	  CGRam++;
	  y++;
	  char_addr_Pointer_Set(x,y); //漢字左下角寫入
	  WRCommandOne(CGRam,0xc0);
	  CGRam++;
	  x++;
	  y--;
	  char_addr_Pointer_Set(x,y); //漢字右上角寫入
	  WRCommandOne(CGRam,0xc0);
	  CGRam++;
	  y++;
	  char_addr_Pointer_Set(x,y); //漢字右下角寫入
	  WRCommandOne(CGRam,0xc0);
	  CGRam++;
	  x++;
	  y--;
	  if(x==16)
	  {
	    x=0;		//寫滿一行,從第二行開始
		y++;
		y++;
	  }
	}
}

//******************************************************************************
//= 函數原型: void fill_CGRAM(uchar *p,uchar m,uinit n)
//= 功    能: 填充CGRAM數據
//= 參    數: 字符數組,寫入第m個漢字,循環寫入的漢字個數
//= 返 回 值:
//= 函數性質:私有函數
//*//**************************************************************************

void fill_CGRAM(uchar *p,uchar m,uint n)
{
  uchar xx;
  uchar yy;
  uint i;
  uint ADCGram;
  uint temp;
  ADCGram=0x1c00+32*m;	//確定CGRAM地址
  temp=ADCGram;
  xx=ADCGram>>8;
  yy=temp&0x00ff;
  WRCommandTwo(yy,xx,0x24);

  n=n*32;
  WRCommand(0xb0);
  for(i=0;i<n;i++)
	WRData(p[i]);
  WRCommand(0xb2);   //退出自動寫
}

//*******************************************************************************
//= 函數原型: void Wr_line(uchar type,uchar x1,uchar y1, uchar Long,uchar mode)
//= 功    能: 畫一條橫線或一條豎線
//= 參    數: type=1為橫線,否則為豎線,(x1,y1)為起始點,Long為長度,mode=1為顯示				
//= 返 回 值:
//= 函數性質:公有函數
//*******************************************************************************  

void Wr_line(uchar type,uchar x1,uchar y1, uchar Long,uchar mode){
 uchar i;
if(type==1)
 {
   for(i=0;i<Long;i++)	 //畫橫線
	{ 
	   if(mode==1)
		  Point(x1+i,y1,1);
	   else  
		  Point(x1+i,y1,0);
	 }
	 return;
  }
  
else
 {
    for(i=0;i<Long;i++)		//畫豎線
	{ 
	   if(mode==1)
		  Point(x1,y1+i,1);
	   else  
		  Point(x1,y1+i,0);
	}
	 return; 
  }
}

//*****************************************************************************
//= 函數原型: void Show_Image(uchar x1,uchar y1,uchar x2,uchar y2,bit mode)
//= 功    能: 填充區域(x1,y1) (x2,y2)
//= 參    數: (x1,y1)為起始點,(x2,y2)為終點  mode=1顯示				
//= 返 回 值:
//= 函數性質:私有函數
//= 注    意:以點為單位
//*****************************************************************************  	 

void Show_Image(uchar x1,uchar y1,uchar x2,uchar y2,bit mode)
{
  char temp=x1;
  if(mode)   
   {
	 for(;y1<=y2;y1++)
	   for(x1=temp;x1<=x2;x1++)
	     Point(x1,y1,1);
   }
   else
   {
	 for(;y1<=y2;y1++)
	   for(x1=temp;x1<=x2;x1++)
	     Point(x1,y1,0);
   }
}

//**********************************************************************************
//= 函數原型: void image(uchar x1,uchar y1,uchar x2,uchar y2,uchar *p,bit mode)
//= 功    能: 在設定的區域連續寫入多個字節,作圖形顯示用
//= 參    數: (x1,y1)為起始點,(x2,y2)為終點  *po為圖形數組,mode=1顯示 mode=0清除			
//= 返 回 值:
//= 函數性質:私有函數
//= 操作方法:當p=0,mode=1時,連續輸入0xff,作反顯用,當p=0,mode=0時,連續輸入0x00,作 
//=            消除反顯用,當p!=0時,作輸入圖像用,此時mode無效
//= 注    意:參數的數據范圍
//**********************************************************************************  
void image(uchar x1,uchar y1,uchar x2,uchar y2,uchar *p,bit mode)
{
   uchar temp=x1;
   uint i=0;
   for(;y1<=y2;y1++)
   {
    x1=temp;	 
    image_addr_Pointer_Set(x1,y1);	//寫入地址
	WRCommand(0xb0); //進入自動寫
	for(;x1<=x2;x1++)
	{
	  if(p==0&&mode==1)
	  {
	     WRData(0xff);
	  }
	  else if(p==0&&mode==0)
	  {
	     WRData(0x00);
	  }
	  else 
	  {
	     WRData(p[i]);
	     i++;		 //下一個字節
	  }
	}
    WRCommand(0xb2);   //退出自動寫 
    }
}

//******************************************************************************
//= 函數原型: void negShow(uchar x1,uchar y1,uchar x2,uchar y2,bit mode)
//= 功    能: 反顯區域(x1,y1) (x2,y2)
//= 參    數: (x1,y1)為起始點,(x2,y2)為終點  mode=1反顯				
//= 返 回 值:
//= 函數性質:私有函數
//= 注    意:以字節為單位
//******************************************************************************  	 
void negShow(uchar x1,uchar y1,uchar x2,uchar y2,bit mode)
{
   if(mode)
   {
     WRCommand(0x81);	 	//啟用內部字符發生器,顯示方式是文本與圖形邏輯異或
  	 image(x1,y1,x2,y2,0,1);

	}
   else
    {
	  WRCommand(0x80);	 	//啟用內部字符發生器,顯示方式是文本與圖形邏輯或
	  image(x1,y1,x2,y2,0,0);
	 }
}

//******************************************************************************
//= 函數原型: void Show_num(uchar x1,uchar y1,uchar num)
//= 功    能: 在設定的位置顯示一個數字
//= 參    數: (x1,y1)為位置,num為數字			
//= 返 回 值:
//= 函數性質:公有函數
//= 注    意:以字節為單位
//*****************************************************************************  
void Show_num(uchar x1,uchar y1,uchar num)
{
   uchar number[10]={0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19};
   char_addr_Pointer_Set(x1,y1);
   WRCommandOne(number[num],0xc0);	  //一次寫入數據
}

///////////////////////////初始化LCD////////////////////////////////////////////
void Init_LCD()
{
   Init_LCD_Graphic();
   ClrGraphic();
   fill_CGRAM(CCTable,0,22);	 //將漢字寫入CGRAM
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
9i看片成人免费高清| 亚洲免费av在线| 欧美福利视频一区| 欧美午夜不卡在线观看免费| 99在线热播精品免费| 91美女福利视频| 成人av免费观看| 色一区在线观看| 欧美中文字幕不卡| 欧美高清一级片在线| 91精品欧美一区二区三区综合在| 色视频欧美一区二区三区| 欧美色网站导航| 91精品国产麻豆国产自产在线 | 亚洲综合激情另类小说区| 亚洲一区二区偷拍精品| 青青草国产精品97视觉盛宴| 国产自产视频一区二区三区| av一区二区三区四区| 欧美私人免费视频| 日韩精品最新网址| 亚洲视频 欧洲视频| 日韩精品电影在线| 国产精品综合久久| 91精品福利在线| 日韩欧美激情四射| 国产精品国产三级国产aⅴ入口 | 国产精品一区二区在线看| 91免费视频网| 日韩一区二区精品| 亚洲日本乱码在线观看| 蜜臀va亚洲va欧美va天堂| 国产999精品久久久久久| 欧美日韩中文字幕一区二区| 久久伊人中文字幕| 亚洲午夜视频在线观看| 极品尤物av久久免费看| 色欧美88888久久久久久影院| 91精品在线观看入口| 亚洲色欲色欲www| 激情成人午夜视频| 欧美亚一区二区| 欧美激情一区二区三区四区| 日本中文字幕一区二区有限公司| 国产不卡免费视频| 欧美一区二区三区婷婷月色| 日本一区二区视频在线| 蜜桃视频免费观看一区| 欧美在线三级电影| 亚洲色图欧洲色图| 国产乱一区二区| 日韩午夜小视频| 五月开心婷婷久久| 日本精品一级二级| 国产精品久久久久久久久免费相片| 日韩精品高清不卡| 欧美在线观看你懂的| 中文无字幕一区二区三区| 久久国产三级精品| 在线播放中文字幕一区| 亚洲国产中文字幕在线视频综合 | 欧美日韩另类国产亚洲欧美一级| 中文字幕免费不卡| 国产精品1区二区.| 久久精品综合网| 国产乱码精品一区二区三区五月婷| 欧美一区二区在线免费播放| 亚洲3atv精品一区二区三区| 色激情天天射综合网| 一区在线播放视频| 97久久精品人人澡人人爽| 国产精品久久久久久久久果冻传媒| 国产伦精品一区二区三区免费迷| 日韩视频免费观看高清完整版在线观看| 亚洲国产中文字幕在线视频综合| 91视视频在线观看入口直接观看www| 中文字幕中文乱码欧美一区二区| 国产91精品免费| 国产精品久久久久9999吃药| 国产a视频精品免费观看| 国产精品全国免费观看高清| 成人av在线一区二区三区| 中文字幕日本不卡| 欧美三级电影精品| 日本欧美加勒比视频| www久久精品| 丁香婷婷综合网| 亚洲乱码中文字幕综合| 欧美亚洲禁片免费| 美脚の诱脚舐め脚责91| 国产亚洲欧美日韩日本| 91亚洲永久精品| 爽好久久久欧美精品| 亚洲精品在线免费观看视频| 岛国一区二区在线观看| 久久精品视频免费观看| www.欧美色图| 日日嗨av一区二区三区四区| 精品噜噜噜噜久久久久久久久试看| 国产主播一区二区三区| 中文字幕一区二区在线观看 | 欧美一区二区大片| 国内久久精品视频| 亚洲女与黑人做爰| 日韩一级片在线播放| 成人毛片在线观看| 午夜亚洲福利老司机| 久久久国产精华| 在线观看网站黄不卡| 精品一区二区三区在线观看国产 | 激情综合色播五月| 国产精品久久久久久久蜜臀| 制服丝袜亚洲色图| 波波电影院一区二区三区| 日韩av不卡在线观看| 国产精品国产馆在线真实露脸| 欧美精品乱码久久久久久| 成人动漫在线一区| 日韩av午夜在线观看| 亚洲女女做受ⅹxx高潮| 久久久综合网站| 欧美精品xxxxbbbb| 色久优优欧美色久优优| 成人一区二区在线观看| 麻豆久久久久久久| 亚洲一区自拍偷拍| 国产精品久久一级| 久久午夜电影网| 91麻豆精品国产自产在线观看一区| 972aa.com艺术欧美| 国产精品白丝jk黑袜喷水| 视频一区免费在线观看| 1000部国产精品成人观看| 久久久久久一二三区| 日韩一区二区三区电影| 制服丝袜中文字幕一区| 欧美日韩1区2区| 色哟哟欧美精品| 色综合天天性综合| 成人aaaa免费全部观看| 成人毛片老司机大片| 成人蜜臀av电影| 高清久久久久久| 成人va在线观看| jlzzjlzz亚洲日本少妇| 成人动漫在线一区| 99这里都是精品| 97久久超碰精品国产| 不卡的av网站| 日本道色综合久久| 一本到不卡免费一区二区| 色婷婷久久综合| 日本韩国一区二区三区| 欧美在线一区二区三区| 欧美性xxxxxxxx| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品免费视频观看| 国产香蕉久久精品综合网| 国产午夜一区二区三区| 国产精品区一区二区三区| 中文字幕一区二区三区av| 亚洲欧美另类小说视频| 一区二区三区四区在线播放| 亚洲电影视频在线| 日本伊人色综合网| 精品一区二区久久| 丰满放荡岳乱妇91ww| 91片黄在线观看| 在线成人午夜影院| 欧美成人高清电影在线| 国产蜜臀av在线一区二区三区| 成人欧美一区二区三区小说| 亚洲精品国产第一综合99久久| 亚洲一区自拍偷拍| 久久丁香综合五月国产三级网站| 国产一区亚洲一区| 色综合中文综合网| 成人激情图片网| 欧美日韩另类一区| 久久精品夜色噜噜亚洲a∨| 一区视频在线播放| 日av在线不卡| 99久久久久久| 91精品国产91久久久久久一区二区| 精品对白一区国产伦| 亚洲色图都市小说| 蜜臀av性久久久久av蜜臀妖精| 国产成人av电影免费在线观看| 色先锋久久av资源部| 欧美成人性福生活免费看| 中文字幕一区二区在线播放| 天天亚洲美女在线视频| 高清在线观看日韩| 宅男在线国产精品| 一区二区中文视频| 精品一区二区国语对白| 91麻豆高清视频| 国产三级欧美三级日产三级99| 亚洲一线二线三线视频| 国产成人综合视频|