找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2602|回复: 2
收起左侧

51单片机12864显示汉字源程序

[复制链接]
ID:747099 发表于 2020-10-5 17:22 | 显示全部楼层 |阅读模式
@%MRV9H52UODPI]@(FVX7.png

单片机源程序如下:
#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, 下载次数: 63)
回复

使用道具 举报

ID:830257 发表于 2020-11-24 19:01 | 显示全部楼层
怎么修改字哟
回复

使用道具 举报

ID:867005 发表于 2021-5-6 16:58 | 显示全部楼层

生成字模,然后替换取模函数里的汉字内容
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表