#define uchar unsigned char
/*定义全局变量LINE,CLMN*/
uchar LINE, CLMN; /*LINE当前显示页,CLMN当前显示列*/
bit AREA; /*控制区域,AREA =0,E1控制区;AREA =1,E2控制区*/
/*说明使用到的外部变量*/
extern uchar COM, DAT, NDIG;
extern char xdata BUFFER[];
/*定义西文字库*/
uchar code CTAB[0x61][0x08]=
{
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* " "=00H */
{0x00,0x00,0x00,0x4F,0x00,0x00,0x00,0x00}, /* "!"=01H */
{0x00,0x00,0x07,0x00,0x07,0x00,0x00,0x00}, /* """=02H */
{0x00,0x14,0x7F,0x14,0x7F,0x14,0x00,0x00}, /* "#"=03H */
{0x00,0x24,0x2A,0x7F,0x2A,0x12,0x00,0x00}, /* "$"=04H */
{0x00,0x23,0x13,0x08,0x64,0x62,0x00,0x00}, /* "%"=05H */
{0x00,0x36,0x49,0x55,0x22,0x50,0x00,0x00}, /* "&"=06H */
{0x00,0x00,0x05,0x03,0x00,0x00,0x00,0x00}, /* "'"=07H */
{0x00,0x00,0x1C,0x22,0x41,0x00,0x00,0x00}, /* "("=08H */
{0x00,0x00,0x41,0x22,0x1C,0x00,0x00,0x00}, /* ")"=09H */
{0x00,0x14,0x08,0x3E,0x08,0x14,0x00,0x00}, /* "*"=0AH */
{0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00}, /* "+"=0BH */
{0x00,0x00,0x50,0x30,0x00,0x00,0x00,0x00}, /* ";"=0CH */
{0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00}, /* "-"=0DH */
{0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00}, /* "."=0EH */
{0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00}, /* "/"=0FH */
{0x00,0x3E,0x51,0x49,0x45,0x3E,0x00,0x00}, /* "0"=10H */
{0x00,0x00,0x42,0x7F,0x40,0x00,0x00,0x00}, /* "1"=11H */
{0x00,0x42,0x61,0x51,0x49,0x46,0x00,0x00}, /* "2"=12H */
{0x00,0x21,0x41,0x45,0x4B,0x31,0x00,0x00}, /* "3"=13H */
{0x00,0x18,0x14,0x12,0x7F,0x10,0x00,0x00}, /* "4"=14H */
{0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00}, /* "5"=15H */
{0x00,0x3C,0x4A,0x49,0x49,0x30,0x00,0x00}, /* "6"=16H */
{0x00,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,0x7E,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,0x00}, /* "O"=2FH */
{0x00,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,0x00}, /* "_"=3FH */
{0x00,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}, /* "g"=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,0x00}, /* "o"=4FH */
{0x00,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}, /* "~"=5EH */
{0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00},/* " "=5FH */
};
/*说明使用到的外部函数*/
void CWE1(void); /*实现控制器E1控制指令的传递*/
void CWE2(void); /* 实现控制器E2控制指令的传递*/
void DWE1(void); /*实现控制器E1控制数据的传递*/
void DWE2(void); /*实现控制器E2控制数据的传递*/
/* locate(uchar page,column)函数,指定字符串首字符的显示位置*/
void locate(uchar page,column)
{
page=page+column/120;
LINE=page%4;
COM=LINE|0xb8;
CWE1();
CWE2();
column=column%120;
CLMN=column;
if (column>=60)
{
AREA=