标题: 51单片机12864静态显示 [打印本页]

作者: 孙文超    时间: 2020-10-6 16:52
标题: 51单片机12864静态显示
#include <reg51.h>

#define LCDLCDDisp_Off   0x3e
#define LCDLCDDisp_On    0x3f
#define Page_Add         0xb8
#define LCDCol_Add       0x40
#define Start_Line       0xC0

#define data_ora P0
sbit LCD_CS1=P2^4 ;   
sbit LCD_CS2=P2^3 ;   
sbit RESET=P2^3 ;  
sbit LCDDi=P2^2 ;     
sbit LCDRW=P2^1 ;     
sbit LCDEnable=P2^0 ;     
sbit k1=P3^1;
sbit k2=P3^3;
sbit k3=P3^5;


char code Hz_sun[]=
{
0x0 ,0x2 ,0x82 ,0x82, 0xF2, 0x4A, 0x26, 0x80 ,0x60, 0x0 ,0xFF, 0x20 ,0x40 ,0x80 ,0x0 ,
        0x0 ,0x1, 0x1 ,0x40, 0x80, 0x7F ,0x4 ,0x2 ,0x1 ,0x40, 0x80, 0x7F, 0x0 ,0x0 ,0x1 ,0x3 ,0x0
};

char code Hz_wen[]=
{
0x8, 0x8 ,0x8, 0x18, 0x68, 0x88, 0x9, 0xE ,0x8, 0x8 ,0xC8, 0x38, 0x8 ,0xC, 0x8 ,0x0, 0x80,
        0x80 ,0x40, 0x40, 0x20, 0x11, 0xA ,0x4, 0xA ,0x11 ,0x10, 0x20, 0x40, 0xC0, 0x40, 0x0
};


char code Hz_chao[]=
{
0x40, 0x48, 0x48, 0xFF ,0x48 ,0x48, 0x82 ,0x42, 0x3E, 0x2 ,0x22, 0x42, 0x3F ,0x2, 0x0, 0x0 ,0x40,
        0x3F ,0x10, 0x1F ,0x22 ,0x42, 0x40, 0x5F, 0x51, 0x51 ,0x51, 0x51 ,0x5F, 0x60, 0x20, 0x0
};

char code Hz_xing[]=
{
0x10, 0x10, 0xF0 ,0x1F ,0x10 ,0xF0 ,0x40, 0x3C ,0x10, 0x10, 0xFF ,0x10, 0x10, 0x18, 0x10 ,
        0x0 ,0x40, 0x22 ,0x15, 0x8 ,0x14, 0x63, 0x40 ,0x42 ,0x42 ,0x42, 0x7F, 0x42 ,0x43, 0x62, 0x40 ,0x0
};

char code Hz_ming[]=
{
0x0 ,0x0, 0x0, 0x20 ,0x10 ,0x9C ,0xA7 ,0x44 ,0x44, 0x24, 0x14,0xC, 0x0, 0x0, 0x0, 0x0 ,
        0x2 ,0x2,0x2 ,0x1, 0xFF ,0x42 ,0x42, 0x42, 0x42, 0x42, 0x42 ,0x42, 0xFF ,0x2, 0x0 ,0x0
};


char code Hz_dian[]=
{
0x0 ,0x0 ,0x0 ,0x0, 0x80, 0xC0 ,0xC0 ,0x80, 0x0 ,0x0 ,0x0, 0x0 ,0x0 ,0x0, 0x0, 0x0 ,0x0, 0x0, 0x0, 0x0,
        0x31 ,0x7B, 0x7B, 0x31, 0x0 ,0x0 ,0x0, 0x0 ,0x0, 0x0 ,0x0 ,0x0
};

char code Hz_xing1[]=
{
0x80 ,0x70 ,0x0, 0xFF, 0x90 ,0x60 ,0x1C, 0x10 ,0x10, 0xFF ,0x10, 0x10, 0x18 ,0x10, 0x0 ,0x0 ,0x0, 0x0 ,
        0x0, 0xFF, 0x40, 0x40, 0x42 ,0x42, 0x42 ,0x7F, 0x42 ,0x43, 0x42 ,0x60 ,0x40 ,0x0
};

char code Hz_bie[]=
{
0x0, 0x0 ,0x7E ,0x22 ,0xE2 ,0x22 ,0x22, 0xBF, 0x2 ,0x0 ,0xF8 ,0x0 ,0x0, 0xFF, 0x0, 0x0, 0x1 ,0x41,
        0x21 ,0x19 ,0x7 ,0x21 ,0x41 ,0x3F ,0x1 ,0x0,0xF, 0x40 ,0x80 ,0x7F ,0x0 ,0x0
};

char code Hz_nan[]=
{
0x0 ,0x0 ,0xFE ,0x92 ,0x92 ,0x92 ,0x92 ,0xFE ,0x92 ,0x92 ,0x92 ,0x92 ,0xFF ,0x2, 0x0, 0x0, 0x4,
        0x84, 0x85, 0x44 ,0x44 ,0x24 ,0x1C ,0x7 ,0x4 ,0x4, 0x44, 0x84, 0x44, 0x3E ,0x4 ,0x0
};


char code Hz_nian[]=
{
0x0, 0x20, 0x10, 0xCC ,0x47 ,0x44 ,0x44 ,0xFC ,0x44, 0x44, 0x44, 0x64 ,0x46 ,0x4, 0x0 ,
        0x0, 0x4 ,0x4, 0x4 ,0x7 ,0x4 ,0x4 ,0x4 ,0xFF ,0x4 ,0x4 ,0x4 ,0x4 ,0x4, 0x6, 0x4, 0x0
};



char code Hz_ling[]=
{
0x40 ,0x40,0x7E, 0x40, 0x7F, 0x48, 0x48, 0x68,0x10, 0x2C ,0xC3 ,0xC, 0x30 ,0x60 ,0x20, 0x0,
        0x0 ,0xFF ,0x50 ,0x48 ,0x47 ,0x48, 0x50, 0xFF, 0x2, 0x12, 0x22 ,0xD2 ,0xA, 0x6, 0x0, 0x0
};


char code Hz_2[]=
{
0x0 ,0x0 ,0x20, 0x70 ,0x78, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0xD8, 0xF0, 0x70, 0x0, 0x0 ,0x0, 0x0 ,
        0x30 ,0x30, 0x28,0x28, 0x24, 0x24 ,0x22, 0x22, 0x21 ,0x21 ,0x30 ,0x38, 0x0, 0x0
};

char code Hz_0[]=
{
0x0 ,0x0 ,0xC0 ,0xE0, 0xF0 ,0x18, 0x8, 0x8 ,0x8 ,0x8, 0x8 ,0x30 ,0xF0, 0xE0, 0xC0, 0x0, 0x0, 0x0 ,0x7,
        0x1F ,0x1F ,0x30 ,0x20 ,0x20, 0x20 ,0x20, 0x20 ,0x38 ,0x1F ,0xF ,0x7 ,0x0
};


char code Hz_you[]=
{
0x40, 0x20, 0xF8, 0x27, 0x20, 0x20 ,0x20, 0xE0, 0x3F, 0xE0 ,0x22 ,0x2C ,0x20, 0x30, 0x20, 0x0, 0x0 ,0x0,
        0xFF, 0x80, 0x40, 0x30, 0xE, 0x1, 0x0 ,0x3F, 0x40, 0x40, 0x40 ,0x40 ,0x70, 0x0
};

char code Hz_dian1[]=
{
0x0 ,0x0 ,0xC0,0x40, 0x40 ,0x40 ,0x7F ,0x48, 0x48, 0x48 ,0x48, 0xE8, 0x4C, 0x8,0x0 ,0x0, 0x80, 0x40, 0x37,
        0x4 ,0x14, 0x64 ,0x4 ,0x14 ,0x24 ,0x64 ,0x4 ,0x17, 0x20, 0xC0 ,0x0, 0x0
};

char code Hz_quan[]=
{
0x80, 0x80 ,0x40, 0x20, 0x50, 0x48 ,0x44 ,0xC3 ,0x44,0x68, 0x50, 0x20, 0x40, 0xC0, 0x40, 0x0, 0x0, 0x40,
        0x40,0x40,0x44 ,0x44, 0x44 ,0x7F ,0x44, 0x46,0x44 ,0x40 ,0x60, 0x40, 0x0, 0x0
};

char code Hz_shi[]=
{
0x0 ,0x0 ,0x0 ,0x0, 0x7F ,0x49 ,0x49, 0x49, 0x49,0x49, 0x7F, 0x0, 0x0,0x80 ,0x0, 0x0, 0x1, 0x81, 0x41 ,0x21 ,
        0x1D ,0x21, 0x41, 0x7F, 0x89 ,0x89 ,0x8D, 0x89, 0x81, 0xC1 ,0x41, 0x0
};

char code Hz_de[]=
{
0x40, 0x20 ,0x10, 0x8C ,0x63 ,0x80, 0xBE ,0xAA, 0xAA ,0xAA ,0xAA, 0xAA, 0xBF ,0x82, 0x0, 0x0, 0x4, 0x2 ,0x1,
        0xFF ,0x4 ,0x4 ,0xC, 0x34, 0x4, 0x44, 0x84 ,0x7F ,0x4 ,0x6, 0x4, 0x0
};

char code Hz_cai[]=
{
0x0 ,0xFE,0x2 ,0xFA ,0x2, 0xFF, 0x12 ,0x10, 0x10, 0x10, 0xD0 ,0xFF, 0x10,0x18, 0x10 ,0x0 ,0x40, 0x27 ,0x18 ,
        0x7 ,0x8 ,0x37 ,0x8 ,0x4 ,0x2 ,0x41 ,0x80, 0x7F, 0x0, 0x0 ,0x0 ,0x0
};

char code Hz_fu[]=
{
0x10, 0xC ,0x4 ,0xD4 ,0x54 ,0x54 ,0x55 ,0x56, 0x54, 0x54 ,0x5C, 0xD4,0x4 ,0x14, 0xC ,0x0 ,0x0, 0x0 ,0xFC, 0x55,
        0x55 ,0x55, 0x55 ,0x7D, 0x55, 0x55 ,0x55, 0x55, 0xFE, 0x4 ,0x0 ,0x0
};

char code Hz_zhi[]=
{
0x80 ,0x40, 0x20, 0xF8, 0x7, 0x4, 0xE4, 0xA4 ,0xA4 ,0xBF, 0xA4, 0xA4, 0xF6, 0x24, 0x0 ,0x0, 0x0, 0x0, 0x0 ,0xFF ,
        0x40 ,0x40, 0x7F, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x7F, 0x40 ,0x40, 0x0
};

char code Hz_tanhao[]=
{
0x0 ,0x0, 0x0 ,0x0, 0x0 ,0x0 ,0x7C ,0xFE ,0xFE, 0x7C, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 ,0x0 ,0x0 ,0x0 ,0x0, 0x0 ,0x0,
        0x10 ,0x3B, 0x3B, 0x10 ,0x0, 0x0 ,0x0 ,0x0, 0x0, 0x0
};


char code Hz_yu[]=
{
0x80, 0x80, 0x40, 0x20, 0x50, 0x48 ,0x44 ,0xC3, 0x44, 0x48 ,0x50, 0x20,0x40, 0xC0 ,0x40, 0x0 ,0x0 ,0x40, 0x22, 0x12 ,
        0x1A, 0x42, 0x82 ,0x7F, 0x2, 0x2, 0xA ,0x13, 0x32 ,0x60 ,0x0, 0x0
};

char code Hz_e[]=
{
0x10, 0x8C, 0x44, 0xB5,0x26 ,0xA4, 0x74, 0xC,0x2, 0xF2 ,0x1A ,0xD6, 0x12, 0xFB, 0x12, 0x0 ,0x10 ,0x8, 0xFC ,0x4A ,
        0x49 ,0x4A, 0x7C ,0x8 ,0x80 ,0x4F, 0x20, 0x1F, 0x20 ,0x4F, 0xC0, 0x0
};

char code Hz_w[]=
{
0x0 ,0x80 ,0x80, 0x80 ,0x0, 0x0 ,0x0 ,0x80 ,0x80, 0x80, 0x0, 0x0, 0x0 ,0x80, 0x80, 0x0, 0x0, 0x0 ,0x1 ,0x7, 0x1E,
        0x38, 0x1C, 0x7, 0x3 ,0xF ,0x3C, 0x38, 0xE ,0x3, 0x0 ,0x0
};


char code Hz_1[]=
{
0x0, 0x0 ,0x0 ,0x0, 0x10, 0x10, 0x10, 0xF0, 0xF8 ,0xF8, 0x0, 0x0 ,0x0, 0x0 ,0x0 ,0x0 ,0x0, 0x0, 0x0 ,0x0 ,0x20 ,
        0x20, 0x20, 0x3F ,0x3F, 0x3F, 0x20, 0x20 ,0x20, 0x0 ,0x0, 0x0
};

char code Hz_8[]=
{
0x0 ,0x0 ,0x60, 0x70 ,0xD8, 0x88, 0x88, 0x88, 0x88 ,0x8, 0x88, 0x88, 0xF0 ,0x70, 0x0 ,0x0 ,0x0, 0x8, 0x1C, 0x1E,
        0x23 ,0x21 ,0x21, 0x21 ,0x21 ,0x21 ,0x23, 0x23 ,0x1E ,0x1C ,0x8 ,0x0
};

char code Hz_3[]=
{
0x0, 0x0 ,0x20, 0x30, 0x38, 0x0 ,0x8 ,0x8, 0x8 ,0x88, 0x88, 0xF8, 0x70 ,0x20, 0x0, 0x0 ,0x0 ,0x0, 0x18, 0x18 ,
        0x38 ,0x20, 0x20, 0x21, 0x21, 0x21, 0x21 ,0x33 ,0x1E ,0x1E, 0x0, 0x0
};

char code Hz_4[]=
{
0x0 ,0x0 ,0x0 ,0x0, 0x0 ,0x80, 0x40 ,0x20 ,0x20 ,0xF0, 0xF8, 0xF8 ,0x0, 0x0, 0x0 ,0x0, 0x0, 0x0 ,0x6, 0x2,
        0x1 ,0x0, 0x0 ,0x20, 0x20 ,0x3F ,0x3F, 0x3F ,0x20 ,0x20 ,0x20, 0x0
};

char code Hz_5[]=
{
0x0, 0x0 ,0x0 ,0xF8, 0xF8, 0x88 ,0x88, 0x88 ,0x88 ,0x88, 0x88, 0x88, 0x8 ,0x8 ,0x0 ,0x0, 0x0, 0x0, 0x18, 0x19,
        0x39 ,0x20 ,0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x1F, 0xF ,0x4 ,0x0
};

char code Hz_6[]=
{
0x0 ,0x0, 0xC0, 0xE0, 0xF0, 0x10,0x88 ,0x88, 0x88 ,0x88 ,0x88 ,0x98 ,0x98, 0x10 ,0x0 ,0x0, 0x0 ,0x0 ,0xF, 0x1F,
        0x1F, 0x31, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21 ,0x1F ,0x1F, 0xE ,0x0
};

char code Hz_7[]=
{
0x0 ,0x0, 0x20, 0x38, 0x18, 0x8 ,0x8, 0x8, 0x8 ,0x88, 0xC8, 0x28 ,0x18, 0x18, 0x8 ,0x0 ,0x0 ,0x0 ,0x0, 0x0, 0x0 ,0x0 ,
        0x3C ,0x3E ,0x3F, 0x1 ,0x0,0x0 ,0x0, 0x0, 0x0, 0x0
};

char code Hz_tu[]=
{
0x0 ,0x0 ,0x0, 0x78, 0x84 ,0x64 ,0xF4 ,0xE8 ,0xE8 ,0xF4,0x64 ,0x84, 0x78, 0x0 ,0x0, 0x0, 0x0, 0x0,
        0x0 ,0x0, 0x0, 0x1 ,0x2, 0x5 ,0x5, 0x2, 0x1 ,0x0 ,0x0 ,0x0 ,0x0, 0x0
};
void LCDdelay(unsigned int t)
{
        unsigned int i,j;
        for(i=0;i<t;i++);
        for(j=0;j<10;j++);
}

void CheckState()               
{
   unsigned char dat,DATA;
   LCDDi=0;
   LCDRW=1;
   do
   {
      DATA=0x00;
      LCDEnable=1;       
          LCDdelay(2);
          dat=DATA;
      LCDEnable=0;
      dat=0x80 & dat;
    }
    while(dat!=0x00);
}

void write_com(unsigned char cmdcode)
{
    CheckState();
        LCDDi=0;
        LCDRW=0;
        P1=cmdcode;               
        LCDdelay(2);
        LCDEnable=1;
        LCDdelay(2);
        LCDEnable=0;
}


void write_data(unsigned char LCDDispdata)
{
    CheckState();
        LCDDi=1;
        LCDRW=0;
        P1=LCDDispdata;
        LCDdelay(2);
        LCDEnable=1;
        LCDdelay(2);
        LCDEnable=0;
}


void Clr_Scr()
{
        unsigned char j,k;
        LCD_CS1=0;
        LCD_CS2=0;
        write_com(Page_Add+0);
        write_com(LCDCol_Add+0);
        for(k=0;k<8;k++)
        {
                write_com(Page_Add+k);
                  for(j=0;j<64;j++)  
                {
                      write_com(LCDCol_Add+j);
                        write_data(0x00);
                }
        }
}


void hz_LCDDisp16(unsigned char page,unsigned char column, unsigned char code *hzk)
{
        unsigned char j=0,i=0;
        for(j=0;j<2;j++)
        {
                write_com(Page_Add+page+j);
                write_com(LCDCol_Add+column);
                for(i=0;i<16;i++)
                        write_data(hzk[16*j+i]);
        }
}


void init_lcd()
{
        LCDdelay(100);       
        LCD_CS1=1;
        LCD_CS2=1;
        LCDdelay(100);
        write_com(LCDLCDDisp_Off);         
        write_com(Page_Add+0);
        write_com(Start_Line+0);
        write_com(LCDCol_Add+0);
        write_com(LCDLCDDisp_On);
}


B8B%E6543S@@R{5]`HV(Q[E.png (62.26 KB, 下载次数: 85)

B8B%E6543S@@R{5]`HV(Q[E.png

2.rar

55.53 KB, 下载次数: 19, 下载积分: 黑币 -5






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1