Exemple #1
0
void display_string_8x16(unsigned char page,char column,char *text)
{
uint16_t i=0,j,k,n;
//Set_PINCS(0);
	
while(text[i]>0x00)
{
if((text[i]>=0x20)&&(text[i]<=0x7e))
{
j=text[i]-0x20;
for(n=0;n<2;n++)
{
lcd_address(page+n,column);
for(k=0;k<8;k++)
{
transfer_data(ascii_table_8x16[j][k+8*n]);/*??5x7 ?ASCII ??LCD ?,y ????,x ????,?????*/
}
}
i++;
column+=8;
}
else
i++;
}

//Set_PINCS(1);
}
//显示5X8点阵图像、ASCII, 或5x8点阵的自造字符、其他图标
void display_graphic_5x8(uchar page,uchar column,uchar *dp)
{
	uint i;
	lcd_address(page,column);
	for (i=0;i<6;i++)
	{	
		transfer_data_lcd(*dp);
		dp++;
	}
	
}
Exemple #3
0
/*******************************************************************************
函数名:full_dis
 输入:  
 输出:
 功能:满屏
*******************************************************************************/
void full_dis()	  
{
   int i,j;

   for(i = 0;i<8;i++)
   {
     cs =0;
     lcd_address(i+1,1);
	 for(j= 0;j<128;j++)
	 transfer_da(0xff);
   }
}
//显示8x16点阵图像、ASCII, 或8x16点阵的自造字符、其他图标
void display_graphic_8x16(uchar page,uchar column,uchar *dp)
{
	uint i,j;
	for(j=0;j<2;j++)
	{
		lcd_address(page+j,column);
		for (i=0;i<8;i++)
		{	
			transfer_data_lcd(*dp);					//写数据到LCD,每写完一个8位的数据后列地址自动加1
			dp++;
		}
	}
}
Exemple #5
0
/*******************************************************************************
函数名:clear
 输入:  
 输出:
 功能:清屏
*******************************************************************************/
void clear()	
{
 uchar i,j;
 cs = 0;
 for(i = 0;i<8;i++)	 //例程为9
 {
      lcd_address(1+i,1);
	  for(j = 0;j<132;j++)
	    {
		  transfer_da(0x00); //每一列输出零
		}
  }
  cs = 1;
}						 //每一页(8行)每一列输出零
Exemple #6
0
/*全屏清屏*/
void LCD_ClearScreen(void)
{
uint8_t i,j;
//Set_PINCS(0);
for(i=0;i<8;i++)
{
lcd_address(i,0);
for(j=0;j<132;j++)
{
transfer_data(0x00);
}
}
//Set_PINCS(1);
}
//显示128x64点阵图像
void display_128x64(uchar *dp)
{
	uint i,j;
	
	for(j=0;j<8;j++)
	{
		lcd_address(j+1,1);
		for (i=0;i<128;i++)
		{	
			transfer_data_lcd(*dp);					//写数据到LCD,每写完一个8位的数据后列地址自动加1
			dp++;
		}
	}
}
Exemple #8
0
/*******************************************************************************
函数名:display_gra_16x16
 输入: page,colum,*dp 
 输出:
 功能:显示16*16字
*******************************************************************************/
void display_gra_16x16(unsigned char page ,unsigned char colum,unsigned char *dp)
{
  uchar i,j;
   cs = 0 ;
   for(j = 0;j<2;j++)
   {
     lcd_address(page+j,colum);
	 for(i =0;i<16;i++)
	   {
	     transfer_da(*dp);
		 dp++;
	   }
   }
   cs = 1;
}
Exemple #9
0
/*显示8x16 点阵图像、ASCII, 或8x16 点阵的自造字符、其他图标*/
void display_graphic_8x16(uint8_t page,uint8_t column,uint8_t *dp)
{
uint8_t i,j;
//Set_PINCS(0);
for(j=0;j<2;j++)
{
lcd_address(page+j,column);
for (i=0;i<8;i++)
{
transfer_data(*dp); /*写数据到LCD,每写完一个8 位的数据后列地址自动加1*/
dp++;
}
}
//Set_PINCS(1);
}
Exemple #10
0
//==================display a piture of 128*64 dots================
void full_display()
{
int i,j;
//Set_PINCS(0);
for(i=0;i<8;i++)
{

lcd_address(i,0);
for(j=0;j<128;j++)
{
transfer_data(0xff);
}
}
//Set_PINCS(1);
}
//从指定地址读出数据写到液晶屏指定(page,column)座标中
void get_and_write_5x8(ulong fontaddr,uchar page,uchar column) 
{
	uchar i,disp_data;
	Rom_CS = 0;
	send_command_to_ROM(0x03);
	send_command_to_ROM((fontaddr&0xff0000)>>16);	 //地址的高8位,共24位
	send_command_to_ROM((fontaddr&0xff00)>>8);		 //地址的中8位,共24位
	send_command_to_ROM(fontaddr&0xff);				 //地址的低8位,共24位
	lcd_address(page,column);
	for(i=0; i<5; i++ )
	{
		disp_data=get_data_from_ROM();
		transfer_data_lcd(disp_data);	//写数据到LCD,每写完1字节的数据后列地址自动加1
	}
	Rom_CS=1;
}