西安交通大学电子系统实践与设计报告
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x42,0xCC,0x04,0x00,0xFC,0x56,0x55,0xFC,0x50,0x90,0x10,0xFF,0x10,0x10,0x00,
0x00,0x00,0x3F,0x50,0x29,0x11,0x4D,0x83,0x7F,0x00,0x41,0x80,0x7F,0x00,0x00,0x00};
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~超出使用范围~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
unsigned char code shii[]= {/*-- 文字: 使 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x20,0xF0,0x1C,0x07,0xF2,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0xF4,0x04,0x00,
0x00,0x00,0x7F,0x00,0x40,0x41,0x22,0x14,0x0C,0x13,0x10,0x30,0x20,0x61,0x20,0x00};
unsigned char code yong[]= {/*-- 文字: 用 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0xFE,0x00,0x00,
0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x42,0x82,0x7F,0x00,0x00};
unsigned char code chao[]= {/*-- 文字: 超 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x40,0x48,0x48,0x48,0xFF,0x48,0x48,0x82,0xC2,0xBE,0x82,0xA2,0xC2,0xBE,0x00,0x00,
0x60,0x1F,0x20,0x40,0x7F,0x42,0x42,0x40,0x5F,0x48,0x48,0x48,0x48,0x5F,0x40,0x00};
unsigned char code chu[]= {/*-- 文字: 出 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0xFC,0x40,0x40,0x40,0x40,0xFF,0x40,0x40,0x40,0x40,0x40,0xFC,0x00,0x00,
0x00,0x00,0x7E,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x7E,0x00,0x00};
unsigned char code fan[]= {/*-- 文字: 范 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x44,0x94,0xA4,0x64,0x04,0x0F,0x04,0xE4,0x24,0x2C,0x2F,0x24,0xE4,0x04,0x04,0x00,
0x08,0x09,0xF8,0x04,0x03,0x00,0x00,0x3F,0x40,0x40,0x42,0x46,0x43,0x70,0x00,0x00};
unsigned char code wei[]= {/*-- 文字: 围 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0xFF,0x01,0x89,0xA9,0xA9,0xFF,0xA9,0xA9,0xA9,0xA9,0x09,0x01,0xFF,0x00,0x00,
0x00,0xFF,0x40,0x40,0x40,0x40,0x5F,0x40,0x48,0x50,0x4F,0x40,0x40,0xFF,0x00,0x00};
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~FRE~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ unsigned char code F[]= {
/*-- 文字: F --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00 };
unsigned char code R[]= {
西安交通大学电子系统实践与设计报告
/*-- 文字: R --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20 };
unsigned char code E[]= {
/*-- 文字: E --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00 };
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~HZ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ unsigned char code H[]= {
/*-- 文字: H --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20 };
unsigned char code z[]= {
/*-- 文字: z --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00 };
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~NO
SIGNAL~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ unsigned char code N[]= { /*-- 文字: N --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,
0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00 };
unsigned char code O[]= {
/*-- 文字: O --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,
0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00 };
unsigned char code S[]= {
/*-- 文字: S --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,
0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00 };
unsigned char code I[]= {
/*-- 文字: I --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,
0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00 };
unsigned char code G[]= {
/*-- 文字: G --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0xC0,0x30,0x08,0x08,0x08,0x38,0x00,
西安交通大学电子系统实践与设计报告
0x00,
0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00 };
unsigned char code A[]= {
/*-- 文字: A --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,
0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20 };
unsigned char code L[]= {
/*-- 文字: L --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,
0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00 };
unsigned char code tanhao[]= {
/*-- 文字: ! --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00 };
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~NO
WORKING~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
unsigned char code W[]={ /*-- 文字: W --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00 };
unsigned char code K[]={ /*-- 文字: K --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00 };
unsigned char code Dii[]={ /*-- 文字: . --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00 };
unsigned char code ling[16]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
unsigned char code qing[]={ /*-- 文字: 请 --*/
/*-- 楷体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x80,0x80,0x80,0xC4,0xCC,0xC8,0x88,0xB0,0xF2,0xFE,0x7E,0x78,0x78,0x40,0x40,0x00,
0x00,0x00,0x10,0x3F,0x3F,0x18,0x0C,0x7F,0x7F,0x6F,0x6B,0x7F,0x7F,0x00,0x00,0x00 };
unsigned char code anl[]={ /*-- 文字: 按 --*/
/*-- 楷体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x40,0x40,0x44,0xFC,0xFC,0xE0,
西安交通大学电子系统实践与设计报告
0xE0,0xE4,0xEC,0xAC,0x38,0x30,0x30,0x20,0x00,
0x08,0x0C,0x1E,0x77,0x7F,0x7F,0x42,0x66,0x3F,0x3F,0x1F,0x1F,0x31,0x31,0x03,0x00 };
unsigned char code jian[]={ /*-- 文字: 键 --*/
/*-- 楷体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x80,0xE0,0xFC,0xBC,0xA4,0xE0,0xE0,0x60,0xFC,0xFC,0xFC,0xF0,0xF0,0x20,0x00,
0x02,0x07,0x27,0x3F,0x3F,0x7A,0x7B,0x1F,0x3F,0x3F,0x7F,0x7F,0x67,0x46,0x40,0x00 };
unsigned char code di[]={
/*-- 文字: ? --*/
/*-- 楷体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,
0x00,0x03,0x03,0x03,0x01,0x00,0x03,0x03,0x03,0x01,0x00,0x01,0x03,0x03,0x03,0x00 };
unsigned char code zheng[]={ /*-- 文字: 正 --*/
/*-- 楷体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x00,0x80,0x90,0x90,0x10,0xF0,0xF8,0xE8,0x88,0x88,0x88,0x00,0x00,0x00,
0x20,0x20,0x20,0x20,0x3F,0x1F,0x10,0x1F,0x1F,0x1F,0x11,0x10,0x10,0x10,0x10,0x00 };
unsigned char code zai[]={ /*-- 文字: 在 --*/
/*-- 楷体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x00,0xA0,0xA0,0xE0,0xF8,0x3E,0xDE,0xD0,0xD0,0x10,0x10,0x00,0x00,0x00,
0x10,0x18,0x0C,0x26,0x7F,0x7F,0x22,0x32,0x3F,0x1F,0x1F,0x13,0x13,0x12,0x10,0x00 };
unsigned char code fu[]={ /*-- 文字: 复 --*/
/*-- 楷体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x00,0x30,0x38,0xFE,0xFE,0xEE,0x68,0xF8,0xF8,0x68,0x08,0x00,0x00,0x00,
0x00,0x00,0x20,0x70,0x5C,0x4F,0x6F,0x7F,0x3D,0x3D,0x6D,0x64,0x40,0x40,0x40,0x00 };
unsigned char code weil[]={ /*-- 文字: 位 --*/
/*-- 楷体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x00,0x80,0xF0,0xFC,0x1C,0x88,0x88,0xC8,0x48,0x48,0x40,0x40,0x00,0x00,0x00,
0x06,0x07,0x03,0x7F,0x7F,0x20,0x22,0x36,0x16,0x1C,0x1F,0x13,0x11,0x10,0x10,0x10 };
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~液晶显示~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
void delay(unsigned int count) //延时函数, 例count=10,则大概延时10ms. {
unsigned int i; while(count--) {
for(i=0;i<125;i++){}
西安交通大学电子系统实践与设计报告
} }
void sendcom(unsigned char cmd ,int i)//向lcd写指令 {
if(i==1) { cs1=1; delay(1);
lcdcom=cmd;} else{
cs2=0; delay(1);
lcdcom=cmd;} }
void senddat(unsigned char dat,int i)//向lcd写数据 {
if(i==1) {
cs1=1; delay(1); lcddat=dat; }
else{ cs2=0; delay(1); lcddat=dat; } }
void clear_lcd()//lcd清屏 {
unsigned char j=0,i=0; while(j<8) {
sendcom(0xb8+j,1);//设置x的地址000B+j
sendcom(0x40,1);//设置y的地址0000000B
for(i=0;i<64;i++) { senddat(0,1); } j++; } j=0;
while(j<8) { sendcom(0xb8+j,2); sendcom(0x40,2); for(i=0;i<64;i++) { senddat(0,2); } j++; } }
void init_lcd()//lcd初始化 {
char k; delay(1);
for(k=1;k<=2;k++) { sendcom(0x3f,k);//set display on sendcom(0xB8,k);//设置x的地址000B(共8个选择) sendcom(0xC0,k);//设置Display start line为0(共64line) sendcom(0x40,k);//设置y的地址0000000B(64列/页) } }
void lcdhanzi(unsigned char page,unsigned char lie,unsigned char code *word, int cs)//汉字显示 {
int i,j; for(i=0;i<2;i++) {
delay(1); sendcom(0xB8+page+i,cs);//x每加1,液晶上加8横行 delay(1); sendcom(0x40+lie,cs);