標(biāo)題: 51單片機(jī)12864顯示漢字源程序 [打印本頁(yè)]

作者: 孫文超    時(shí)間: 2020-10-5 17:22
標(biāo)題: 51單片機(jī)12864顯示漢字源程序


單片機(jī)源程序如下:
#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 ;     



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_zhen[]=
{
0x0 ,0x4, 0x4, 0xF4, 0x54 ,0x54, 0x54, 0x5F ,0x54 ,0x54 ,0x54, 0xFC, 0x16 ,0x4, 0x0, 0x0, 0x10 ,0x10 ,
        0x90 ,0x5F, 0x35 ,0x15, 0x15, 0x15 ,0x15 ,0x15, 0x35 ,0x5F, 0xD0, 0x18, 0x10, 0x0
};

char code Hz_shuai[]=
{
0x0 ,0xFC ,0x0, 0x0, 0xFF, 0x0 ,0x0, 0xF8 ,0x8, 0x8, 0xFF, 0x8, 0x8, 0xFC ,0x8, 0x0, 0x0 ,0x87, 0x40,
        0x30 ,0xF, 0x0, 0x0, 0x3F ,0x0 ,0x0 ,0xFF, 0x10 ,0x20, 0x1F, 0x0 ,0x0
};


char code Hz_te[]=
{
0x20 ,0x1C ,0x10 ,0xFF, 0x90, 0x50, 0x48, 0x48, 0x48, 0x7F ,0x48 ,0xC8, 0x4C, 0x68, 0x40, 0x0, 0x2,
        0x2 ,0x1, 0xFF, 0x0, 0x2 ,0x2 ,0x6 ,0x1A ,0x42, 0x82 ,0x7F, 0x2 ,0x3 ,0x2 ,0x0
};



char code Hz_mo[]=
{
0x0 ,0x4 ,0x4, 0xE4 ,0xA4 ,0xBF, 0xA4 ,0xA4, 0xA4, 0xBF, 0xA4 ,0xF4, 0x26 ,0x4 ,0x0 ,0x0 ,0x8 ,
        0x88 ,0x88 ,0x8B, 0x4A ,0x4A ,0x2A ,0x1E, 0x2A, 0x4A, 0x4A, 0x8B ,0x88, 0x8C, 0x8, 0x0
};

char code Hz_a[]=
{
0xFC ,0x4 ,0xFE ,0x4, 0xFE ,0x42, 0xB2 ,0xE, 0x0, 0xE2 ,0x22 ,0xF2, 0x22, 0xFF, 0x2, 0x0 ,0xF ,
        0x4 ,0xF ,0x0 ,0xFF ,0x8 ,0x11 ,0xE,0x0, 0xF, 0x4 ,0x4F, 0x80 ,0xFF ,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);
}

全部資料51hei下載地址:
1.rar (446.7 KB, 下載次數(shù): 63)

作者: 123yqs    時(shí)間: 2020-11-24 19:01
怎么修改字喲
作者: 染沫冉    時(shí)間: 2021-5-6 16:58
123yqs 發(fā)表于 2020-11-24 19:01
怎么修改字喲

生成字模,然后替換取模函數(shù)里的漢字內(nèi)容




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1