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

📄 lcd128x64.c

📁 这是一称的项目原文件,包括T9汉字输入,打印机,24C512,已经引用到产品上
💻 C
📖 第 1 页 / 共 2 页
字号:
      case 1:
         start_address = 0x90;
         break;
      case 2:
         start_address = 0x88;
         break;
      case 3:
         start_address = 0x98;
         break;
      default:
         break;
   }
   for(count=0;count<8;count++){
      lcd_Display_Lib_Chinese(start_address, 0xA1A0); //clear
      start_address++;
   }
}
//0x30---0x39
void lcd_Display_num_half_wide(BYTE startaddress, BYTE code_num1, BYTE code_num2)
{                                  //显示半宽字符
   lcd_Write_Cmd(0x80); 
   lcd_Write_Cmd(startaddress);

   lcd_Write_Dat(code_num1);   //the high byte
   lcd_Write_Dat(code_num2);    //the low byte
}

//*************************************//
//****以下新增显示单个字母子程序******//
//************************************//
void lcd_Display_num_single(BYTE startaddress, BYTE code_num1)
{                                //显示单个字母
    lcd_Write_Cmd(0x80); 
   lcd_Write_Cmd(startaddress);
   lcd_Write_Dat(code_num1);  
 }//*************END****************//
//-------------------------------------//
//      以下新增显示"请输入用户名"子函数   //
//------------------------------------//
/*
void lcd_Displzy_user_name_input(BYTE startaddress)//显示"请输入用户名"
{
   lcd_Disp_Text_Line_Order(startaddress,tylx10);
   startaddress += 2;
   lcd_Display_Lib_Chinese(startaddress, 0xC7EB);//"请"
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xCAE4);//"输"
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xC8EB);//"入"
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xD3C3);//"用"
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xBBA7);//"户"
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xC3FB);//"名"
   startaddress++;
}//-------------END-------------------//
//-------------------------------------//
//      新增显示"请输入类别名"子函数  //
//------------------------------------//
void lcd_Displzy_type_name_input(BYTE startaddress)//显示"请输入类别名"
{
   lcd_Disp_Text_Line_Order(startaddress,tylx10);
   startaddress += 2;
   lcd_Display_Lib_Chinese(startaddress, 0xC7EB);//"请"
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xCAE4);//"输"
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xC8EB);//"入"
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xC0E0);//"类"
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xB1F0);//"别"
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xC3FB);//"名"
   startaddress++;
}//-------------END-------------------//
*/

void lcd_Display_time(BYTE startaddress)            //显示时间
{
   lcd_Disp_Text_Line_Order(startaddress,tylx10);
   startaddress += 2;   
   lcd_Display_num_half_wide(startaddress, hour_buffer.shiwei, hour_buffer.gewei);//hour
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xCAB1);
   startaddress++;
   lcd_Display_num_half_wide(startaddress, minute_buffer.shiwei, minute_buffer.gewei);
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xB7D6); 
   startaddress++;
   lcd_Display_num_half_wide(startaddress, second_buffer.shiwei, second_buffer.gewei);
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xC3EB);
}

void lcd_Display_date(BYTE startaddress)             //显示日期
{
   lcd_Disp_Text_Line_Order(startaddress,tylx9);
   startaddress += 2;
   lcd_Display_num_half_wide(startaddress, year_buffer.shiwei, year_buffer.gewei);//hour
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xC4EA);
   startaddress++;
   lcd_Display_num_half_wide(startaddress, month_buffer.shiwei, month_buffer.gewei);
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xD4C2); 
   startaddress++;
   lcd_Display_num_half_wide(startaddress, day_buffer.shiwei, day_buffer.gewei);
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xC8D5);
}

void lcd_Display_week(BYTE startaddress)                       //显示星期
{
   lcd_Display_Lib_Chinese(startaddress, 0xD0C7);
   startaddress++;
   lcd_Display_Lib_Chinese(startaddress, 0xC6DA);
   startaddress++;
   lcd_Display_num_half_wide(startaddress, week_buffer.shiwei, week_buffer.gewei);
}

void lcd_Display_zongci(BYTE startaddress)                   //显示总次
{

   disp_num_address_1  save_num_buffer;
   BYTE tem_1,tem_2;
   
   tem_1 = save_current_num / 100;
   tem_2 = save_current_num - tem_1 * 100;
   save_num_buffer.baiwei = 0x30 + tem_1;
   save_num_buffer.shiwei = 0x30 + tem_2/10;
   save_num_buffer.gewei  = 0x30 + (save_current_num - tem_1 * 100 - (tem_2/10) * 10);
   lcd_Disp_Text_Line_Order(startaddress,tylx6); //chinese
   startaddress += (2 + 1);
   lcd_Display_num_half_wide(startaddress, save_num_buffer.baiwei, save_num_buffer.shiwei);
   startaddress++;
   lcd_Display_num_half_wide(startaddress, save_num_buffer.gewei, 0x20);
}

void lcd_Display_leibie(BYTE startaddress)           //显示类别
{  
   BYTE tem_1,tem_2;
   
   tem_1 = save_tem_type / 100;
   tem_2 = save_tem_type - tem_1 * 100;
   save_type_buffer.baiwei = 0x30 + tem_1;
   save_type_buffer.shiwei = 0x30 + tem_2/10;
   save_type_buffer.gewei  = 0x30 + (save_tem_type - tem_1 * 100 - (tem_2/10) * 10);
   lcd_Disp_Text_Line_Order(startaddress,tylx7); //chinese
   startaddress += (2 + 1);
   lcd_Display_num_half_wide(startaddress, save_type_buffer.baiwei, save_type_buffer.shiwei);
   startaddress++;
   lcd_Display_num_half_wide(startaddress, save_type_buffer.gewei, 0x20);
}


void lcd_Display_pizhong(BYTE startaddress)                    //显示皮重
{  
   BYTE tem_1,tem_2;

   tem_1 = save_tem_pizhong / 100;
   tem_2 = save_tem_pizhong - tem_1 * 100;
   save_pizhong_buffer.baiwei = 0x30 + tem_1;
   save_pizhong_buffer.shiwei = 0x30 + tem_2/10;
   save_pizhong_buffer.gewei  = 0x30 + (save_tem_pizhong - tem_1 * 100 - (tem_2/10) * 10);
   lcd_Disp_Text_Line_Order(startaddress,tylx8); //chinese
   startaddress += (2 + 1);
   lcd_Display_num_half_wide(startaddress, save_pizhong_buffer.baiwei, save_pizhong_buffer.shiwei);
   startaddress++;
   lcd_Display_num_half_wide(startaddress, save_pizhong_buffer.gewei, 0x20);

}

void lcd_Display_zongzhong(BYTE startaddress)                    //显示总重
{  
   set_zongzhong_num_address_bydata(all_weight);

   lcd_Disp_Text_Line_Order(startaddress,tylx16); //chinese
   startaddress += (2 + 1);
    lcd_Display_num_half_wide(startaddress, save_type_buffer.baiwei, save_type_buffer.shiwei);
   startaddress++;
    lcd_Display_num_half_wide(startaddress, save_type_buffer.gewei, save_pizhong_buffer.baiwanwei);
   startaddress++;
   lcd_Display_num_half_wide(startaddress, save_pizhong_buffer.shiwanwei, save_pizhong_buffer.wanwei);
   startaddress++;
   lcd_Display_num_half_wide(startaddress, save_pizhong_buffer.qianwei, save_pizhong_buffer.baiwei);
   startaddress++;
   lcd_Display_num_half_wide(startaddress, save_pizhong_buffer.shiwei,save_pizhong_buffer.gewei);
}

void lcd_Display_usename(BYTE startaddress)               //显示用户名
{  
   BYTE count;

   lcd_Disp_Text_Line_Order(startaddress,tylx19); //chinese
   startaddress += (2 + 1);
   for(count = 0;count < 5;count++){
      lcd_Display_Lib_Chinese(startaddress, save_tem_usename[count]);
      startaddress++;
   }
}

void lcd_Disp_Clear_pho(void)
{                                                      //液晶清屏,清图片
	BYTE LCD_X, LCD_Y, COUNT1, COUNT2, COUNT3;

    lcd_Write_Cmd(0x34);
    lcd_Write_Cmd(0x30);	

    LCD_X  = 0x80;

	for(COUNT3 = 2;COUNT3 > 0;COUNT3--) 
	{   
		 LCD_Y  = 0x80;                           
 	 	 for(COUNT2 = 32;COUNT2 > 0;COUNT2--)
	 	{       
			 lcd_Write_Cmd(0x34);                    // start to give address
      		 lcd_Write_Cmd(LCD_Y);
       		 lcd_Write_Cmd(LCD_X);
       	 	 lcd_Write_Cmd(0x30);
      		
  	    	 for(COUNT1 = 16;COUNT1 > 0;COUNT1--) 
 			{
           		lcd_Write_Dat(0x00);           	
   	  		}
   	     		LCD_Y++;                             
		}	
   		  LCD_X  = 0x88;                         
	 }
   		lcd_Write_Cmd(0x36);
		lcd_Write_Cmd(0x30);
}

void lcd_Display_zhonglang(long int zhongliang)                                //显示重量(大字)
{
	unsigned char i,str[6];
    
    i=0;
	//lcd_Disp_shuzi(shuzi_zimo_2,5);
	
	str[5]=zhongliang/100000;
	str[4]=(zhongliang-str[5]*100000)/10000;
	str[3]=(zhongliang-str[5]*100000-str[4]*10000)/1000;
	str[2]=(zhongliang-str[5]*100000-str[4]*10000-str[3]*1000)/100;
	str[1]=(zhongliang-str[5]*100000-str[4]*10000-str[3]*1000-str[2]*100)/10;
	str[0]=zhongliang-str[5]*100000-str[4]*10000-str[3]*1000-str[2]*100-str[1]*10;

	for(i=5;i>0;i--)
		{
		if(str[i]==0)
			{
			str[i]=11;//显示空白
			}
		else goto loop1; 
		}
loop1:
    
	//
	 // lcd_Write_Cmd(0x34); 
	//lcd_Write_Cmd(0x30);

//str[0]=0;str[1]=1;str[2]=11;str[3]=11;str[4]=11;str[5]=11;
  for(i=0;i<6;++i)
	{	
//i=3;
		if(str[i]==0)lcd_Disp_shuzi(shuzi_zimo_0,6-i);
    	if(str[i]==1)lcd_Disp_shuzi(shuzi_zimo_1,6-i);
 	    if(str[i]==2)lcd_Disp_shuzi(shuzi_zimo_2,6-i);
  		if(str[i]==3)lcd_Disp_shuzi(shuzi_zimo_3,6-i);
 	    if(str[i]==4)lcd_Disp_shuzi(shuzi_zimo_4,6-i);
 		if(str[i]==5)lcd_Disp_shuzi(shuzi_zimo_5,6-i);
 	    if(str[i]==6)lcd_Disp_shuzi(shuzi_zimo_6,6-i);
 		if(str[i]==7)lcd_Disp_shuzi(shuzi_zimo_7,6-i);
 	    if(str[i]==8)lcd_Disp_shuzi(shuzi_zimo_8,6-i);
 		if(str[i]==9)lcd_Disp_shuzi(shuzi_zimo_9,6-i);
 	    if(str[i]==11)lcd_Disp_shuzi(shuzi_zimo_nop,6-i);
       
	 }

	 lcd_Write_Cmd(0x36);
	//lcd_Write_Cmd(0x30);	

}
void lcd_Disp_shuzi(BYTE *value,lie)                                              //显示数字		
{	
	BYTE LCD_X, LCD_Y, COUNT1, COUNT2, COUNT3;

    LCD_X  = 0x80+lie;

	for(COUNT3 = 2;COUNT3 > 0;COUNT3--) 
	{      //the section is divided into two parts
		 LCD_Y  = 0x80;                             // both parts first line  Y address
 	 	 for(COUNT2 = 32;COUNT2 > 0;COUNT2--)
 		{   //every part has 32 lines         
      		 //lcd_Write_Cmd(0x34);                    // start to give address
      		 lcd_Write_Cmd(LCD_Y);
       		 lcd_Write_Cmd(LCD_X);
       	 	 //lcd_Write_Cmd(0x30);
  	    	 for(COUNT1 = 2;COUNT1 > 0;COUNT1--) 
 			{
           		lcd_Write_Dat(*value);
           		value++;
   	  		}
   	     		LCD_Y++;                                 //line  Y address add 1
		}	
   		  LCD_X  = 0x88+lie;                              // start the second part
	 }
   		//lcd_Write_Cmd(0x36);
		//lcd_Write_Cmd(0x30);
}


⌨️ 快捷键说明

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