⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd12864.i

📁 该模板使用于周立功公司研发的EasyARM2100系列开发板
💻 I
📖 第 1 页 / 共 2 页
字号:
      IO0SET|=LCD_CS2;
     }
    lcd_delay(40);
    write_LCD_comd1(0XB8,word_position_x/8);
	write_LCD_comd1(0X40,word_position_y%64);
    write_LCD_comd0(0x57);
}


void DrawLines(int8 x,int8 y,int8 x1,int8 y1) 
{
	int dx,dy,err = 0;
	if(y != y1)
	{
		if(y1 < y) 
		{
			dx = y1; dy = x1;
			y1 = y;  x1 = x;
			y = dx;  x = dy;
		}
		dy = y1 - y;
		dx = x1 - x;
		if((x1 >= x)&&((y1 - y) <= (x1 - x)))
		{
			for(;x != x1;)
			{
				if(err < 0)
				{
					show_dot(x + 1,y);
					x += 1;
					err += dy;
				}
				else
				{
					show_dot(x + 1,y + 1);
					x += 1;
					y += 1;
					err += (dy - dx);
				}
			}
		}
		else
			if((x1 >= x)&&((y1 - y) > (x1 - x)))
			{
				for(;y != y1;)
				{
					if(err < 0)
					{
						show_dot(x + 1,y + 1);
						x += 1;
						y += 1;
						err += (dy - dx);
					}
					else
					{
						show_dot(x,y + 1);
						y += 1;
						err -= dx;
					}
				}
			}
			else
				if((x1 < x)&&((y1 - y) <= (x - x1)))
				{
					for(;x != x1;)
					{
						if(err < 0)
						{
							show_dot(x - 1,y);
							x -= 1;
							err += dy;
						}
						else
						{
							show_dot(x - 1,y + 1);
							x -= 1;
							y += 1;
							err += (dy + dx);
						}
					}
				}
				else
					if((x1 < x)&&((y1 - y) > (x1 - x)))
					{
						for(;y != y1;)
						{
							if(err < 0)
							{
								show_dot(x - 1,y + 1);
								x -= 1;
								y += 1;
								err += (dy + dx);
							}
							else
							{
								show_dot(x,y + 1);
								y += 1;
								err += dx;
							}
						}
					}
	}	
	else
	{
		dx = x; dy = x1;
		if(x < x1)
		{
			dx = x1;
			dy = x;
		}
		for(;dy < dx;dy++)
			show_dot(dy,y);
	}
}

void Show_Picture_data(uint8 data,uint8 x,uint8 y)
{
	
	uint8 w=8,h=16;
	switch(data)
	{
		case '0':
		show_picture(ASCII_0,x,y,w,h);
		break;
		case '1':
		show_picture(ASCII_1,x,y,w,h);
		break;
		case '2':
		show_picture(ASCII_2,x,y,w,h);
		break;
		case '3':
		show_picture(ASCII_3,x,y,w,h);
		break;
		case '4':
		show_picture(ASCII_4,x,y,w,h);
		break;
		case '5':
		show_picture(ASCII_5,x,y,w,h);
		break;
		case '6':
		show_picture(ASCII_6,x,y,w,h);
		break;
		case '7':
		show_picture(ASCII_7,x,y,w,h);
		break;
		case '8':
		show_picture(ASCII_8,x,y,w,h);
		break;
		case '9':
		show_picture(ASCII_9,x,y,w,h);
		break;
		
		case 'A':
		show_picture(asc_A,x,y,w,h);
		break;
		case 'B':
		show_picture(asc_B,x,y,w,h);
		break;
		case 'C':
		show_picture(asc_C,x,y,w,h);
		break;
		case 'D':
		show_picture(asc_D,x,y,w,h);
		break;
		case 'E':
		show_picture(asc_E,x,y,w,h);
		break;
		case 'F':
		show_picture(asc_F,x,y,w,h);
		break;
		case 'G':
		show_picture(asc_G,x,y,w,h);
		break;
		case 'H':
		show_picture(asc_H,x,y,w,h);
		break;
		case 'I':
		show_picture(asc_I,x,y,w,h);
		break;
		case 'J':
		show_picture(asc_J,x,y,w,h);
		break;
		case 'K':
		show_picture(asc_K,x,y,w,h);
		break;
		case 'L':
		show_picture(asc_L,x,y,w,h);
		break;
		case 'M':
		show_picture(asc_M,x,y,w,h);
		break;
		case 'N':
		show_picture(asc_N,x,y,w,h);
		break;
		case 'O':
		show_picture(asc_O,x,y,w,h);
		break;
		case 'P':
		show_picture(asc_P,x,y,w,h);
		break;
		case 'Q':
		show_picture(asc_Q,x,y,w,h);
		break;
		case 'R':
		show_picture(asc_R,x,y,w,h);
		break;
		case 'S':
		show_picture(asc_S,x,y,w,h);
		break;
		case 'T':
		show_picture(asc_T,x,y,w,h);
		break;
		case 'U':
		show_picture(asc_U,x,y,w,h);
		break;
		case 'V':
		show_picture(asc_V,x,y,w,h);
		break;
		case 'W':
		show_picture(asc_W,x,y,w,h);
		break;
		case 'X':
		show_picture(asc_X,x,y,w,h);
		break;
		case 'Y':
		show_picture(asc_Y,x,y,w,h);
		break;
		case 'Z':
		show_picture(asc_Z,x,y,w,h);
		break;
		
	








































































































 
	}
	

}


void Show_Str(uint8 *str,uint8 x,uint8 y,uint8 lenth)
{
	uint8 i;
	for(i=0;i<lenth;i++)
	{
		Show_Picture_data(str[i],x,(y+(8*i)));
	}

}

void lcd_test(void)
{   
 init_LCD();
 clr_LCD_screen();
  while(1)
   {
   show_picture(rzjdq2,0,0,128,64);
   	     
   		
   	      DelayNS(300);
   }
}



void clr_LCD(uint8 Bselect_area)
{
if(1==Bselect_area)
{
  
 IO0SET|=LCD_CS1;
 IO0SET|=LCD_CS2;
 IO0SET|=LCD_RW;
 IO0CLR|=LCD_E;
 IO0CLR|=LCD_D0;
 IO0CLR|=LCD_D2;
 IO0CLR|=LCD_D3;
 IO0CLR|=LCD_D5;
 IO0CLR|=LCD_D7;
 IO1SET|=LCD_RS;
 IO1SET|=LCD_D1;
 IO1SET|=LCD_D4;
 IO1SET|=LCD_D6; 	    	
 lcd_delay(50);
 IO0CLR|= LCD_CS1;
 IO0CLR|=LCD_CS2;
 IO0CLR|=LCD_RW;
 IO0SET|=LCD_E;
 IO0SET|=LCD_D0;
 IO0SET|=LCD_D2;
 IO0SET|=LCD_D3;
 IO0SET|=LCD_D5;
 IO0SET|=LCD_D7;
 IO1CLR|=  LCD_RS;
 IO1CLR|=  LCD_D1;
 IO1CLR|=  LCD_D4;
 IO1CLR|=  LCD_D6;  	   
 IO1SET|=  LCD_RS;
 IO1SET|=  LCD_D1;
 IO1SET|=  LCD_D4;
 IO1SET|=  LCD_D6;
 lcd_delay(50);
      
}

}




 

 

void ReadKeyProcess(void)

 {  
     
    temp_value=0;
 
   if((IO0PIN & UP ) == 0)
   
   temp_value|=0x01;
   else
   temp_value&=0xfe;
   
   
    if((IO0PIN & DOWN ) == 0)
   
   temp_value|=0x02;
   else
   temp_value&=0xfd;
   
   
    if((IO0PIN & CANCEL ) == 0)
   
   temp_value|=0x04;
   else
   temp_value&=0xfb;
   
   
  
    if((IO0PIN & ENTER ) == 0)
   
   temp_value|=0x08;
   else
   temp_value&=0xf7;
   
     temp_value&=0x0f;
      
       if(temp_value)                     
         {
          if(Bkey_delay)                   
             {
             
             if(temp_value==key_value0)     
                 {
 	              if (key_delay==0)         
	                 {
				  		Bkey_been_down=1;   		              
                 	 }
           	      else
           	         {
             	        key_delay--;
             	     }
                 } 
             else                 
                 {
                  Bkey_delay=0;
                  key_value=0x00;
                  Bread_key=0;	 
                 }
             
            }
         else
            {
             Bkey_delay=1;
             key_value=0;
             key_value0=temp_value;
             key_delay=1;
            }
         }
      else   
        {
		  if(Bkey_been_down)
            {
             Bkey_been_down=0;
             Bkey_delay=0;
             key_value=key_value0;	
             Bread_key=0;    
	        }
        }
 
 }
 
  void key_test(void)
{
 if(Bread_key==1)
  ReadKeyProcess();

   Bread_key=1;
if ((key_value&0x01)||((key_value&0x02))||((key_value&0x04))||((key_value&0x08)))
      { 
	   key_value=0;
   if    ( (IO1SET&RY4) == 0 ) IO1SET |= RY4;	
       else  IO1CLR |= RY4;    		 	
	  }
									
}
 
void ReadKey(void)

 {  
  
    temp_value=0;
 
   if((IO0PIN & UP ) == 0)
     {
     delay(200);
       if((IO0PIN & UP ) == 0)
         {
          while((IO0PIN & UP ) == 0);
          temp_value|=0x01; 
         }
     } 
   else
     {
     temp_value&=0xfe;
     }
   
   
   if((IO0PIN & DOWN ) == 0)
     {
       delay(200);
       if((IO0PIN & DOWN ) == 0)
       {
       while((IO0PIN & DOWN ) == 0);
       temp_value|=0x02;  
       }
     }
   else
     {
     temp_value&=0xfd;
     }
     
   
   if((IO0PIN & CANCEL ) == 0)
     {
       delay(200);
       if((IO0PIN & CANCEL ) == 0)
       {
       while((IO0PIN & CANCEL ) == 0);
       temp_value|=0x04;
       }
     }
   else
     {
      temp_value&=0xfb;
     }
   
  
    if((IO0PIN & ENTER ) == 0)
     {
      delay(200);
       if((IO0PIN & ENTER ) == 0)
         {
          while((IO0PIN & ENTER ) == 0);
          temp_value|=0x08;   
         }
     }
     else
     {
     temp_value&=0xf7;
     }    

 }







⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -