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

📄 ym_160128.txt

📁 基于T6963C控制芯片的160_128液晶程序
💻 TXT
📖 第 1 页 / 共 3 页
字号:
//*******************************************
void LCD_YM_160128A_AutoWriteData(uchar ucDat)
{
	LCD_YM_160128A_AutoWcheck();
	LCD_YM_160128A_CE   = 0;			//片选有效
	LCD_YM_160128A_CD   = 0;															 //**********LcdDMF5001自动写数据**********
	LCD_YM_160128A_DATA = ucDat;
	LCD_YM_160128A_WR   = 0;
	LCD_YM_160128A_WR   = 1;
	LCD_YM_160128A_CD   = 1;
	LCD_YM_160128A_CE   = 1;
}
//*******************************************
//函数名称:void LCD_YM_160128A_ClearRAM(uint uiNumRam)
//函数功能:清除整块RAM 
//形式参数:uint uiNumRam
//行参说明:需要清零的单元数
//返回参数:无
//使用说明:使用该函数将把RAM全部清除,即图形区和文本区都将被清除
//*******************************************
void LCD_YM_160128A_ClearRAM(uint uiNumRam) 
{ 
    uint i; 
                                                // 清缓冲RAM 0000h--2000h (8k) 
    LCD_YM_160128A_WriteMode2(0x00,0x00,AddrSet);  // 设置地址指针0000H 
    LCD_YM_160128A_WriteCommand(DataAutoWrite);    // 设置自动写状态 
    for( i=0; i<uiNumRam; i++)					  //**********清除整块RAM**********
	{
    	LCD_YM_160128A_AutoWriteData(0x00);	      // data=0x00 
	}
    LCD_YM_160128A_WriteCommand(ExitAutoRW);       // 自动写结束 
}

//*******************************************
//*******************************************
//函数名称:void LCD_YM_160128A_Clearpart(uint RAMstar,uint RAMend)
//函数功能:清除一部分RAM 
//形式参数:uint RAMstar,uint RAMend
//行参说明:无
//返回参数:无
//使用说明:使用该函数将把RAM部分清除
//*******************************************
void LCD_YM_160128A_Clearpart(uint RAMstar,uint RAMend) 
{ 
 	uchar data1,data2;
	data1 = RAMstar&0x00ff;
	data2 = RAMstar>>8;                               
    LCD_YM_160128A_WriteMode2(data1,data2,AddrSet);  // 设置地址指针0000H 
    LCD_YM_160128A_WriteCommand(DataAutoWrite);      // 设置自动写状态 
    while(RAMend--)						
	{
    	LCD_YM_160128A_AutoWriteData(0x00);	      // data=0x00 
	}
    LCD_YM_160128A_WriteCommand(ExitAutoRW);       // 自动写结束
	 
}

//*******************************************

//函数名称:void LCD_YM_160128A_CursorPosSet(uchar x,uchar y)
//函数功能:光标位置设置
//形式参数:uchar x,uchar y
//行参说明:光标位置x,y
//返回参数:无
//使用说明:
//		X的取值范围0-20
//		Y的取值范围0-15
//*******************************************	 //  光标位置设置**********

void LCD_YM_160128A_CursorPosSet(uchar x,uchar y)
{ 
   LCD_YM_160128A_WriteMode2(x,y,CursorPointer);            // X的取值范围0-20 ; Y的取值范围0-15
}
//*******************************************************************************************************************************

//*******************************************
//函数名称:	Set_LCD_YM_160128A_CGRAM()
//函数功能:	建立用户自定义字库CGRAM
//形式参数:
//行参说明:
//返回参数:
//使用说明:
//*******************************************
void Set_LCD_YM_160128A_CGRAM(uchar *P)
{
		uint StartAddr,i; 
		uchar data1,data2;

		StartAddr = 0x0400;       //定位起始行0x0400
		data1 = StartAddr&0x00ff;
		data2 = StartAddr>>8;
       
	    for(i=0;i<96;i++)
	      {  
		    LCD_YM_160128A_WriteMode2(data1,data2,AddrSet);
	        LCD_YM_160128A_WriteMode1(*P,DataWAddrI);
			P++;
			StartAddr = 0x0400+i+1;       //定位起始行
		    data1 = StartAddr&0x00ff;
		    data2 = StartAddr>>8;
	      }           	  
}
//*******************************************
//函数名称:	display_LCD_YM_160128A_0808data(uchar x ,uchar y ,uchar *P)
//函数功能:	在显示屏上面显示一个CGROM里面的字符
//          即显示一个ASICC码字符 
//形式参数:
//行参说明:
//返回参数:
//使用说明:		在文本区显示
//*******************************************
void display_LCD_YM_160128A_0808data(uchar page ,uchar y ,uchar P)
{
	   uchar data1,data2;
	   uint ucdata ;
	    
	   ucdata = (page*20+y);
	   data1 = ucdata & 0x00ff; 
	   data2 = (ucdata >>=8);

	   LCD_YM_160128A_WriteMode2(data1,data2,AddrSet);
	   LCD_YM_160128A_WriteMode1(P-32,0xc0);

}
//*******************************************
//函数名称:	display_LCD_YM_160128A_0808data(uchar x ,uchar y ,uchar ucode)
//函数功能:	在显示屏上面显示一个CGRAM里面的字符
//          
//形式参数:
//行参说明:
//返回参数:
//使用说明:		在文本区显示
//*******************************************
void display_LCD_YM_160128A_0808RAMdata(uchar page ,uchar y ,uchar ucode)
{
	   uchar data1,data2;
	   uint ucdata ;
	    
	   ucdata = (page*0x14+y);
	   data1 = ucdata & 0x00ff; 
	   data2 = (ucdata >>=8);

	   LCD_YM_160128A_WriteMode2(data1,data2,AddrSet);
	   LCD_YM_160128A_WriteMode1(ucode,0xc0);

}
//*******************************************
//函数名称:	void display_LCD_YM_160128A_CGROM_0808string(uchar page ,uchar y ,uchar *P)
//函数功能:	在显示屏上面显示一串CGROM里面的字符
//          即显示一串ASICC码字符 
//形式参数:
//行参说明:
//返回参数:
//使用说明:		在文本区显示
//*******************************************
void display_LCD_YM_160128A_CGROM_0808string(uchar page ,uchar y ,uchar *P)
{
	   uchar data1,data2;
	   uint ucdata ;
	    
	   ucdata = (page*20+y);
	   data1 = ucdata & 0x00ff; 
	   data2 = (ucdata >>=8);

	   LCD_YM_160128A_WriteMode2(data1,data2,AddrSet);
	   LCD_YM_160128A_WriteCommand(DataAutoWrite);                  // 设置自动写状态 
			for(;*P!=0;P++)						
			  {
				 LCD_YM_160128A_AutoWriteData(*P-32);	      // 
			   }
	   LCD_YM_160128A_WriteCommand(ExitAutoRW);                    // 自动写结束

}
//*******************************************
//函数名称:void display_LCD_YM_160128A_0808number(uchar page,uchar y,uchar Num)
//函数功能:显示0~255之间的整数(8*8点阵)
//形式参数:
//行参说明:			
//返回参数:
//使用说明:	   在文本区显示
//*******************************************
void display_LCD_YM_160128A_0808number(uchar page,uchar y,uchar Num)
{
		uchar data1,data2,count,temp[3],Flag=1;
		uint ucdata ;
		    
		ucdata = (page*0x14+y);
		data1 = ucdata & 0x00ff; 
		data2 = (ucdata >>=8);
	
		  for(count=3;count;)				//将Num的高(低)位放在数组temp的低(高)位中
		    {
			  temp[--count]=Num%10;
			  temp[count]+=0x10;			
			  Num/=10;
		    }
		LCD_YM_160128A_WriteMode2(data1,data2,AddrSet);
		LCD_YM_160128A_WriteCommand(DataAutoWrite);                  // 设置自动写状态 
		  for(count=0;count<3;count++)						
			{
			   LCD_YM_160128A_AutoWriteData(0x00);	     		  //在显示数据前把这几个位置清零
			}
		LCD_YM_160128A_WriteCommand(ExitAutoRW);               // 自动写结束

	    LCD_YM_160128A_WriteMode2(data1,data2,AddrSet);
	    LCD_YM_160128A_WriteCommand(DataAutoWrite);                  // 设置自动写状态 
		   for(count=0;count<3;count++)						
			  {
				 if (temp[count] != 0x10||Flag==0)
					{
				    	LCD_YM_160128A_AutoWriteData(temp[count]);
						Flag=0;
					}	     
			  }
		LCD_YM_160128A_WriteCommand(ExitAutoRW);              // 自动写结束

}
//*******************************************
//函数名称:void display_LCD_YM_160128A_0808number_long(uchar page,uchar y,ulong Num)
//函数功能:显示0~4294967296之间的整数(8*8点阵)
//形式参数:
//行参说明:			
//返回参数:
//使用说明:	   在文本区显示
//*******************************************
void display_LCD_YM_160128A_0808number_long(uchar page,uchar y,ulong Num)
{
	   uchar data1,data2,count,temp[10],Flag=1;
	   uint ucdata ;
		    
	   ucdata = (page*0x14+y);
	   data1 = ucdata & 0x00ff; 
	   data2 = (ucdata >>=8);
	
	      for(count=10;count;)				//将Num的高(低)位放在数组temp的低(高)位中
		    {
			 temp[--count]=Num%10;
			 temp[count]+=0x10;			
			 Num/=10;
		     }
	   LCD_YM_160128A_WriteMode2(data1,data2,AddrSet);
	   LCD_YM_160128A_WriteCommand(DataAutoWrite);                  // 设置自动写状态 
			for(count=0;count<10;count++)						
			   {
				LCD_YM_160128A_AutoWriteData(0x00);	     		  //在显示数据前把这几个位置清零
			   }
	   LCD_YM_160128A_WriteCommand(ExitAutoRW);               // 自动写结束

	   LCD_YM_160128A_WriteMode2(data1,data2,AddrSet);
	   LCD_YM_160128A_WriteCommand(DataAutoWrite);                  // 设置自动写状态 
			for(count=0;count<10;count++)						
			   {
				  if (temp[count] != 0x10||Flag==0)
					{
				     LCD_YM_160128A_AutoWriteData(temp[count]);
					 Flag=0;
					}	     
			   }
	   LCD_YM_160128A_WriteCommand(ExitAutoRW);              // 自动写结束

}
//*******************************************
//函数名称:void display_LCD_YM_160128A_1616chinese(uchar page,uchar y,uchar *P)
//函数功能:显示一个汉字(16*16点阵)
//形式参数:
//行参说明:
//			
//			
//返回参数:
//使用说明:		  在图形区显示
//*******************************************

void display_LCD_YM_160128A_1616chinese(uchar page,uchar y,uchar *P)
{
	    uint StartAddr; 
		uchar temp,i,data1,data2; 
	
	    StartAddr = page*20 + y*2+ 0x1000;       //定位起始行 
		data1 = StartAddr&0x00ff;
		data2 = StartAddr>>8;
	
	    for(i=0;i<16;i++) 
	       { 
		      LCD_YM_160128A_WriteMode2( data1,data2,AddrSet ); 

⌨️ 快捷键说明

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