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

📄 nan.c

📁 sed1520控制的12232液晶显示模块
💻 C
字号:
					
#include<stdio.h>
#include<absacc.h>
#include<reg51.h>
#define uchar unsigned char
#define CWADD1 XBYTE[0x8000]  //写指令1
#define CRADD1 XBYTE[0x8200]  //读指令
#define DWADD1 XBYTE[0x8100]  //写数据1
#define DRADD1 XBYTE[0x8300] //读数据1
#define CWADD2 XBYTE[0x4000]  //写指令2
#define CRADD2 XBYTE[0x4200]  //读指令 2
#define DWADD2 XBYTE[0x4100]  //写数据2
#define DRADD2 XBYTE[0x4300]  //读数据2
code uchar eetab[][8]={
                        {0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x00},
                        {0x10,0x30,0x50,0x10,0x10,0x10,0x7c,0x00},
                        {0x38,0x44,0x04,0x08,0x10,0x20,0x7c,0x00},
                        {0x78,0x84,0x04,0x38,0x04,0x84,0x78,0x00}
                      };





code uchar cctab[][32]={
                        
                         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
						 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
						 },
                        {
						  0x02,0xF2,0x12,0x12,0x12,0xFE,0x12,0x12,0x12,0xFE,0x12,0x12,0x12,0xF2,0x02,0x00,
                          0x00,0x7F,0x28,0x24,0x22,0x21,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x7F,0x00,0x00,
						 },
						{
						 0x80,0x90,0x8C,0x84,0x84,0xF4,0xA5,0x86,0x84,0x84,0x84,0x84,0x94,0x8C,0x84,0x00,
                         0x80,0x80,0x80,0x40,0x47,0x28,0x28,0x10,0x28,0x24,0x43,0xC0,0x40,0x00,0x00,0x00,
						},
                       
                       { 
					    0x44,0x44,0xFC,0x44,0x44,0x00,0xFE,0x92,0x92,0xFE,0x92,0x92,0x92,0xFE,0x00,0x00,
                         0x10,0x10,0x0F,0x08,0x48,0x40,0x45,0x44,0x44,0x7F,0x44,0x44,0x44,0x45,0x40,0x00,
                       },
					   {
					   0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
                        0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
						},
						{
						0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x7F,0xA0,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
                         0x00,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x01,0x06,0x08,0x30,0x60,0xC0,0x40,0x00,
                         },
                       
                       { 
					   0x40,0x30,0x10,0x12,0x5C,0x54,0x50,0x51,0x5E,0xD4,0x50,0x18,0x57,0x32,0x10,0x00,
                       0x00,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x02,0x02,0x02,0x02,0x02,0x02,0x00,
                       },
					    
						 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
						 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
						 },
                        {
					   0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,
                       0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,
					   },
						{
					         0x08,0x08,0x88,0xFF,0x48,0x28,0x00,0xC8,0x48,0x48,0x7F,0x48,0xC8,0x48,0x08,0x00,
                          0x01,0x41,0x80,0x7F,0x00,0x40,0x40,0x20,0x13,0x0C,0x0C,0x12,0x21,0x60,0x20,0x00,
						},
                       
                       { 
					    0x80,0x84,0x44,0xC4,0xA4,0x94,0x8C,0xFF,0x8C,0x94,0xA4,0x24,0x44,0xC4,0x40,0x00,
                        0x00,0x04,0x04,0x04,0x04,0x44,0x84,0x7E,0x05,0x04,0x04,0x04,0x04,0x04,0x04,0x00,
                       },


					   {
					   0x40,0x20,0xF0,0x1C,0x47,0x4A,0x48,0x48,0x48,0xFF,0x48,0x48,0x4C,0x68,0x40,0x00,
                       0x00,0x00,0xFF,0x00,0x40,0x44,0x44,0x44,0x44,0x7F,0x44,0x44,0x46,0x64,0x40,0x00,
					   },
                       {
					   0x00,0x00,0xF8,0x08,0x48,0x48,0x48,0xFF,0xAA,0xAA,0xAA,0x8A,0xD8,0x08,0x00,0x00,
                        0x80,0x60,0x1F,0x80,0x40,0x3E,0x02,0x02,0x02,0x3E,0x40,0x40,0x40,0x78,0x20,0x00,
						},
                       };
uchar command;
uchar LCDdata;
uchar page_;
uchar code_;
uchar column;

void writecommandE1()
{
   while(CRADD1&0x80);
   CWADD1=command;
}
void writedataE1()
{
 while(CRADD1&0x80);
 DWADD1=LCDdata;
}
void writecommandE2()
{
   while(CRADD2&0x80);
   CWADD2=command;
}
void writedataE2()
{
 while(CRADD2&0x80);
 DWADD2=LCDdata;
}
void init()
{
 command=0xe2;
 writecommandE1();
 writecommandE2();
 command=0xa4;
 writecommandE1();
 writecommandE2();
 command=0xa9;
 writecommandE1();
 writecommandE2();
 command=0xa1;
 writecommandE1();
 writecommandE2();
 command=0xc0;
 writecommandE1();
 writecommandE2();
 command=0xaf;
 writecommandE1();
 writecommandE2();
 command=0x00;
 writecommandE1();
 writecommandE2();
 
}
void clear()
{
  uchar i,j;
  i=0;
  do{
     command=(i+0xb8);
     writecommandE1();
     writecommandE2();
     command=0x00;
     writecommandE1();
     writecommandE2();
     j=0x50;
     do{
         LCDdata=0x00;
         writedataE1();
         writedataE2();
       }while(--j!=0);
     
    }while(++i!=4);
}
void delay()
{
  uchar i,j;
  i=20;j=0;
  do{
       do{
          
         }while(--j!=0);
    }while(--i!=0);
}
void writechn16X16(uchar page_ ,uchar total,uchar code_)
{	  
   uchar i,j,k,m,column	;
   i=0;j=0;m=0;k=0;

	  command=page_|0xb8;  //页设置
        writecommandE1();
        writecommandE2();

		   command=0x00;	  //列设置
           writecommandE1();
   while(j<total*2)
    {  	
       	  
		
		   column=k;
       while(k<column+16) 
	  {   
	      
	       if(k<61)
              {
               
               LCDdata=cctab[code_][i+m];
               writedataE1(); 												 
              }
          else
              {	 if(k==61)
                 {command=0x00; 
               writecommandE2();   
				 }
               LCDdata=cctab[code_][i+m];
               writedataE2(); 
              }
             i++; 
		
		     k++;

       }

		   if(k==112) 
			 {
			  page_=page_+2;
			  
			 command=page_|0xb8;
              writecommandE1();
               writecommandE2();
				 k=0;				 	
				 command=0x00;
                writecommandE1();
			
			}
		code_=code_+1;	 
			  i=0;
	   j++;
	    
		  if(j==total)
		 { page_=+1;
			  code_=0;
			 command=page_|0xb8;
        writecommandE1();
        writecommandE2();
				 k=0;
				 m=16;	
				 command=0x00;
           writecommandE1();

		 }
	   
    }	



}



/*void writechn8X16(uchar page_ ,uchar total,uchar code_)
{	  
   uchar i,j,k,m,column	;
   i=0;j=0;m=0;k=0;

	  command=page_|0xb8;  //页设置
        writecommandE1();
        writecommandE2();

		   command=0x00;	  //列设置
           writecommandE1();
   while(j<total*2)
    {  	
       	  
		
		   column=k;
       while(k<column+8) 
	  {   
	      
	       if(k<61)
              {
               
               LCDdata=cctab[code_][i+m];
               writedataE1(); 												 
              }
          else
              {	 if(k==61)
                 {command=0x00; 
               writecommandE2();   
				 }
               LCDdata=cctab[code_][i+m];
               writedataE2(); 
              }
             i++; 
		
		     k++;

       }

		   if(k==112) 
			 {
			  page_=page_+2;
			  
			 command=page_|0xb8;
              writecommandE1();
               writecommandE2();
				 k=0;				 	
				 command=0x00;
                writecommandE1();
			
			}
		code_=code_+1;	 
			  i=0;
	   j++;
	    
		  if(j==total)
		 { page_=+1;
			  code_=0;
			 command=page_|0xb8;
        writecommandE1();
        writecommandE2();
				 k=0;
				 m=8;	
				 command=0x00;
           writecommandE1();

		 }
	   
    }	



}	 */


void main()
{  uchar n;
 init();
 clear(); 
  //command=0xae;	//关显示
// writecommandE1();
// writecommandE2();
 

writechn16X16(0x02,0x0d,0x00);
//writechn16X16(0x01,0x0d,0x00);
//for (n=1;n<5;n++)
 // while(n)

 //command=0xae;	//关显示
// writecommandE1();
// writecommandE2();
//delay();
// command=0xaf;	//开显示
// writecommandE1();
//  writecommandE2();
 // delay();

 while(1); 
}

⌨️ 快捷键说明

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