#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);
}
|