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

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

?? display.c

?? 一個msp430與320*240加4*4鍵盤的菜單程序... ...!
?? C
?? 第 1 頁 / 共 2 頁
字號:
      char_data=*p++;  	            
      WriteData(char_data);          		   	                	          	         
		           
      row+=1;	      	                			 		       
    }
  }
  else
  {	 		 
    for(j=0;j<16;j++)
    {	 	           
      char_addr_point_set(row,col);  //設置Vram地址
      WriteCommand(0x0042);
      
      char_data=*p++;      
      char_data^=0x00ff;
      WriteData(char_data);    	
      
      row+=1; 			 	
    }
  }		   	     
}   
//***************************************************************************/
void showchar16(unsigned int row,unsigned int col,unsigned int chp,unsigned int attribute)
{//   row:顯示行  col:顯示列   chp:顯示第幾個字. attribute:反色。1:顯示字黑,0顯示字白 
  unsigned int  j,char_data;
  const unsigned int *p;
  p=&HZ16_DOT_LIB[0];
  chp=chp*32;
  p=p+chp;             
  col/=8;  		 		         
//-----------------------------------------	 	        
//          顯示中文
//-----------------------------------------  
  if(attribute)
  {            
	 	    
    for(j=0;j<16;j++)
    {	 			
      char_addr_point_set(row,col);  //設置Vram地址               
                                     //顯示光標右移,設置光標地址
      WriteCommand(0x0042);     // 寫顯示數據	            
      char_data=*p++;  	             //左8位
      WriteData(char_data);          		   	                	         
      char_data=*p++;  		     //右8位       
      WriteData(char_data);
		           
      row+=1; 	      	                			 		      
    }
  }
  else
  {	 		 
    for(j=0;j<16;j++)
    {	 	           
      char_addr_point_set(row,col);  //設置Vram地址
      WriteCommand(0x0042);
      
      char_data=*p++;      
      char_data^=0x00ff;
      WriteData(char_data);    	   	                 	         
      char_data=*p++;  
      char_data^=0x00ff;	
      WriteData(char_data);  	 		        
		             
      row+=1; 			 	
    }
  }		   	     
}   
//***************************************************************************/
void showchar24(unsigned int row,unsigned int col,unsigned int chp,unsigned int attribute)
{//   row:顯示行  col:顯示列   chp:顯示第幾個字. attribute:反色。1:顯示字黑,0顯示字白                            
  unsigned int  j,char_data;   
  const unsigned char *p;
  p=&Cdot24lib[0];
  chp=chp*72;
  p=p+chp;             
  col/=8;  		 		         
//----------------------------------------- 	 	        
//         顯示中文
//-----------------------------------------  
  if(attribute)
  {            
	 	    
    for(j=0;j<24;j++)
    {	 			
	char_addr_point_set(row,col);  //設置Vram地址
	WriteCommand(0x0042);  
	 	            
	char_data=*p++;  	           
	WriteData(char_data);     //左8位     		   	                	         
	char_data=*p++;  		              
	WriteData(char_data);     //中8位           
	char_data=*p++;  		              
	WriteData(char_data);     //右8位
		           
	row+=1;
      	                			 		       
    }
  }
  else
  {	 		 
    for(j=0;j<24;j++)
    {	 	           
	char_addr_point_set(row,col);  //設置Vram地址
	WriteCommand(0x0042);
		           
	char_data=*p++;             
        char_data^=0x00ff;
	WriteData(char_data);    	   	                 	         
	char_data=*p++;  
	char_data^=0x00ff;	
	WriteData(char_data);  	 		        	             
	char_data=*p++;  
	char_data^=0x00ff;	
	WriteData(char_data);  
	    	         
	row+=1;		 	
    }
  }		   	     
} 
//***************************************************************************/
// 畫水平線(Y1=Y2) X=8*i
//***************************************************************************/
void lineH(unsigned int y1,unsigned int x1,unsigned int y2,unsigned int x2)
{
   unsigned int i,ipos,length1,length2;
   ipos=y1*40+x1/8+1200; 
   length1=y2*40+x2/8+1200;
   length2=length1-ipos;
   wr_cmd_0(0x4c); 
   wr_cmd_2(0x46,ipos); 
   wr_cmd_0(0x42);
   for(i=0;i<length2;i++)
   {
      WriteData(0xff); 
   }	
} 
//==================================================
//   畫點
//==================================================
 void  pixel(unsigned int PointY,unsigned int PointX)                //   PointY 行 PointX 列 
{    
	unsigned int i, StartAddr;    
	unsigned int dat,dat2,dat3;  
     
	StartAddr=PointY*40 + PointX/8 +1200;
     
	dat=(unsigned int)(7-PointX%8);        //產生點的數據  
	dat2=0x0001;  
	for(i=0;i<dat;i++) 
	{
	   dat2<<=1;
	} 
 
	wr_cmd_0(0x004c); 
	wr_cmd_2(0x0046,StartAddr);           //讀該點所在單元地址內容
	wr_cmd_0(0x0043);
	dat3=ReadDataLcm();
	dat2|=dat3;	
 	
 	wr_cmd_0(0x004c); 
	wr_cmd_2(0x0046,StartAddr);           //設置該點所在單元地址    
	wr_cmd_1(0x0042,dat2);                // 畫點位數據 	
}
//==================================================
//  畫點--點
//==================================================
void line(unsigned int y1,unsigned int x1,unsigned int y2,unsigned int x2)
{
    unsigned int x,y;    
    float k,b;    
    if(x1==x2)                                // x1=x2,畫垂直線
    {
        if(y1<=y2)
        {
          for(y=y1;y<=y2;y++)
          {
            pixel(y, x1);
          }
        }
        else
        {
          for(y=y2;y<=y1;y++)
          {
            pixel(y, x1);
          }
        }          
    }
    else
    {
	if( fabs(y1-y2) <=  fabs(x1-x2))            // |k|<=1      // y行數 <= x列數
	{        
          k=((float)y2-y1) / ((float)x2-x1) ;        
	  b=y1-k*x1;        
	  if( x1 < x2 )       
          {            
            for(x=x1;x<=x2;x++)            
            {                
              y=(unsigned int)(k*x+b);                
	      pixel(y, x);            
	     }        
	   }        
	   else
           {            
             for(x=x2;x<=x1;x++)            
             {                
               y=(unsigned int)(k*x+b);                
               pixel(y,x);            
             }        
           }    
	}    
	else                                                       // 行數>列數                           
	{        
          k=((float)x2-x1) / ((float)y2-y1) ;        
	  b=x1-k*y1;        
	  if( y1 <= y2 )        
	  {            
            for(y=y1;y<=y2;y++)            
	    {                
              x=(unsigned int)(k*y+b);                
	      pixel(y,x);
            }        
          }        
          else        
          {            
            for(y=y2;y<=y1;y++)            
            {                
              x=(unsigned int)(k*y+b);                
              pixel(y , x);            
            }        
          }    
        }
    }
}
//==================================================
// 畫圓
//==================================================
void circle(unsigned char OY,unsigned char OX,unsigned char R)//
{
  unsigned int dx,dy,xx,rr,rs;
  
  dy = R;
  rr = R*R;
  rs = R*71/100;          //0.71R
  
  for(dx=0;dx<=rs;)
  { 
    dx++;
    xx = dx*dx;
    while((rr-xx)<(dy*dy))
      {
        dy--;
      }
    
    pixel(OY-dy,OX+dx);  //第一象限
    pixel(OY-dy,OX-dx);  //第二象限
    pixel(OY+dy,OX-dx);  //第三象限
    pixel(OY+dy,OX+dx);  //第四象限
    
    pixel(OY-dx,OX+dy);  //第一象限
    pixel(OY-dx,OX-dy);  //第二象限
    pixel(OY+dx,OX-dy);  //第三象限
    pixel(OY+dx,OX+dy);  //第四象限
    
  }
}
/***************顯示一幅全屏圖像******************/ 
void Displayonebmp (Uchar Area,Uchar const *puts) //參數Area為第幾圖層 
{ 
Uint X; 
Uchar i,j; 
X=0; 
WriteCommand(0x4c ); //設置光標為右移 
WriteCommand( 0x46 ); //設置光標的地址 
switch(Area) 
{ 
case 1:WriteData( BasePart1 );break; //BasePart1
case 2:WriteData( BasePart2 );break; 
case 3:WriteData( BasePart3 );break; 
} 
WriteCommand( 0x42 ); //允許MCU把數據寫入到顯示緩沖區去 
for(i=0;i<240;i++) 
{ 
for(j=0;j<40;j++) 
{ 
WriteData(puts[X]); 
X++; 
} 
} 
}
void dispbmp(void)
{
    Displayonebmp (1,bmp2);
}
//============================== 西文顯示演示程序 ============================== 
// 僅僅用于文本方式下的西文字符串顯示,本函數只寫入第3顯示區 

void TextDisp( Uchar Ox,Uchar Oy, Uchar const *ptr ) { 

Uchar TexLength=0,ii; 
Uint  iTemp; 

    while(ptr[TexLength]>0x1f) {TexLength++;};   // 獲取字串長度 

    iTemp = Oy*paraP9+Ox; 
    WriteCommand( 0x5d );        // 光標形狀設置,代碼0x5d 
    WriteData( 0x07 );                // 設置光標水平點為CSX=8 
    WriteData( 0x07 );                // 光標為塊狀形式,垂直點為CSY=8 

    WriteCommand( 0x5b );            // 顯示合成方式設置.代碼0x5b 
    WriteData( 0x01 );                // 設置參數:顯示3區為文本屬性,二重xor合成 

    WriteCommand( 0x59 );            // 寫入指令DISP ON/OFF代碼,后續參數: 
    WriteData( 0x56 );                // 01 01 01 10顯示1~4區開顯示,光標閃爍顯示 
     
    iTemp = (Uint)Oy * paraP9 + Ox;                // 光標位置到實際ram地址換算 
     
    WriteCommand( 0x4c );                    // 自動右移光標指向 
     
    WriteCommand( 0x46 );                        // 制定光標位置 
    WriteData( (Uchar)(iTemp &0xff) );            // 設置光標地址CSR 
    WriteData( (Uchar)(iTemp /256 + BasePart3) );    // 加入顯示三區起始地址SAD2H 

    WriteCommand( 0x42 );                        // 當前位置寫入數據指令 

    for(ii=0;ii < TexLength;ii++) { 

        WriteData( ptr[ii] );                    // 寫入顯示字符代碼 
    } 
    DelayMs(350); 
} 

void  text_1(void)
{
  TextDisp( 0,13, StrForSample1 );    // 英文字符串的顯示,演示光標自動移位 
}

/*==============================================================================
; 漢字寫入子程序(圖形方式)。每次調用輸出一個漢字
; 支持圖形方式使用,完成漢字點陣碼的輸出。
; 攜入參數: Ox,Oy....寫入顯示的左上角坐標,Ox是以字節單位,Oy以行掃描線單位
   Ptr......漢字碼,庫內的排列編碼,大型程序時請改用unsigned int類型
; 無返回數據。
==============================================================================*/
void PPutCdotInGraph( Uint Ox, Uchar Oy, Uchar Cnumber, Uchar DotWidth ) //漢字寫入子程序(圖形方式)
{
Uint tempPtr,Optr;
Uchar tempCount1,tempCount2,nByte;
  
Optr = (Uint)Oy * paraP9 + Ox+0x04b0;
nByte = DotWidth/8;
WriteCommand( CsrDirD );   // 自動右移。
tempPtr = (Uint)Cnumber * DotWidth*nByte;

for (tempCount1=0;tempCount1<nByte;tempCount1++) {

WriteCommand( CsrW );    // 光標定位指令
WriteData( (Uchar)(Optr &0xff) );  // 設置光標地址CSR
WriteData( (Uchar)(Optr /256 ) );
WriteCommand( mWrite );    // ram寫指令
  
switch(DotWidth){
  case 8:  for(tempCount2=0;tempCount2<DotWidth;tempCount2++) {
      WriteData( HZ8_DOT_LIB[tempPtr] ); // 寫入數據
      tempPtr += nByte;
      }
      break;
  case 24: for(tempCount2=0;tempCount2<DotWidth;tempCount2++) {
      WriteData( Cdot24lib[tempPtr] ); // 寫入數據
      tempPtr += nByte;
      }
      break;
  case 32: for(tempCount2=0;tempCount2<DotWidth;tempCount2++) {
      WriteData( Cdot32lib[tempPtr] ); // 寫入數據
      tempPtr += nByte;
      }
      break;   
  case 48: for(tempCount2=0;tempCount2<DotWidth;tempCount2++) {
      WriteData( Cdot48lib[tempPtr] ); // 寫入數據
      tempPtr += nByte;
      }
      break;
         }
tempPtr = Cnumber * DotWidth*nByte + tempCount1 + 1;
Optr++;
}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一卡二卡| 亚洲精品国久久99热| 亚洲精品高清在线| 精品一区二区三区免费毛片爱| 一本久久a久久精品亚洲| 国产区在线观看成人精品| 老司机精品视频导航| 欧美人与z0zoxxxx视频| 亚洲第一av色| 色乱码一区二区三区88| 亚洲三级在线看| 99久久99久久精品免费观看| 中文字幕欧美三区| 国产麻豆精品视频| 日本一二三四高清不卡| 国产精品18久久久久久vr| 欧美不卡一区二区三区四区| 美国欧美日韩国产在线播放| 欧美一区二区三级| 国产成人亚洲精品狼色在线| 国产亚洲一本大道中文在线| va亚洲va日韩不卡在线观看| 国产精品美女久久久久aⅴ | 日韩视频在线你懂得| 国产精品资源网站| 亚洲欧美日韩在线播放| 欧美日韩一级片网站| 国产又黄又大久久| 亚洲欧美日韩国产另类专区| 欧美日韩在线电影| 国产精品18久久久久久久久| 一区二区三区免费| 日韩视频免费观看高清完整版 | 91.xcao| 日韩欧美国产一区二区三区| 国产91精品一区二区麻豆网站| 国产婷婷一区二区| 91精品国产全国免费观看| 成人小视频免费在线观看| 亚洲国产va精品久久久不卡综合| 欧美一级在线免费| 99re66热这里只有精品3直播| 日日夜夜精品免费视频| 337p粉嫩大胆色噜噜噜噜亚洲| 99这里都是精品| 国产乱码精品一区二区三| 一区二区三区欧美在线观看| 在线播放中文一区| 欧美日韩午夜在线| 一本色道综合亚洲| 成人激情av网| 国产乱码精品一品二品| 美女诱惑一区二区| 免费成人av资源网| 日韩精品久久理论片| 亚洲成人免费电影| 亚洲一区电影777| 亚洲少妇30p| 一区二区三区在线免费播放| 综合久久久久综合| 一区二区三区日韩在线观看| 亚洲欧美日韩中文播放| 依依成人综合视频| 亚洲成人动漫在线免费观看| 亚洲成av人在线观看| 首页亚洲欧美制服丝腿| 美女www一区二区| 久久69国产一区二区蜜臀| 久久99精品一区二区三区三区| 久久精品理论片| 国产一区二区三区久久悠悠色av| 国产一区二区91| 97久久精品人人澡人人爽| 欧美视频一二三区| 久久久精品蜜桃| 亚洲精品乱码久久久久久日本蜜臀| 亚洲理论在线观看| 蜜臀av性久久久久蜜臀aⅴ| 成人黄色免费短视频| 日本道色综合久久| 欧美一区二区三区四区在线观看 | 国产精品一区二区x88av| 99天天综合性| 欧美电视剧免费观看| 亚洲欧美国产毛片在线| 久久国产精品99久久人人澡| 国产高清久久久久| 91麻豆精品国产自产在线 | 久久精品在这里| 免费观看在线色综合| www.欧美色图| 久久久久久久久免费| 亚洲丶国产丶欧美一区二区三区| 亚洲二区视频在线| 免费成人av在线播放| 色激情天天射综合网| 国产亚洲欧美一级| 国产精品视频一二三| 亚洲一区二区三区四区在线| 日韩精品乱码免费| 欧美无乱码久久久免费午夜一区 | 欧美va亚洲va在线观看蝴蝶网| 国产精品久久久久aaaa樱花 | 国产一区二区0| 精品国产亚洲在线| 乱中年女人伦av一区二区| 在线亚洲精品福利网址导航| 中文成人综合网| av成人免费在线观看| 国产精品网站一区| 一本色道久久综合亚洲精品按摩 | 91蜜桃网址入口| 亚洲人精品午夜| 欧美少妇性性性| 亚洲国产毛片aaaaa无费看| 欧美在线观看一区| 久久精品99国产国产精| 久久久久国产精品麻豆| 成人免费av网站| 亚洲综合在线第一页| 日韩三级免费观看| 成人网在线免费视频| 一级特黄大欧美久久久| 欧美精品 日韩| 国产成人av自拍| 亚洲一二三区在线观看| 欧美一个色资源| 色婷婷亚洲精品| 激情综合色丁香一区二区| 亚洲欧美日韩国产综合| 欧美一区二区三区免费视频| 国产91丝袜在线18| 日本不卡一二三| 国产精品乱人伦| 日韩美女在线视频| 欧美日韩国产大片| 日日骚欧美日韩| 一区二区三区四区乱视频| 精品久久久久99| 欧美高清视频www夜色资源网| 国产91富婆露脸刺激对白| 五月综合激情日本mⅴ| 中文字幕一区二区三区精华液| 日韩欧美一卡二卡| 欧美日韩国产免费一区二区| 色综合夜色一区| 成人美女视频在线观看18| 久久国产综合精品| 亚洲777理论| 三级影片在线观看欧美日韩一区二区| 亚洲国产精品黑人久久久| 精品久久国产老人久久综合| 7777精品伊人久久久大香线蕉 | 日本伊人午夜精品| 亚洲成人激情自拍| 亚洲国产日韩精品| 一个色妞综合视频在线观看| 亚洲欧洲精品一区二区精品久久久| 精品久久久久久久人人人人传媒 | 蜜乳av一区二区三区| 老司机午夜精品| 激情六月婷婷久久| 国产精品亚洲成人| 国产精品一区二区久激情瑜伽 | 欧美aaaaa成人免费观看视频| 亚洲一区二区三区四区在线免费观看 | 国产午夜亚洲精品理论片色戒| 精品国产亚洲在线| 欧美激情一区二区在线| 亚洲男女毛片无遮挡| 亚洲午夜精品17c| 狠狠色丁香婷婷综合| 丁香婷婷综合五月| 欧美日韩成人综合天天影院| 日韩欧美视频在线| 国产午夜精品一区二区三区四区| 在线播放91灌醉迷j高跟美女| 国产九九视频一区二区三区| 不卡大黄网站免费看| 欧美精品粉嫩高潮一区二区| 精品日韩欧美在线| 一区二区三区成人| 国产精品一区二区果冻传媒| 欧美视频中文字幕| 国产精品色一区二区三区| 日韩精品午夜视频| 91福利国产成人精品照片| 欧美精品第1页| 亚洲午夜激情av| 99精品欧美一区二区蜜桃免费| 欧美一区在线视频| 五月激情综合网| 色综合激情久久| 亚洲国产成人私人影院tom| 麻豆一区二区99久久久久| 欧美亚洲综合色| 亚洲激情中文1区| 91一区二区三区在线播放| 久久婷婷久久一区二区三区| 石原莉奈一区二区三区在线观看|