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

📄 domyself12832.c

📁 液晶12832的显示程序
💻 C
字号:
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit E=P2^4;
sbit RW=P2^5;
sbit DI=P2^6;
sbit CS=P2^2;
sbit RST=P2^1;
sbit wela=P2^7;
void delay(uchar x);
void init();
void wrc(uchar);
void wrd(uchar);
void setxy(uchar,uchar);
unsigned char readbf();
uchar code table[]={0X80,0X80,0X80,0X80,0XFF,0XA0,0XA0,0X90,0X90,0X88,0X84,0X82,0X80,0X80,0X80,0X80,0X00,0X00,0X00,0X00,0XFF,0X40,0X21,0X12,0X04,0X08,0X10,0X30,0X60,0X20,0X00,0X00,/*长*/
0X40,0X40,0X44,0X54,0X54,0XD4,0X74,0X5F,0X54,0X54,0XD4,0X54,0X54,0X44,0X40,0X00,0X04,0X04,0X02,0X02,0X7F,0X4A,0X4A,0X4A,0X4A,0X4A,0X7E,0X01,0X03,0X06,0X02,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/*工*/
};
uchar code table1[]={ 0X40,0X41,0XC6,0X00,0X00,0XF2,0X52,0X52,0X56,0XFA,0X5A,0X56,0XF2,0X00,0X00,0X00, 0X40,0X20,0X1F,0X20,0X40,0X5F,0X42,0X42,0X42,0X5F,0X4A,0X52,0X4F,0X40,0X40,0X00,/*通*/
0X80,0X40,0X30,0XFC,0X07,0X0A,0XA8,0XA8,0XA9,0XAE,0XAA,0XA8,0XA8,0X08,0X08,0X00, 0X00,0X00,0X00,0X7F,0X00,0X00,0X7E,0X22,0X22,0X22,0X22,0X22,0X7E,0X00,0X00,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,/*工*/
0X10,0X12,0XD2,0XFE,0X91,0X11,0X80,0XBF,0XA1,0XA1,0XA1,0XA1,0XBF,0X80,0X00,0X00,0X04,0X03,0X00,0XFF,0X00,0X41,0X44,0X44,0X44,0X7F,0X44,0X44,0X44,0X41,0X40,0X00
};
uchar code table2[]={0X00,0XE0,0X10,0X08,0X08,0X10,0XE0,0X00,0X00,0X0F,0X10,0X20,0X20,0X10,0X0F,0X00,/*0*/
0X00,0X00,0XC0,0X20,0X10,0XF8,0X00,0X00,0X00,0X07,0X04,0X24,0X24,0X3F,0X24,0X00,/*4*/
0X00,0XE0,0X10,0X08,0X08,0X10,0XE0,0X00,0X00,0X0F,0X10,0X20,0X20,0X10,0X0F,0X00,/*0*/
0X00,0X00,0XC0,0X20,0X10,0XF8,0X00,0X00,0X00,0X07,0X04,0X24,0X24,0X3F,0X24,0X00,/*4*/
0X00,0X70,0X08,0X08,0X08,0X88,0X70,0X00,0X00,0X30,0X28,0X24,0X22,0X21,0X30,0X00,/*2*/
0X00,0X10,0X10,0XF8,0X00,0X00,0X00,0X00,0X00,0X20,0X20,0X3F,0X20,0X20,0X00,0X00,/*1*/
0X00,0X00,0XC0,0X20,0X10,0XF8,0X00,0X00,0X00,0X07,0X04,0X24,0X24,0X3F,0X24,0X00,/*4*/};
void main()
{
    RST=0;
    delay(100);
    RST=1;
    delay(100);
    P0=0XFF;
    wela=1;
    wela=0;
    while(1)
      {
         uchar addx,addy,xnum,ynum,n,cir;
 
         CS=1;
         init();
         addy=0;
         for(cir=0;cir<4;cir++)
               
           {     
                 n=cir*32;
                 addx=0;  
	        	 for(xnum=0;xnum<2;xnum++)
		             {
		                setxy(addx,addy);
		                     for(ynum=0;ynum<16;ynum++)
		                        {  
		                           
		                           wrd(table2[n]);
		                           n++;
		                        }
		                      
		                addx++;
		             }
                 
	                    addy=addy+32;
            
           }

       
         
         
//---------------------------
         CS=0;
         init();
         addy=0;
         for(cir=0;cir<4;cir++)
               
           {     
                 n=cir*32;
                 addx=0;  
	        	 for(xnum=0;xnum<2;xnum++)
		             {
		                setxy(addx,addy);
		                     for(ynum=0;ynum<16;ynum++)
		                        {  
		                           
		                           wrd(table[n]);
		                           n++;
		                        }
		                      
		                addx++;
		             }
                 
	                    addy=addy+16;
            
           }
//------------------------
         addy=0;
         for(cir=0;cir<4;cir++)
               
           {     
                 n=cir*32;
                 addx=2;  
	        	 for(xnum=0;xnum<2;xnum++)
		             {
		                setxy(addx,addy);
		                     for(ynum=0;ynum<16;ynum++)
		                        {  
		                           
		                           wrd(table1[n]);
		                           n++;
		                        }
		                      
		                addx++;
		             }
                 
	                    addy=addy+16;
            
           }
                     


      
         
         
      }
  
}   

void wrc(uchar commend)
{
     while(readbf());
     RW=0;
     DI=0;
     E=1; 
     P0=commend;
     E=0;
     delay(10);
}
void wrd(uchar dat)
{
     while(readbf());
     RW=0;
     DI=1;
     E=1; 
     P0=dat;
     E=0;
     delay(10); 
}

void init()
{
     

     wrc(0x3f);

     wrc(0xc0);
  
}
void setxy(uchar xd,uchar yd)
{
         wrc(xd+0xb8);
         wrc(yd+0x40);
         delay(10);  
}

unsigned char readbf()
{
   uchar state;
   RW=1;
   DI=0;
   P0=0XFF;
   E=1;
   state=P0;
   _nop_();
   E=0;
   return(state&0x80);
   
}
void delay(uchar x)
{
    uchar a,b;
   for(a=x;a>0;a--)
       for(b=10;b>0;b--);
}

⌨️ 快捷键说明

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