#include <reg52.h>
#include <stdio.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define buslcd P0
/*
sbit _PS=P3^1;
sbit CS1=P3^3;
sbit CS2=P3^4;
sbit C86=P3^5;
sbit A0=P3^6;
sbit RW=P3^7;
sbit E=P2^7;
sbit RES=P3^0;
*/
sbit A0=P3^1;
sbit RW=P3^3;
sbit E=P3^4;
sbit _PS=P3^2;
sbit CS1=P3^5;
sbit CS2=P3^6;
sbit RES=P3^0;
sbit C86=P3^7;
uchar code hz[]={
/* 点阵:16x16
提取点阵方向:纵向
字节掉转:是
字节方式:C语言 */
0x10,0x22,0x64,0x0C,0x80,0x04,0xC4,0x34, // 液
0x05,0xC6,0xBC,0x24,0x24,0xE6,0x04,0x00,
0x04,0x04,0xFE,0x01,0x02,0x01,0xFF,0x42,
0x21,0x16,0x08,0x15,0x23,0x60,0x20,0x00,
0x00,0x00,0x00,0x00,0xFF,0x49,0x49,0x49, // 晶
0x49,0x49,0xFF,0x00,0x00,0x80,0x00,0x00,
0x00,0xFF,0x49,0x49,0x49,0x49,0xFF,0x00,
0xFF,0x49,0x49,0x49,0x49,0xFF,0x01,0x00,
0x10,0x10,0xD0,0xFF,0x94,0x14,0xE4,0xBF, // 模
0xA4,0xA4,0xA4,0xBF,0xF4,0x26,0x04,0x00,
0x04,0x03,0x00,0xFF,0x08,0x89,0x8B,0x4A,
0x2A,0x1E,0x2A,0x2A,0x4B,0xC8,0x48,0x00,
0x20,0x20,0x20,0xFF,0x20,0x20,0x10,0x10, // 块
0xFF,0x10,0x10,0x10,0xF8,0x10,0x00,0x00,
0x08,0x18,0x08,0x0F,0x84,0x46,0x22,0x1A,
0x07,0x0A,0x12,0x22,0x43,0xC2,0x42,0x00,
0x00,0x08,0x08,0x08,0x08,0x08,0x09,0xFE, // 主
0x08,0x08,0x08,0x88,0x0C,0x08,0x00,0x00,
0x40,0x40,0x41,0x41,0x41,0x41,0x41,0x7F,
0x41,0x41,0x41,0x41,0x41,0x60,0x40,0x00,
0x00,0x02,0x7A,0x4A,0x4A,0x7E,0xCA,0x4A, // 要
0x4A,0x7E,0x4A,0x4A,0x7B,0x02,0x00,0x00,
0x02,0x02,0x82,0x82,0x8A,0x56,0x53,0x22,
0x22,0x52,0x4E,0x82,0x02,0x03,0x02,0x00,
0x00,0x00,0xFC,0x04,0x24,0xC4,0x04,0x15, // 应
0x66,0x84,0x04,0x04,0x84,0x76,0x04,0x00,
0x40,0x30,0x0F,0x40,0x40,0x40,0x4F,0x40,
0x40,0x63,0x50,0x4C,0x43,0x60,0x40,0x00,
0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0xFE, // 用
0x22,0x22,0x22,0x22,0xFF,0x02,0x00,0x00,
0x80,0x60,0x1F,0x02,0x02,0x02,0x02,0x7F,
0x02,0x02,0x42,0x82,0x7F,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0x88,0x88,0x88,0x88, // 与
0x88,0x88,0x88,0x88,0xCC,0x88,0x00,0x00,
0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
0x08,0x4C,0x88,0x40,0x3F,0x00,0x00,0x00,
0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48, // 电
0x48,0x48,0x48,0xFC,0x08,0x00,0x00,0x00,
0x00,0x07,0x02,0x02,0x02,0x02,0x3F,0x42,
0x42,0x42,0x42,0x47,0x40,0x70,0x00,0x00,
0x00,0x10,0x10,0x10,0x10,0x10,0xFF,0x10, // 力
0x10,0x10,0x10,0x10,0xF8,0x10,0x00,0x00,
0x00,0x80,0x80,0x80,0x60,0x18,0x07,0x00,
0x20,0x40,0x80,0x40,0x3F,0x00,0x00,0x00,
0x00,0x10,0x88,0xC4,0x23,0x40,0x42,0x42, // 行
0x42,0x42,0x42,0xC2,0x43,0x62,0x40,0x00,
0x02,0x01,0x00,0xFF,0x00,0x00,0x00,0x00,
0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,
0x00,0x10,0x60,0x80,0x00,0xFF,0x00,0x00, // 业
0x00,0xFF,0x00,0x00,0xC0,0x30,0x00,0x00,
0x40,0x40,0x40,0x47,0x40,0x7F,0x40,0x40,
0x40,0x7F,0x44,0x43,0x40,0x60,0x40,0x00,
0x02,0x02,0x02,0xF2,0x12,0x12,0x12,0x12, // 可
0xFA,0x12,0x02,0xFE,0x02,0x03,0x02,0x00,
0x00,0x00,0x00,0x0F,0x04,0x04,0x04,0x04,
0x0F,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,
0x00,0xF0,0x10,0x10,0x10,0x10,0x10,0xFF, // 由
0x10,0x10,0x10,0x10,0x10,0xF8,0x10,0x00,
0x00,0xFF,0x42,0x42,0x42,0x42,0x42,0x7F,
0x42,0x42,0x42,0x42,0x42,0xFF,0x00,0x00,
0x10,0x10,0x10,0xFF,0x90,0x50,0x0C,0x44, // 控
0x24,0x15,0x06,0x14,0x24,0x54,0x0C,0x00,
0x02,0x42,0x81,0x7F,0x00,0x40,0x42,0x42,
0x42,0x42,0x7E,0x42,0x43,0x62,0x40,0x00,
0x40,0x60,0x5E,0x48,0x48,0xFF,0x48,0x4C, // 制
0x68,0x40,0xF8,0x00,0x00,0xFF,0x00,0x00,
0x00,0x00,0x3F,0x01,0x01,0xFF,0x11,0x21,
0x1F,0x00,0x07,0x40,0x80,0x7F,0x00,0x00,
0x80,0x80,0x9F,0x91,0x91,0x91,0x9F,0xE0, // 器
0x9F,0x91,0xB1,0xD1,0x9F,0xC0,0x80,0x00,
0x08,0x08,0xFC,0x8C,0x8A,0x8A,0xF9,0x00,
0xF9,0x8A,0x8A,0x8C,0xFC,0x08,0x08,0x00,
0x10,0x10,0x10,0xFF,0x90,0x50,0x00,0x3F, // 指
0x48,0x48,0x48,0x44,0x46,0xC4,0x70,0x00,
0x02,0x42,0x81,0x7F,0x00,0x00,0x00,0xFF,
0x49,0x49,0x49,0x49,0x49,0xFF,0x01,0x00,
0x80,0x80,0x40,0x20,0x10,0x08,0x14,0x63, // 令
0x04,0x08,0x10,0x20,0x40,0xC0,0x40,0x00,
0x00,0x00,0x00,0x01,0x01,0x09,0x11,0x21,
0xD1,0x09,0x05,0x03,0x00,0x00,0x00,0x00,
0x20,0x21,0xE6,0x00,0x00,0xFE,0x82,0x92, // 调
0x92,0xFE,0x92,0xD2,0x82,0xFF,0x02,0x00,
0x00,0x00,0x3F,0x90,0x48,0x3F,0x00,0x3E,
0x12,0x12,0x12,0x5E,0x80,0x7F,0x00,0x00,
0x04,0x24,0x24,0x24,0x24,0x3F,0xE4,0x24, // 节
0x24,0x3F,0x24,0x24,0xF4,0x26,0x04,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,
0x00,0x04,0x08,0x10,0x0F,0x00,0x00,0x00,
0x08,0x48,0x88,0x08,0xC8,0x38,0x10,0x90, // 对
0x10,0x10,0x10,0xFF,0x10,0x18,0x10,0x00,
0x20,0x10,0x0C,0x03,0x04,0x18,0x00,0x00,
0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,
0x00,0x00,0xFE,0x40,0x40,0x60,0x40,0x00, // 比
0xFF,0x80,0x40,0x20,0x30,0x00,0x00,0x00,
0x00,0x40,0x7F,0x20,0x20,0x10,0x10,0x00,
0x3F,0x40,0x40,0x40,0x40,0x40,0x78,0x00,
0x00,0x00,0xFC,0x24,0x24,0x24,0xFC,0xA5, // 度
0xA6,0xA4,0xFC,0x24,0x34,0x26,0x04,0x00,
0x40,0x20,0x9F,0x80,0x42,0x42,0x26,0x2A,
0x12,0x2A,0x26,0x42,0x40,0xC0,0x40,0x00,
0x20,0x24,0x24,0xA4,0xFC,0x22,0x33,0x22, // 和
0xF0,0x10,0x10,0x10,0x10,0xF8,0x10,0x00,
0x10,0x08,0x06,0x01,0xFF,0x01,0x06,0x00,
0x3F,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,
0x10,0x10,0xD0,0xFF,0x90,0x10,0x00,0xFE, // 相
0x22,0x22,0x22,0x22,0x22,0xFF,0x02,0x00,
0x04,0x03,0x00,0xFF,0x00,0x01,0x00,0xFF,
0x42,0x42,0x42,0x42,0x42,0xFF,0x00,0x00,
0x00,0x10,0x10,0x11,0x12,0x1C,0x10,0xF0, // 关
0x10,0x18,0x14,0x13,0x1A,0x90,0x00,0x00,
0x81,0x81,0x41,0x41,0x21,0x11,0x0D,0x03,
0x0D,0x11,0x21,0x21,0x41,0xC1,0x41,0x00,
0x20,0x20,0x20,0x28,0xA8,0x6C,0x3B,0x28, // 参
0xA8,0x6A,0xAC,0x28,0x20,0x30,0x20,0x00,
0x04,0x84,0x82,0x81,0x4A,0x4A,0x49,0x25,
0x24,0x12,0x10,0x09,0x02,0x06,0x02,0x00,
0x10,0x92,0x54,0x30,0xFF,0x50,0x94,0x32, // 数
0xD8,0x17,0x10,0x10,0xF0,0x18,0x10,0x00,
0x02,0x82,0x4E,0x33,0x22,0x52,0x8E,0x40,
0x23,0x14,0x08,0x16,0x61,0xC0,0x40,0x00,
};
uchar code TAB2[4][32]={
0x10,0x22,0x64,0x0C,0xC0,0x44,0x54,0x54, // 清
0x54,0x7F,0x54,0x54,0xD6,0x44,0x40,0x00,
0x04,0x04,0xFE,0x01,0x00,0x00,0xFF,0x15,
0x15,0x15,0x55,0x95,0x7F,0x01,0x00,0x00,
0x40,0x42,0xCC,0x00,0x20,0x20,0x20,0xA0, // 达
0x7F,0x20,0x20,0x20,0x30,0x20,0x00,0x00,
0x40,0x20,0x1F,0x20,0x50,0x48,0x46,0x41,
0x40,0x41,0x42,0x4C,0x58,0x60,0x20,0x00,
0x40,0x40,0x42,0x44,0x58,0xC0,0x40,0x7F, // 光
0x40,0xC0,0x50,0x48,0x46,0x64,0x40,0x00,
0x00,0x80,0x40,0x20,0x18,0x07,0x00,0x00,
0x00,0x3F,0x40,0x40,0x40,0x40,0x70,0x00,
0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48, // 电
0x48,0x48,0x48,0xFC,0x08,0x00,0x00,0x00,
0x00,0x07,0x02,0x02,0x02,0x02,0x3F,0x42,
0x42,0x42,0x42,0x47,0x40,0x70,0x00,0x00,
};
uchar code TAB1[]={
0x00,0x7F,0x08,0x08,0x08,0x7F,0x00,0x00, /*"h"=28h*/
0x00,0x3E,0x41,0x41,0x49,0x7A,0x00,0x00, /*"G"=27h*/
0x00,0x00,0x42,0x7F,0x40,0x00,0x00,0x00, /*"1"=11h*/
0x00,0x42,0x61,0x51,0x49,0x46,0x00,0x00, /*"2"=12h*/
0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00, /*"8"=18h*/
0x00,0x3C,0x4A,0x49,0x49,0x30,0x00,0x00, /*"6"=16h*/
0x00,0x18,0x14,0x12,0x7F,0x10,0x00,0x00, /*"4"=14h*/
0x00,0x00,0x42,0x7F,0x40,0x00,0x00,0x00, /*"1"=11h*/
0x00,0x21,0x41,0x45,0x4B,0x31,0x00,0x00, /*"3"=13h*/
};
uchar code TAB[]={ 0xff,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*"0"=10h*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*"1"=11h*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*"2"=12h*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*"3"=13h*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*"4"=14h*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*"5"=15h*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*"6"=16h*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*"7"=17h*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*"8"=18h*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*"9"=19h*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*":"=1Ah*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*";"=1Bh*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*"<"=1Ch*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*"="=1Dh*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*">"=1Eh*/
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xff, /*"?"=1Fh*/
0xff,0x32,0x49,0x79,0x41,0x3E,0x00,0x00, /*"@"=20h*/
0x00,0x7E,0x11,0x11,0x11,0x7E,0x00,0x00, /*"A"=21h*/
0x00,0x41,0x7F,0x49,0x49,0x36,0x00,0x00, /*"B"=22h*/
0x00,0x3E,0x41,0x41,0x41,0x22,0x00,0x00, /*"C"=23h*/
0x00,0x41,0x7F,0x41,0x41,0x3E,0x00,0x00, /*"D"=24h*/
0x00,0x7F,0x49,0x49,0x49,0x49,0x00,0x00, /*"E"=25h*/
0x00,0x7F,0x09,0x09,0x09,0x01,0x00,0x00, /*"F"=26h*/
0x00,0x3E,0x41,0x41,0x49,0x7A,0x00,0x00, /*"G"=27h*/
0x00,0x7F,0x08,0x08,0x08,0x7F,0x00,0x00, /*"h"=28h*/
0x00,0x00,0x41,0x7F,0x41,0x00,0x00,0x00, /*"I"=29h*/
0x00,0x20,0x40,0x41,0x3F,0x01,0x00,0x00, /*"J"=2Ah*/
0x00,0x7F,0x08,0x14,0x22,0x41,0x00,0x00, /*"K"=2Bh*/
0x00,0x7F,0x40,0x40,0x40,0x40,0x00,0x00, /*"L"=2Ch*/
0x00,0x7F,0x02,0x0C,0x02,0x7F,0x00,0x00, /*"M"=2Dh*/
0x00,0x7F,0x06,0x08,0x30,0x7F,0x00,0x00, /*"N"=2Eh*/
0x00,0x3E,0x41,0x41,0x41,0x3E,0x00,0xff, /*"O"=2Fh*/
0xff,0x7F,0x09,0x09,0x09,0x06,0x00,0x00, /*"P"=30h*/
0x00,0x3E,0x41,0x51,0x21,0x5E,0x00,0x00, /*"Q"=31h*/
0x00,0x7F,0x09,0x19,0x29,0x46,0x00,0x00, /*"R"=32h*/
0x00,0x26,0x49,0x49,0x49,0x32,0x00,0x00, /*"S"=33h*/
0x00,0x01,0x01,0x7F,0x01,0x01,0x00,0x00, /*"T"=34h*/
0x00,0x3F,0x40,0x40,0x40,0x3F,0x00,0x00, /*"U"=35h*/
0x00,0x1F,0x20,0x40,0x20,0x1F,0x00,0x00, /*"V"=36h*/
0x00,0x7F,0x20,0x18,0x20,0x7F,0x00,0x00, /*"W"=37h*/
0x00,0x63,0x14,0x08,0x14,0x63,0x00,0x00, /*"X"=38h*/
0x00,0x07,0x08,0x70,0x08,0x07,0x00,0x00, /*"Y"=39h*/
0x00,0x61,0x51,0x49,0x45,0x43,0x00,0x00, /*"Z"=3Ah*/
0x00,0x00,0x7F,0x41,0x41,0x00,0x00,0x00, /*"["=3Bh*/
0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00, /*"\"=3Ch*/
0x00,0x00,0x41,0x41,0x7F,0x00,0x00,0x00, /*"]"=3Dh*/
0x00,0x04,0x02,0x01,0x02,0x04,0x00,0x00, /*"^"=3Eh*/
0x00,0x40,0x40,0x40,0x40,0x40,0x00,0xff, /*"_"=3Fh*/
0xff,0x01,0x02,0x04,0x00,0x00,0x00,0x00, /*"`"=40h*/
0x00,0x20,0x54,0x54,0x54,0x78,0x00,0x00, /*"a"=41h*/
0x00,0x7F,0x48,0x44,0x44,0x38,0x00,0x00, /*"b"=42h*/
0x00,0x38,0x44,0x44,0x44,0x28,0x00,0x00, /*"c"=43h*/
0x00,0x38,0x44,0x44,0x48,0x7F,0x00,0x00, /*"d"=44h*/
0x00,0x38,0x54,0x54,0x54,0x18,0x00,0x00, /*"e"=45h*/
0x00,0x00,0x08,0x7E,0x09,0x02,0x00,0x00, /*"f"=46h*/
0x00,0x0C,0x52,0x52,0x4C,0x3E,0x00,0x00, /*"g"=47h*/
0x00,0x7F,0x08,0x04,0x04,0x78,0x00,0x00, /*"h"=48h*/
0x00,0x00,0x44,0x7D,0x40,0x00,0x00,0x00, /*"i"=49h*/
0x00,0x20,0x40,0x44,0x3D,0x00,0x00,0x00, /*"j"=4Ah*/
0x00,0x00,0x7F,0x10,0x28,0x44,0x00,0x00, /*"k"=4Bh*/
0x00,0x00,0x41,0x7F,0x40,0x00,0x00,0x00, /*"l"=4Ch*/
0x00,0x7C,0x04,0x78,0x04,0x78,0x00,0x00, /*"m"=4Dh*/
0x00,0x7C,0x08,0x04,0x04,0x78,0x00,0x00, /*"n"=4Eh*/
0x00,0x38,0x44,0x44,0x44,0x38,0x00,0xff, /*"o'=4Fh*/
0xff,0x7E,0x0C,0x12,0x12,0x0C,0x00,0x00, /*"p"=50h*/
0x00,0x0C,0x12,0x12,0x0C,0x7E,0x00,0x00, /*"q"=51h*/
0x00,0x7C,0x08,0x04,0x04,0x08,0x00,0x00, /*"r"=52h*/
0x00,0x58,0x54,0x54,0x54,0x64,0x00,0x00, /*"s"=53h*/
0x00,0x04,0x3F,0x44,0x40,0x20,0x00,0x00, /*"t"=54h*/
0x00,0x3C,0x40,0x40,0x3C,0x40,0x00,0x00, /*"u"=55h*/
0x00,0x1C,0x20,0x40,0x20,0x1C,0x00,0x00, /*"v"=56h*/
0x00,0x3C,0x40,0x30,0x40,0x3C,0x00,0x00, /*"w"=57h*/
0x00,0x44,0x28,0x10,0x28,0x44,0x00,0x00, /*"x"=58h*/
0x00,0x1C,0xA0,0xA0,0x90,0x7C,0x00,0x00, /*"y"=59h*/
0x00,0x44,0x64,0x54,0x4C,0x44,0x00,0x00, /*"z"=5Ah*/
0x00,0x00,0x08,0x36,0x41,0x00,0x00,0x00, /*"{"=5Bh*/
0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x00, /*"|"=5Ch*/
0x00,0x00,0x41,0x36,0x08,0x00,0x00,0x00, /*"}"=5Dh*/
0x00,0x02,0x01,0x02,0x04,0x02,0x00,0x00, /*"~"=5Fh*/
0x00,0x3C,0x40,0x30,0x40,0x3C,0x00,0xff, /*"w"=57h*/
0xff,0x44,0x28,0x10,0x28,0x44,0x00,0x00, /*"x"=58h*/
0x00,0x1C,0xA0,0xA0,0x90,0x7C,0x00,0x00, /*"y"=59h*/
0x00,0x44,0x64,0x54,0x4C,0x44,0x00,0x00, /*"z"=5Ah*/
0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00, /*"8"=18h*/
0x00,0x06,0x49,0x49,0x29,0x1E,0x00,0x00, /*"9"=19h*/
0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00, /*":"=1Ah*/
0x00,0x00,0x56,0x36,0x00,0x00,0x00,0x00, /*";"=1Bh*/
0x00,0x08,0x14,0x22,0x41,0x00,0x00,0x00, /*"<"=1Ch*/
0x00,0x14,0x14,0x14,0x14,0x14,0x00,0x00, /*"="=1Dh*/
0x00,0x00,0x41,0x22,0x14,0x08,0x00,0x00, /*">"=1Eh*/
0x00,0x02,0x01,0x51,0x09,0x06,0x00,0x00, /*"?"=1Fh*/
0x00,0x32,0x49,0x79,0x41,0x3E,0x00,0x00, /*"@"=20h*/
0x00,0x7E,0x11,0x11,0x11,0x7E,0x00,0x00, /*"A"=21h*/
0x00,0x41,0x7F,0x49,0x49,0x36,0x00,0x00, /*"B"=22h*/
0x00,0x3E,0x41,0x41,0x41,0x22,0x00,0x00, /*"C"=23h*/
0x00,0x41,0x7F,0x41,0x41,0x3E,0x00,0xff, /*"D"=24h*/
0xff,0x01,0x01,0x79,0x05,0x03,0x00,0x00, /*"7"=17h*/
0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00, /*"8"=18h*/
0x00,0x06,0x49,0x49,0x29,0x1E,0x00,0x00, /*"9"=19h*/
0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00, /*":"=1Ah*/
0x00,0x00,0x56,0x36,0x00,0x00,0x00,0x00, /*";"=1Bh*/
0x00,0x08,0x14,0x22,0x41,0x00,0x00,0x00, /*"<"=1Ch*/
0x00,0x14,0x14,0x14,0x14,0x14,0x00,0x00, /*"="=1Dh*/
0x00,0x00,0x41,0x22,0x14,0x08,0x00,0x00, /*">"=1Eh*/
0x00,0x02,0x01,0x51,0x09,0x06,0x00,0x00, /*"?"=1Fh*/
0x00,0x32,0x49,0x79,0x41,0x3E,0x00,0x00, /*"@"=20h*/
0x00,0x7E,0x11,0x11,0x11,0x7E,0x00,0x00, /*"A"=21h*/
0x00,0x41,0x7F,0x49,0x49,0x36,0x00,0x00, /*"B"=22h*/
0x00,0x3E,0x41,0x41,0x41,0x22,0x00,0x00, /*"C"=23h*/
0x00,0x41,0x7F,0x41,0x41,0x3E,0x00,0x00, /*"D"=24h*/
0x00,0x7F,0x49,0x49,0x49,0x49,0x00,0x00, /*"E"=25h*/
0x00,0x7F,0x49,0x49,0x49,0x49,0x00,0xff,
0xff,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*"2"=12h*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*"3"=13h*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*"4"=14h*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*"5"=15h*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*"6"=16h*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*"7"=17h*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*"8"=18h*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*"9"=19h*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*":"=1Ah*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*";"=1Bh*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*"<"=1Ch*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*"="=1Dh*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, /*">"=1Eh*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xff, }; /*"?"=1Fh*/
/*************************************
延时
****************************************/
void Delay(uint t)
{uint i,j;
for(i=0;i<t;i++)
for(j=0;j<205;j++)
_nop_();_nop_();_nop_();_nop_();
}
/*************************************
忙
****************************************/
void Busy()
{
CS1=0;
CS2=1;
A0=0;
RW=1;
buslcd=0xff;
E=1;
_nop_();
while(buslcd&0x80);
E=0;
_nop_();
}
/*************************************
写入指令
****************************************/
void Writecom(uchar wcom)
{
Busy();
buslcd=wcom;
A0=0;
RW=0;
E=1;
_nop_();
E=0;
_nop_();}
/*************************************
数据写入
****************************************/
void Writedata(uchar wdata)
{
Busy();
buslcd=wdata;
A0=1;
RW=0;
E=1;
_nop_();
E=0;
_nop_();}
/*************************************
数据读入
****************************************/
void readdata(uchar rdata)
{
Busy();
buslcd=rdata;
A0=1;
RW=1;
E=1;
_nop_();
E=0;
_nop_();
}
/*************************************
清除
****************************************/
void Clear(uchar m)
{uchar i,j;
for(i=0;i<9;i++)
{Writecom(0xb0+i);Writecom(0x00);Writecom(0x10);//startpage(i) startcolumn(0);///页第倚谢
for(j=0;j<128;j++)
{Writedata(m);}}
}
/*************************************
初始化
****************************************/
void INT()
{
RES=0;
_nop_();_nop_();
RES=1;
RES=1;
Writecom(0xe2);/////////复位设置
Writecom(0xa2);//////////偏压值比1/9
Writecom(0xa0);///////ADC的方向为正向
Writecom(0xc0);/////////com的输出方向为正
Writecom(0xa6);/////////////lcd显示为正
Writecom(0x81);////////////对比度调节
Writecom(0x10);/////////////对比度为中
Writecom(0x2f);//////////////内部电源操作均开
Writecom(0xf8);//////////////驱动电阻率设置
Writecom(0x01);////////////////陪数为2-4
Clear(0x00);
Writecom(0xaf);////////////开显示
}
/*************************************
起始行
****************************************/
void startline(uchar line)
{
line=line&0x3f;///定义低5位
line=line|0x40;///行或
Writecom(line);
}
/*************************************
起始页
****************************************/
void startpage(uchar page)
{
page=page&0x0f;///定义低4位
page=page|0xb0;///页
Writecom(page);
}
/*************************************
起始列
****************************************/
void startcolumn(uchar column)
{
uchar temp;
temp=column;
column=column&0x0f;///定义A3-A0;
column=column|0x00;
Writecom(column);
temp=temp>>4;
//column=temp/16;////////////////16
column=temp&0x0f;///定义A7-A4;
column=column|0x10;
Writecom(column);
}
/*************************************
个点
****************************************/
void reset(uchar m)
{uchar t;
uchar i,j;
t=~m;
for(i=0;i<9;i++)
{Writecom(0xb0+i);Writecom(0x00);Writecom(0x10);//startpage(i) startcolumn(0);///页第倚谢
for(j=0;j<128;j++)
{Writedata(m);Writedata(t);}}
}
/*************************************
写入内容 一副图
****************************************/
void map(uchar page,uchar column)
{
uchar *s;
uchar i,j;
s=TAB;
for(i=0;i<8;i++)
{
startpage(page+i);
startcolumn(column);
for(j=0;j<128;j++)
{Writedata(s[i*128+j]);}}
}
/*************************************
写人数字
****************************************/
void display_8(uchar page,uchar column,uchar coder,uchar f)//定义宽度
{
uchar i,j;
startpage(page);
startcolumn(column);
for(j=0;j<8;j++)
{
if(f==1)
{Writedata(TAB1[8*coder+j]);}
else
{Writedata(~TAB1[8*coder+j]);}
} }
/*************************************
写 入一串数字
****************************************/
void display_88(uchar x,uchar y,uchar n,uchar m,uchar f)
{
uchar i;
for(i=n;i<m;i++)
{display_8(y,x,i,f);x=x+12;}
}
/*************************************
写 入汉字
****************************************/
void displayhz(uchar x,uchar y,uchar coder)
{
uint j,i;
i=0;
loop:
startpage(y);
startcolumn(x);
for(j=i;j<i+16;j++)
Writedata(TAB2[coder][j]);
if(i==0)
{
i=16;
y++;
if(y==8)
return;
else goto loop;}
}
/*************************************
写入一个汉字
****************************************/
void display_hz(uchar x,uchar y,uchar *hz,uchar coder,uchar f)
{
uchar i,j;
uchar y1,x1;
uchar *p;
x1=x;y1=y;
p=coder*32+hz;
for(i=0;i<16;i++)
{
startpage(y);
startcolumn(x);
if(f==1)
{Writedata(*p);}
else
{Writedata(~*p);}
p++;x++;
}
y=y1+1;x=x1;
for(j=0;j<16;j++)
{
startpage(y);
startcolumn(x);
if(f==1)
{Writedata(*p);}
else
{Writedata(~*p);}
p++;x++;
}
}
/*****************************************
写一串汉字
****************************************/
void display1616(uchar x,uchar y,uchar *hz,uchar n,uchar m,uchar f)
{
uchar i;
for(i=n;i<m;i++)
{display_hz(x,y,hz,i,f);x=x+16;Delay(100);}
}
/*************************************
主函数
****************************************/
void main()
{
uchar i;
_nop_();
C86=1;
_PS=1;
_nop_();
INT();
while(1)
{
//Delay(300);
//Clear(0xff);
//Delay(600);
//Clear(0x55);
//Delay(600);
//Clear(0xaa);
/////////////////////
//Delay(600);
//reset(0x00);
//Delay(600);
//reset(0xff);
/////////////////
//Delay(600);
//reset(0xaa);
//Delay(600);
//reset(0x55);
//Delay(600);
//Clear(0x00);
/////////////////////
display_88(12,0,0,9,1);
displayhz(20,2,0);displayhz(40,2,1);displayhz(60,2,2);displayhz(80,2,3);
display_88(12,5,0,9,0);
Delay(800);
for(i=0;i<65;i++)
{
startline(i);Delay(60);}; Delay(800);
Clear(0x00);
display1616(0,0,hz,0,8,1);
display1616(0,2,hz,8,16,0);
display1616(0,4,hz,16,24,1);
display1616(0,6,hz,24,30,0);
Delay(800);
map(0,0);
Delay(800);
Clear(0x00);
////////////////////
//while(1){};
}
}