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

📄 lcd12864a.c

📁 RF24L01例程(FLY2000-51)
💻 C
📖 第 1 页 / 共 2 页
字号:
        wcom(0x10+(0x0f&(seg>>4))); // 设定列地址, 设定列地址命令0x01 , 列制止范围 0~131    , 写高四位列地址      		
        wcom(0x0f&seg);             // 写低四位列地址 			
		for(zmseg=0;zmseg<8;zmseg++)
        {   
			wdata(success[cod*8+zmseg]);  // 连续写入8个数据

}
}


/********************************************/
/*  西文字符写入函数:CW_PR    16*16         */

void cwpr16(unsigned char cod,unsigned char page,unsigned char seg)
{ unsigned char zmseg;

        wcom(0xaf);// 开显示
	    wcom(0xb0+page);   // 设定页地址,设定page命令是0xB0,共 9 page                                       
        wcom(0x10+(0x0f&(seg>>4))); // 设定列地址, 设定列地址命令0x01 , 列制止范围 0~131    , 写高四位列地址      		
        wcom(0x0f&seg);             // 写低四位列地址 			
		for(zmseg=0;zmseg<16;zmseg++)
        {   
			wdata(largedigtal[cod*32+zmseg]);  // 连续写入16个数据
        }
	    wcom(0xb0+page-1);   // 设定页地址,设定page命令是0xB0,共 9 page                                       
        wcom(0x10+(0x0f&(seg>>4))); // 设定列地址, 设定列地址命令0x01 , 列制止范围 0~131    , 写高四位列地址      		
        wcom(0x0f&seg);             // 写低四位列地址 			
		for(zmseg=16;zmseg<32;zmseg++)
        {   
			wdata(largedigtal[cod*32+zmseg]);  // 连续写入16个数据
        }

}



/********************************************/
/*  西文字符写入函数:CW_PR    16*8         */
/*  写入数字和英文字母    16行 8列                  */
/********************************************/
void writedigital(unsigned char cod,unsigned char page,unsigned char seg)
{ unsigned char zmseg;

        wcom(0xaf);// 开显示
	    wcom(0xb0+page);   // 设定页地址,设定page命令是0xB0,共 9 page                                       
        wcom(0x10+(0x0f&(seg>>4))); // 设定列地址, 设定列地址命令0x01 , 列制止范围 0~131    , 写高四位列地址      		
        wcom(0x0f&seg);             // 写低四位列地址 			
		for(zmseg=8;zmseg>0;zmseg--)
        {   
			wdata(largedigtal[cod*16+zmseg]);  // 连续写入16个数据
        }
	    wcom(0xb0+page-1);   // 设定页地址,设定page命令是0xB0,共 9 page                                       
        wcom(0x10+(0x0f&(seg>>4))); // 设定列地址, 设定列地址命令0x01 , 列制止范围 0~131    , 写高四位列地址      		
        wcom(0x0f&seg);             // 写低四位列地址 			
		for(zmseg=16;zmseg>8;zmseg--)
        {   
			wdata(largedigtal[cod*16+zmseg]);  // 连续写入16个数据
        }

}



/********************************************/
/*  中文字符写入函数:CW_PR    16*16         */
/*            写入一个汉字                  */
/*                                          */
/********************************************/
void writeone(unsigned char cod,unsigned char page,unsigned char seg)
{ unsigned char zmseg;

        wcom(0xaf);// 开显示
	    wcom(0xb0+page);   // 设定页地址,设定page命令是0xB0,共 9 page                                       
        wcom(0x10+(0x0f&(seg>>4))); // 设定列地址, 设定列地址命令0x01 , 列制止范围 0~131    , 写高四位列地址      		
        wcom(0x0f&seg);             // 写低四位列地址 			
		for(zmseg=16;zmseg>0;zmseg--)
        {   
			wdata(hanzi[cod*32+zmseg]);  // 连续写入16个数据
        }
	    wcom(0xb0+page-1);   // 设定页地址,设定page命令是0xB0,共 9 page                                       
        wcom(0x10+(0x0f&(seg>>4))); // 设定列地址, 设定列地址命令0x01 , 列制止范围 0~131    , 写高四位列地址      		
        wcom(0x0f&seg);             // 写低四位列地址 			
		for(zmseg=32;zmseg>16;zmseg--)
        {   
			wdata(hanzi[cod*32+zmseg]);  // 连续写入16个数据
        }
}


/********************************************/
/*  中文字符写入函数:CW_PR    32*32         */
/*            写入一个汉字                  */
/*                                          */
/********************************************/
void writeonebig(unsigned char cod,unsigned char page,unsigned char seg)
{ unsigned char zmseg;

        wcom(0xaf);// 开显示
	    wcom(0xb0+page);   // 设定页地址,设定page命令是0xB0,共 9 page                                       
        wcom(0x10+(0x0f&(seg>>4))); // 设定列地址, 设定列地址命令0x01 , 列制止范围 0~131    , 写高四位列地址      		
        wcom(0x0f&seg);             // 写低四位列地址 			
		for(zmseg=32;zmseg>0;zmseg--)
        {   
			wdata(hanzibig[cod*128+zmseg]);  // 连续写入32个数据
        }

	    wcom(0xb0+page-1);   // 设定页地址,设定page命令是0xB0,共 9 page                                       
        wcom(0x10+(0x0f&(seg>>4))); // 设定列地址, 设定列地址命令0x01 , 列制止范围 0~131    , 写高四位列地址      		
        wcom(0x0f&seg);             // 写低四位列地址 			
		for(zmseg=64;zmseg>32;zmseg--)
        {   
			wdata(hanzibig[cod*128+zmseg]);  // 连续写入32个数据
        }

	    wcom(0xb0+page-2);   // 设定页地址,设定page命令是0xB0,共 9 page                                       
        wcom(0x10+(0x0f&(seg>>4))); // 设定列地址, 设定列地址命令0x01 , 列制止范围 0~131    , 写高四位列地址      		
        wcom(0x0f&seg);             // 写低四位列地址 			
		for(zmseg=96;zmseg>64;zmseg--)
        {   
			wdata(hanzibig[cod*128+zmseg]);  // 连续写入32个数据
        }

	    wcom(0xb0+page-3);   // 设定页地址,设定page命令是0xB0,共 9 page                                       
        wcom(0x10+(0x0f&(seg>>4))); // 设定列地址, 设定列地址命令0x01 , 列制止范围 0~131    , 写高四位列地址      		
        wcom(0x0f&seg);             // 写低四位列地址 			
		for(zmseg=128;zmseg>96;zmseg--)
        {   
			wdata(hanzibig[cod*128+zmseg]);  // 连续写入32个数据
        }

}



/*16*16汉字写入子程序*/
void ccwpr(unsigned char cod,unsigned char page,unsigned char seg)
{ unsigned char zmseg;

        wcom(0xaf);//开显示
        wcom(0xb0+page); //设定页地址                                            
        wcom(0x10+(0x0f&(seg>>4)));  //列地址 高四位          		
        wcom(0x0f&seg);        		 //列地址 低四位	
		for(zmseg=0;zmseg<=15;zmseg++)
        {   
//			wdata(CCTAB[cod*32+zmseg]);  //连续写入16个字节数据

        }
		
        wcom(0xb0+page+1);               //跳到下一页
                                 
        wcom(0x10+(0x0f&(seg>>4)));  
		
        wcom(0x0f&seg); 

       for(zmseg=16;zmseg<=31;zmseg++)  //连续写入16个字节数据
        {   
//			wdata(CCTAB[cod*32+zmseg]);

}

}

/*************************************************/
//写disdate_a数据
/*************************************************/
void disdate_a(unsigned char dat_a,unsigned char dat_b)
{
   int seg;
   unsigned char page;
   for(page=0xb0;page<0xb9;page++)                     //写页地址共9页  0xb8----0xb9
      { wcom(page);                                    //如下汉字可改
        wcom(0x10);                                    //设列地址高四位
        wcom(0x00);                                    //设列地址低四位
                   
        for(seg=0;seg<64;seg++)
           { wdata(dat_a);
             wdata(dat_b);
           }
      } 
   wcom(0xaf); /*开显示指令*/          
}



/*************************************************/
//写disdate_b数据全屏写数据
/*************************************************/
void disdate_b(unsigned char *p)
{
   int seg;
  unsigned char page;
   wcom(0xaf);/*开显示*/
   for(page=0xb0;page<0xb8;page++)                    //写页地址共8页  0xb0----0xb8
	 {
          wcom(page);                      
          wcom(0x10); 
          wcom(0x00); 
                     
          for(seg=0;seg<128;seg++)
             { 
              wdata(*p++);
             }              
         }           
 }


 void clr_blank()               /*-----清屏幕-----*/
{
    writeone(15,7,112); 
    writeone(15,7,96); 
    writeone(15,7,80);         /*----不显示------*/
    writeone(15,7,64);
    writeone(15,7,48);
    writeone(15,7,32);
    writeone(15,7,16);  
    writeone(15,7,0);


	writeone(15,5,112); 
    writeone(15,5,96); 
    writeone(15,5,80);         /*----不显示------*/
    writeone(15,5,64);
    writeone(15,5,48);
    writeone(15,5,32);
    writeone(15,5,16);  
    writeone(15,5,0);

    writeone(15,3,112); 
    writeone(15,3,96); 
    writeone(15,3,80);         /*----不显示------*/
    writeone(15,3,64);
    writeone(15,3,48);
    writeone(15,3,32);
    writeone(15,3,16);  
    writeone(15,3,0);

    writeone(15,1,112); 
    writeone(15,1,96); 
    writeone(15,1,80);         /*----不显示------*/
    writeone(15,1,64);
    writeone(15,1,48);
    writeone(15,1,32);
    writeone(15,1,16);  
    writeone(15,1,0);

}
    
/*--  进入开机画面函数--------*/

void entermenu()             /*进入开机画面*/
{
     writeonebig(0,7,96);       /*飞*/
	 delay1();
	 delay1();
	 delay1();
     writeonebig(1,7,64);       /*拓*/
	 delay1();
	 delay1();
	 delay1();
     writeonebig(2,7,32);       /*电*/
	 delay1();
	 delay1();
	 delay1();
     writeonebig(3,7,0);        /*子*/
	 delay1();
	 delay1();
	 delay1();
     writeonebig(4,3,96);       /*欢*/
	 delay1();
	 delay1();
	 delay1();
     writeonebig(5,3,64);       /*迎*/
	 delay1();
	 delay1();
	 delay1();
     writeonebig(6,3,32);       /*您*/
     delay1();
	 delay1();
	 delay1();
	 writeonebig(7,3,0);        /*!*/
	 delay1();
     delay1();
     delay1();
	 delay1();
	 delay1();
	 delay1();
	 delay1();
	 clr_blank();	            /*清屏幕*/
     delay1();
     delay1();
     delay1();
	 delay1();
	 delay1();
	 delay1();
	 delay1();
     writeone(0,6,96);				 /*杭*/
	 writeone(1,6,80);				 /*州*/
	 writeone(2,6,64);				 /*飞*/
	 writeone(3,6,48);				 /*拓*/
	 writeone(4,6,32);				 /*科*/
	 writeone(5,6,16);              /*技*/   
	 writeone(6,3,112);			    /*当*/
	 writeone(7,3,96);			     /*前*/
	 writeone(8,3,80);			     /*温*/
	 writeone(9,3,64);				 /*度*/
	 writedigital(20,3,56);				/*:*/
	 writedigital(12,1,112);		    /*w*/
	 writedigital(12,1,104);		    /*w*/
	 writedigital(12,1,96);				/*w*/
	 writedigital(13,1,88);				/*.*/
	 writedigital(14,1,80);				/*f*/
	 writedigital(15,1,72);	 			/*y*/
	 writedigital(16,1,64);				/*t*/
	 writedigital(17,1,56);				/*o*/
	 writedigital(17,1,48);				/*o*/
	 writedigital(13,1,40);				/*.*/
	 writedigital(18,1,32);				/*c*/
	 writedigital(17,1,24);				/*o*/
	 writedigital(19,1,16);				/*m*/
  
}




⌨️ 快捷键说明

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