Driver For ST7565P LCD
研究了一下 ST7565P 液晶显示芯片,现把研究心得贴出来,希望对有需求的朋友有所帮助!
该芯片支持,并口和串口两种方式,并口方式又分为6800时序和8080时序。
本程序实现8080时序并口方式。
显示的时候,需要程序自己提供字模数据。
1页为8行象素。
具体的硬件连接,参看原代码。
原代码:
-----
 1 #ifndef _LCM_ST7565P_H
#ifndef _LCM_ST7565P_H
2 #define _LCM_ST7565P_H
#define _LCM_ST7565P_H
3
4
5 #include <iom8v.h>
#include <iom8v.h>
6 #include <macros.h>
#include <macros.h>
7
8 /***********************************************************************
/***********************************************************************
9 CPU  = ATmega8L
CPU  = ATmega8L
10 晶振 = 4MHz
晶振 = 4MHz
11
12 8080时序连接
8080时序连接
13 -----------
-----------
14 PORTC_5    - CS1
PORTC_5    - CS1
15 PORTC_0    - BL_K
PORTC_0    - BL_K
16
17 PORTD_7 - _RD_E
PORTD_7 - _RD_E
18 PORTD_6 - _WR_RW
PORTD_6 - _WR_RW
19 PORTD_5 - A0
PORTD_5 - A0
20 PORTD_4 - RES
PORTD_4 - RES
21
22 PORTB   - DB
PORTB   - DB
23 ************************************************************************/
************************************************************************/
24
25 // Type define
// Type define
26 typedef unsigned char BYTE;
typedef unsigned char BYTE;
27 typedef unsigned int UINT;
typedef unsigned int UINT;
28 typedef unsigned char BOOL;
typedef unsigned char BOOL;
29
30 #define TRUE    0x01
#define TRUE    0x01
31 #define FALSE    0x00
#define FALSE    0x00
32
33 // Macros define
// Macros define
34 #define DB_PORT            (PORTB)
#define DB_PORT            (PORTB)
35 #define DB_PIN            (PINB)
#define DB_PIN            (PINB)
36 #define DB_SET_OUT        (DDRB = 0xFF)
#define DB_SET_OUT        (DDRB = 0xFF)
37 #define DB_SET_IN        (DDRB = 0x00)
#define DB_SET_IN        (DDRB = 0x00)
38 #define A0_SET            (PORTD |= (1 << 5))    // Data
#define A0_SET            (PORTD |= (1 << 5))    // Data
39 #define A0_CLR            (PORTD &= ~(1 << 5))    // Command
#define A0_CLR            (PORTD &= ~(1 << 5))    // Command
40 #define _WR_RW_SET        (PORTD |= (1 << 6))    // Read Enable
#define _WR_RW_SET        (PORTD |= (1 << 6))    // Read Enable
41 #define _WR_RW_CLR        (PORTD &= ~(1 << 6))    // Write Enable
#define _WR_RW_CLR        (PORTD &= ~(1 << 6))    // Write Enable
42 #define _RD_E_SET        (PORTD |= (1 << 7))
#define _RD_E_SET        (PORTD |= (1 << 7))
43 #define _RD_E_CLR        (PORTD &= ~(1 << 7))
#define _RD_E_CLR        (PORTD &= ~(1 << 7))
44 #define CS1_SET            (PORTC |= (1 << 5))
#define CS1_SET            (PORTC |= (1 << 5))
45 #define CS1_CLR            (PORTC &= ~(1 << 5))
#define CS1_CLR            (PORTC &= ~(1 << 5))
46 #define RESET_SET_OUT    (DDRD |= (1 << 4))
#define RESET_SET_OUT    (DDRD |= (1 << 4))
47 #define RESET_SET        (PORTD |= (1 << 4))
#define RESET_SET        (PORTD |= (1 << 4))
48 #define RESET_CLR        (PORTD &= ~(1 << 4))
#define RESET_CLR        (PORTD &= ~(1 << 4))
49 #define BACK_LIGHT_SET    (PORTC |= (1 << 0))
#define BACK_LIGHT_SET    (PORTC |= (1 << 0))
50 #define BACK_LIGHT_CLR    (PORTC &= (1 << 0))
#define BACK_LIGHT_CLR    (PORTC &= (1 << 0))
51
52 // Commands
// Commands
53 #define CMD_DISPLAY_ON                0xAF
#define CMD_DISPLAY_ON                0xAF
54 #define CMD_POWER_CONTROL_SET        0x2F
#define CMD_POWER_CONTROL_SET        0x2F
55 #define CMD_V0                        0x20
#define CMD_V0                        0x20
56 #define CMD_DISPLAY_ALL_POINTS_ON    0xA5
#define CMD_DISPLAY_ALL_POINTS_ON    0xA5
57 #define CMD_DISPLAY_ALL_POINTS_OFF    0xA4
#define CMD_DISPLAY_ALL_POINTS_OFF    0xA4
58 #define CMD_COM_OUTPUT_MODE_SET        0xC8    // reverse direction
#define CMD_COM_OUTPUT_MODE_SET        0xC8    // reverse direction
59 #define CMD_PAGE                    0xB0
#define CMD_PAGE                    0xB0
60 #define CMD_COLUMN_HI                0x10
#define CMD_COLUMN_HI                0x10
61 #define CMD_COLUMN_LO                0x00
#define CMD_COLUMN_LO                0x00
62
63 // Screen Size 32(rows) * 128(columns)
// Screen Size 32(rows) * 128(columns)
64 #define MAX_PAGES    32/8
#define MAX_PAGES    32/8
65 #define MAX_COLUMN    128
#define MAX_COLUMN    128
66
67 #define Delay_1us() { asm("nop"); asm("nop"); asm("nop"); asm("nop"); }
#define Delay_1us() { asm("nop"); asm("nop"); asm("nop"); asm("nop"); }
68
69 // 内部辅助函式
// 内部辅助函式
70 void CheckBusy(void);
void CheckBusy(void);
71 void WriteCommand(BYTE byCommand);
void WriteCommand(BYTE byCommand);
72 void WriteData(BYTE byData);
void WriteData(BYTE byData);
73
74 // 16 *16, Chinese
// 16 *16, Chinese
75 // 每个汉字占 2 Pages, 16 Columns
// 每个汉字占 2 Pages, 16 Columns
76 void Display_CHS(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen);
void Display_CHS(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen);
77
78 // 8(H) * 16(V), English
// 8(H) * 16(V), English
79 // 每个字母(数字)占 2 Pages, 8 Columns
// 每个字母(数字)占 2 Pages, 8 Columns
80 void Display_En(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen);
void Display_En(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen);
81 void Display_Text(BOOL bEn, BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen);
void Display_Text(BOOL bEn, BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen);
82
83
84 // 外部接口函式
// 外部接口函式
85 void LCM_Delay_us(UINT nTime);
void LCM_Delay_us(UINT nTime);
86 void LCM_InitPort(void);
void LCM_InitPort(void);
87 void LCM_Init(void);
void LCM_Init(void);
88 // Clear Screen
// Clear Screen
89 void LCM_Clear(void);
void LCM_Clear(void);
90 // Display String
// Display String
91 void LCM_Display(BYTE byPage, BYTE byCol, char* pstrText);
void LCM_Display(BYTE byPage, BYTE byCol, char* pstrText);
92
93 #endif
#endif
94
 #ifndef _LCM_ST7565P_H
#ifndef _LCM_ST7565P_H2
 #define _LCM_ST7565P_H
#define _LCM_ST7565P_H3

4

5
 #include <iom8v.h>
#include <iom8v.h>6
 #include <macros.h>
#include <macros.h>7

8
 /***********************************************************************
/***********************************************************************9
 CPU  = ATmega8L
CPU  = ATmega8L10
 晶振 = 4MHz
晶振 = 4MHz11

12
 8080时序连接
8080时序连接13
 -----------
-----------14
 PORTC_5    - CS1
PORTC_5    - CS115
 PORTC_0    - BL_K
PORTC_0    - BL_K16

17
 PORTD_7 - _RD_E
PORTD_7 - _RD_E18
 PORTD_6 - _WR_RW
PORTD_6 - _WR_RW19
 PORTD_5 - A0
PORTD_5 - A020
 PORTD_4 - RES
PORTD_4 - RES21

22
 PORTB   - DB
PORTB   - DB23
 ************************************************************************/
************************************************************************/24

25
 // Type define
// Type define26
 typedef unsigned char BYTE;
typedef unsigned char BYTE;27
 typedef unsigned int UINT;
typedef unsigned int UINT;28
 typedef unsigned char BOOL;
typedef unsigned char BOOL;29

30
 #define TRUE    0x01
#define TRUE    0x0131
 #define FALSE    0x00
#define FALSE    0x0032

33
 // Macros define
// Macros define34
 #define DB_PORT            (PORTB)
#define DB_PORT            (PORTB)35
 #define DB_PIN            (PINB)
#define DB_PIN            (PINB)36
 #define DB_SET_OUT        (DDRB = 0xFF)
#define DB_SET_OUT        (DDRB = 0xFF)37
 #define DB_SET_IN        (DDRB = 0x00)
#define DB_SET_IN        (DDRB = 0x00)38
 #define A0_SET            (PORTD |= (1 << 5))    // Data
#define A0_SET            (PORTD |= (1 << 5))    // Data39
 #define A0_CLR            (PORTD &= ~(1 << 5))    // Command
#define A0_CLR            (PORTD &= ~(1 << 5))    // Command40
 #define _WR_RW_SET        (PORTD |= (1 << 6))    // Read Enable
#define _WR_RW_SET        (PORTD |= (1 << 6))    // Read Enable41
 #define _WR_RW_CLR        (PORTD &= ~(1 << 6))    // Write Enable
#define _WR_RW_CLR        (PORTD &= ~(1 << 6))    // Write Enable42
 #define _RD_E_SET        (PORTD |= (1 << 7))
#define _RD_E_SET        (PORTD |= (1 << 7))43
 #define _RD_E_CLR        (PORTD &= ~(1 << 7))
#define _RD_E_CLR        (PORTD &= ~(1 << 7))44
 #define CS1_SET            (PORTC |= (1 << 5))
#define CS1_SET            (PORTC |= (1 << 5))45
 #define CS1_CLR            (PORTC &= ~(1 << 5))
#define CS1_CLR            (PORTC &= ~(1 << 5))46
 #define RESET_SET_OUT    (DDRD |= (1 << 4))
#define RESET_SET_OUT    (DDRD |= (1 << 4))47
 #define RESET_SET        (PORTD |= (1 << 4))
#define RESET_SET        (PORTD |= (1 << 4))48
 #define RESET_CLR        (PORTD &= ~(1 << 4))
#define RESET_CLR        (PORTD &= ~(1 << 4))49
 #define BACK_LIGHT_SET    (PORTC |= (1 << 0))
#define BACK_LIGHT_SET    (PORTC |= (1 << 0))50
 #define BACK_LIGHT_CLR    (PORTC &= (1 << 0))
#define BACK_LIGHT_CLR    (PORTC &= (1 << 0))51

52
 // Commands
// Commands53
 #define CMD_DISPLAY_ON                0xAF
#define CMD_DISPLAY_ON                0xAF54
 #define CMD_POWER_CONTROL_SET        0x2F
#define CMD_POWER_CONTROL_SET        0x2F55
 #define CMD_V0                        0x20
#define CMD_V0                        0x2056
 #define CMD_DISPLAY_ALL_POINTS_ON    0xA5
#define CMD_DISPLAY_ALL_POINTS_ON    0xA557
 #define CMD_DISPLAY_ALL_POINTS_OFF    0xA4
#define CMD_DISPLAY_ALL_POINTS_OFF    0xA458
 #define CMD_COM_OUTPUT_MODE_SET        0xC8    // reverse direction
#define CMD_COM_OUTPUT_MODE_SET        0xC8    // reverse direction59
 #define CMD_PAGE                    0xB0
#define CMD_PAGE                    0xB060
 #define CMD_COLUMN_HI                0x10
#define CMD_COLUMN_HI                0x1061
 #define CMD_COLUMN_LO                0x00
#define CMD_COLUMN_LO                0x0062

63
 // Screen Size 32(rows) * 128(columns)
// Screen Size 32(rows) * 128(columns)64
 #define MAX_PAGES    32/8
#define MAX_PAGES    32/865
 #define MAX_COLUMN    128
#define MAX_COLUMN    12866

67
 #define Delay_1us() { asm("nop"); asm("nop"); asm("nop"); asm("nop"); }
#define Delay_1us() { asm("nop"); asm("nop"); asm("nop"); asm("nop"); }68

69
 // 内部辅助函式
// 内部辅助函式70
 void CheckBusy(void);
void CheckBusy(void);71
 void WriteCommand(BYTE byCommand);
void WriteCommand(BYTE byCommand);72
 void WriteData(BYTE byData);
void WriteData(BYTE byData);73

74
 // 16 *16, Chinese
// 16 *16, Chinese75
 // 每个汉字占 2 Pages, 16 Columns
// 每个汉字占 2 Pages, 16 Columns76
 void Display_CHS(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen);
void Display_CHS(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen);77

78
 // 8(H) * 16(V), English
// 8(H) * 16(V), English79
 // 每个字母(数字)占 2 Pages, 8 Columns
// 每个字母(数字)占 2 Pages, 8 Columns80
 void Display_En(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen);
void Display_En(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen);81
 void Display_Text(BOOL bEn, BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen);
void Display_Text(BOOL bEn, BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen);82

83

84
 // 外部接口函式
// 外部接口函式85
 void LCM_Delay_us(UINT nTime);
void LCM_Delay_us(UINT nTime);86
 void LCM_InitPort(void);
void LCM_InitPort(void);87
 void LCM_Init(void);
void LCM_Init(void);88
 // Clear Screen
// Clear Screen89
 void LCM_Clear(void);
void LCM_Clear(void);90
 // Display String
// Display String91
 void LCM_Display(BYTE byPage, BYTE byCol, char* pstrText);
void LCM_Display(BYTE byPage, BYTE byCol, char* pstrText);92

93
 #endif
#endif94

  1 #include "LCM_ST7565P.h"
#include "LCM_ST7565P.h"
2
3 const BYTE g_byASCII[];
const BYTE g_byASCII[];
4
5 void LCM_Delay_us(UINT nTime)
void LCM_Delay_us(UINT nTime)
6 {
{
7 do
    do 
8 {
    {
9 Delay_1us();
        Delay_1us();
10 } while (nTime--);
    } while (nTime--);
11
12 return;
    return;
13 }
}
14
15 void LCM_InitPort(void)
void LCM_InitPort(void)
16 {
{
17 PORTD = 0x00;
    PORTD = 0x00;
18 DDRD = 0xFF;
    DDRD = 0xFF;
19 PORTB = 0x00;
    PORTB = 0x00;
20 DDRB = 0xFF;
    DDRB = 0xFF;        
21 PORTC = 0x00;
    PORTC = 0x00;
22 DDRC = 0xFF;
    DDRC = 0xFF;
23
24 CS1_SET;
    CS1_SET;
25 A0_SET;
    A0_SET;
26 _WR_RW_SET;
    _WR_RW_SET;
27 _RD_E_SET;
    _RD_E_SET;
28 RESET_SET;
    RESET_SET;
29 BACK_LIGHT_CLR;
    BACK_LIGHT_CLR;
30
31 return;
    return;
32 }
}
33
34 void CheckBusy(void)
void CheckBusy(void)
35 {
{
36 CS1_CLR;
    CS1_CLR;
37 A0_CLR;
    A0_CLR;
38 _WR_RW_SET;
    _WR_RW_SET;
39 asm("nop");
    asm("nop");
40 asm("nop");
    asm("nop");
41 _RD_E_CLR;
    _RD_E_CLR;
42 asm("nop");
    asm("nop");
43 asm("nop");
    asm("nop");
44 DB_SET_IN;
    DB_SET_IN;    
45 while (DB_PIN & 0x80)
    while (DB_PIN & 0x80)
46 {
    {
47 ;
        ;
48 }
    }
49
50 _RD_E_SET;
    _RD_E_SET;
51 CS1_SET;
    CS1_SET;
52
53 return;
    return;
54 }
}
55
56 void WriteCommand(BYTE byCommand)
void WriteCommand(BYTE byCommand)
57 {
{
58 CheckBusy();
    CheckBusy();
59
60 CS1_CLR;
    CS1_CLR;
61 A0_CLR;
    A0_CLR;    
62 _RD_E_SET;
    _RD_E_SET;
63 asm("nop");
    asm("nop");
64 asm("nop");
    asm("nop");
65 _WR_RW_CLR;
    _WR_RW_CLR;
66 DB_SET_OUT;
    DB_SET_OUT;
67 DB_PORT = byCommand;
    DB_PORT = byCommand;
68 asm("nop");
    asm("nop");
69 asm("nop");
    asm("nop");
70 _WR_RW_SET;
    _WR_RW_SET;
71 CS1_SET;
    CS1_SET;
72
73 return;
    return;
74 }
}
75
76 void WriteData(BYTE byData)
void WriteData(BYTE byData)
77 {
{
78 CheckBusy();
    CheckBusy();
79
80 CS1_CLR;
    CS1_CLR;
81 A0_SET;
    A0_SET;
82 _RD_E_SET;
    _RD_E_SET;
83 _WR_RW_CLR;
    _WR_RW_CLR;
84 asm("nop");
    asm("nop");
85 asm("nop");
    asm("nop");
86 DB_SET_OUT;
    DB_SET_OUT;
87 DB_PORT = byData;
    DB_PORT = byData;
88 asm("nop");
    asm("nop");
89 asm("nop");
    asm("nop");
90 _WR_RW_SET;
    _WR_RW_SET;
91 CS1_SET;
    CS1_SET;
92
93 return;
    return;
94 }
}
95
96 void LCM_Init(void)
void LCM_Init(void)
97 {
{    
98 WriteCommand(CMD_DISPLAY_ON);
    WriteCommand(CMD_DISPLAY_ON);
99 WriteCommand(CMD_POWER_CONTROL_SET);
    WriteCommand(CMD_POWER_CONTROL_SET);
100 WriteCommand(CMD_V0);
    WriteCommand(CMD_V0);
101 WriteCommand(CMD_DISPLAY_ALL_POINTS_OFF);
    WriteCommand(CMD_DISPLAY_ALL_POINTS_OFF);
102 WriteCommand(CMD_COM_OUTPUT_MODE_SET);
    WriteCommand(CMD_COM_OUTPUT_MODE_SET);
103
104 return;
    return;
105 }
}
106
107 // Clear Screen
// Clear Screen
108 void LCM_Clear(void)
void LCM_Clear(void)
109 {
{
110 UINT nPage, nColumn;
    UINT nPage, nColumn;
111
112 for (nPage = 0; nPage < MAX_PAGES; nPage++)
    for (nPage = 0; nPage < MAX_PAGES; nPage++)
113 {
    {
114 // Set Page Address
        // Set Page Address
115 WriteCommand(CMD_PAGE | nPage);
        WriteCommand(CMD_PAGE | nPage);
116
117 // Set Column Address = 0
        // Set Column Address = 0
118 WriteCommand(CMD_COLUMN_HI | 0x00);
        WriteCommand(CMD_COLUMN_HI | 0x00);
119 WriteCommand(CMD_COLUMN_LO | 0x00);
        WriteCommand(CMD_COLUMN_LO | 0x00);    
120
121 for (nColumn = 0; nColumn < MAX_COLUMN; nColumn++)
        for (nColumn = 0; nColumn < MAX_COLUMN; nColumn++)
122 {
        {
123 WriteData(0x00);
            WriteData(0x00);
124 }
        }
125 }
    }
126
127 return;
    return;
128 }
}
129
130
131 // 16 *16, Chinese
// 16 *16, Chinese
132 // 每个汉字占 2 Pages, 16 Columns
// 每个汉字占 2 Pages, 16 Columns
133 void Display_CHS(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen)
void Display_CHS(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen)
134 {
{
135 BYTE i = 0;
    BYTE i = 0;
136 BYTE j = 0;
    BYTE j = 0;
137 BYTE k = 0;
    BYTE k = 0;
138 BYTE* pData = pbyChar;
    BYTE* pData = pbyChar;
139 BYTE byCount = nLen / 32;    // Chinese Count
    BYTE byCount = nLen / 32;    // Chinese Count
140
141 for (k = 0; k < byCount; k++)
    for (k = 0; k < byCount; k++)
142 {
    {
143
144 for (i = 0; i < 2; i++)
        for (i = 0; i < 2; i++)
145 {
        {
146 // Position
            // Position
147 WriteCommand(CMD_PAGE | (byPage+i));
            WriteCommand(CMD_PAGE | (byPage+i));
148 WriteCommand(CMD_COLUMN_HI | (((byCol+16*k) >> 4) & 0x0F));
            WriteCommand(CMD_COLUMN_HI | (((byCol+16*k) >> 4) & 0x0F));
149 WriteCommand(CMD_COLUMN_LO | ((byCol+16*k) & 0x0F));
            WriteCommand(CMD_COLUMN_LO | ((byCol+16*k) & 0x0F));
150
151 // Data
            // Data
152 for (j = 0; j < 16; j++)
            for (j = 0; j < 16; j++)
153 {
            {
154 WriteData(*pData++);
                WriteData(*pData++);
155 }
            }
156 }
        }
157 }
    }
158
159 return;
    return;
160 }
}
161
162
163 // 8(H) * 16(V), English
// 8(H) * 16(V), English
164 // 每个字母(数字)占 2 Pages, 8 Columns
// 每个字母(数字)占 2 Pages, 8 Columns
165 void Display_En(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen)
void Display_En(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen)
166 {
{
167 BYTE i = 0;
    BYTE i = 0;
168 BYTE j = 0;
    BYTE j = 0;
169 BYTE k = 0;
    BYTE k = 0;
170 BYTE* pData = pbyChar;
    BYTE* pData = pbyChar;
171 BYTE byCount = nLen / 16;    // English Count
    BYTE byCount = nLen / 16;    // English Count
172
173 for (k = 0; k < byCount; k++)
    for (k = 0; k < byCount; k++)
174 {
    {
175 for (i = 0; i < 2; i++)
        for (i = 0; i < 2; i++)
176 {
        {
177 // Position
            // Position
178 WriteCommand(CMD_PAGE | (byPage+i));
            WriteCommand(CMD_PAGE | (byPage+i));
179 WriteCommand(CMD_COLUMN_HI | (((byCol+8*k) >> 4) & 0x0F));
            WriteCommand(CMD_COLUMN_HI | (((byCol+8*k) >> 4) & 0x0F));
180 WriteCommand(CMD_COLUMN_LO | ((byCol+8*k) & 0x0F));
            WriteCommand(CMD_COLUMN_LO | ((byCol+8*k) & 0x0F));
181
182 // Data
            // Data
183 for (j = 0; j < 8; j++)
            for (j = 0; j < 8; j++)
184 {
            {
185 WriteData(*pData++);
                WriteData(*pData++);
186 }
            }
187 }
        }
188 }
    }
189
190 return;
    return;
191 }
}
192
193 void Display_Text(BOOL bEn, BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen)
void Display_Text(BOOL bEn, BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen)
194 {
{
195 if (bEn)
    if (bEn)
196 {
    {
197 // English
        // English
198 Display_En(byPage, byCol, pbyChar, nLen);
        Display_En(byPage, byCol, pbyChar, nLen);
199 }
    } 
200 else
    else
201 {
    {
202 // Chinese
        // Chinese
203 Display_CHS(byPage, byCol, pbyChar, nLen);
        Display_CHS(byPage, byCol, pbyChar, nLen);
204 }
    }        
205
206 return;
    return;
207 }
}
208
209
210
211 // Display String
// Display String
212 void LCM_Display(BYTE byPage, BYTE byCol, char* pstrText)
void LCM_Display(BYTE byPage, BYTE byCol, char* pstrText)
213 {
{
214 // First Organize Data
    // First Organize Data
215 BYTE i = 0;
    BYTE i = 0;
216 BYTE j = 0;
    BYTE j = 0;
217 BYTE byData[16];
    BYTE byData[16];
218 char* pData = pstrText;
    char* pData = pstrText;
219 
    
220 while (*pData != '\0')
    while (*pData != '\0')
221 {
    {
222 char cElem = *pData;
        char cElem = *pData;
223 BYTE byIndex = 0;
        BYTE byIndex = 0;
224
225 if (cElem >= '0' && cElem <= '9')
        if (cElem >= '0' && cElem <= '9')
226 {
        {
227 byIndex = cElem - 0x20 - 14;
            byIndex = cElem - 0x20 - 14;
228 }
        }
229 else if (cElem >= 'A' && cElem <= 'Z')
        else if (cElem >= 'A' && cElem <= 'Z')
230 {
        {
231 byIndex = cElem - 0x20 - 14 - 0x07;
            byIndex = cElem - 0x20 - 14 - 0x07;
232 }
        } 
233 else if (cElem == 0x20)
        else if (cElem == 0x20)
234 {
        {
235 byIndex = cElem - 0x20;
            byIndex = cElem - 0x20;
236 }
        }
237 else if (cElem == '.')
        else if (cElem == '.')
238 {
        {
239 byIndex = 0x01;
            byIndex = 0x01;
240 }
        }
241 else
        else
242 {
        {
243 // Error
            // Error
244 return;
            return;
245 }
        }    
246 
        
247 for (i = 0; i < 16; i++)
        for (i = 0; i < 16; i++)
248 {
        {
249 byData[i] = g_byASCII[byIndex*16+i];
            byData[i] = g_byASCII[byIndex*16+i];
250 }
        }
251 BACK_LIGHT_SET;
        BACK_LIGHT_SET;
252 Display_Text(TRUE, byPage, byCol+8*j, byData, 16); // 一个字符一个字符的显示
        Display_Text(TRUE, byPage, byCol+8*j, byData, 16); // 一个字符一个字符的显示
253 
        
254 j++;
        j++;
255 pData++;
        pData++;
256 }
    }
257
258 // Display
    // Display
259 //Display_Text(TRUE, byPage, byCol, g_byData, g_byCount);
    //Display_Text(TRUE, byPage, byCol, g_byData, g_byCount);        
260
261 return;
    return;
262 }
}
263
264 // 宽 * 高 = 8 * 16
// 宽 * 高 = 8 * 16
265 const BYTE g_byASCII[] =
const BYTE g_byASCII[] = 
266 {
{
267 /*     */
    /*     */
268 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
269
270 ///*!    */
    ///*!    */
271 //0x00,0x00,0x38,0xFC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00,
    //0x00,0x00,0x38,0xFC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00,
272
273 ///*"    */
    ///*"    */
274 //0x00,0x0E,0x1E,0x00,0x00,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    //0x00,0x0E,0x1E,0x00,0x00,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
275
276 ///*#    */
    ///*#    */
277 //0x20,0xF8,0xF8,0x20,0xF8,0xF8,0x20,0x00,0x02,0x0F,0x0F,0x02,0x0F,0x0F,0x02,0x00,
    //0x20,0xF8,0xF8,0x20,0xF8,0xF8,0x20,0x00,0x02,0x0F,0x0F,0x02,0x0F,0x0F,0x02,0x00,
278
279 ///*$    */
    ///*$    */
280 //0x38,0x7C,0x44,0x47,0x47,0xCC,0x98,0x00,0x03,0x06,0x04,0x1C,0x1C,0x07,0x03,0x00,
    //0x38,0x7C,0x44,0x47,0x47,0xCC,0x98,0x00,0x03,0x06,0x04,0x1C,0x1C,0x07,0x03,0x00,
281
282 ///*%    */
    ///*%    */
283 //0x30,0x30,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x0C,0x0C,0x00,
    //0x30,0x30,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x0C,0x0C,0x00,
284
285 ///*&    */
    ///*&    */
286 //0x80,0xD8,0x7C,0xE4,0xBC,0xD8,0x40,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,
    //0x80,0xD8,0x7C,0xE4,0xBC,0xD8,0x40,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,
287
288 ///*'    */
    ///*'    */
289 //0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    //0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
290
291 ///*(    */
    ///*(    */
292 //0x00,0x00,0xF0,0xF8,0x0C,0x04,0x00,0x00,0x00,0x00,0x03,0x07,0x0C,0x08,0x00,0x00,
    //0x00,0x00,0xF0,0xF8,0x0C,0x04,0x00,0x00,0x00,0x00,0x03,0x07,0x0C,0x08,0x00,0x00,
293
294 ///*)    */
    ///*)    */
295 //0x00,0x00,0x04,0x0C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x08,0x0C,0x07,0x03,0x00,0x00,
    //0x00,0x00,0x04,0x0C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x08,0x0C,0x07,0x03,0x00,0x00,
296
297 ///**    */
    ///**    */
298 //0x80,0xA0,0xE0,0xC0,0xC0,0xE0,0xA0,0x80,0x00,0x02,0x03,0x01,0x01,0x03,0x02,0x00,
    //0x80,0xA0,0xE0,0xC0,0xC0,0xE0,0xA0,0x80,0x00,0x02,0x03,0x01,0x01,0x03,0x02,0x00,
299
300 ///*+    */
    ///*+    */
301 //0x00,0x80,0x80,0xE0,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00,
    //0x00,0x80,0x80,0xE0,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00,
302
303 ///*,    */
    ///*,    */
304 //0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,
    //0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,
305
306 ///*-    */
    ///*-    */
307 //0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    //0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
308
309 /*. point  */
    /*. point  */
310 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,
311
312 ///*/    */
    ///*/    */
313 //0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00,
    //0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00,
314
315 /*0    */
    /*0    */
316 0xF8,0xFC,0x04,0xC4,0x24,0xFC,0xF8,0x00,0x07,0x0F,0x09,0x08,0x08,0x0F,0x07,0x00,
    0xF8,0xFC,0x04,0xC4,0x24,0xFC,0xF8,0x00,0x07,0x0F,0x09,0x08,0x08,0x0F,0x07,0x00,
317
318 /*1    */
    /*1    */
319 0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00,
    0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00,
320
321 /*2    */
    /*2    */
322 0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00,
    0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00,
323
324 /*3    */
    /*3    */
325 0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,
    0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,
326
327 /*4    */
    /*4    */
328 0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,
    0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,
329
330 /*5    */
    /*5    */
331 0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,
    0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,
332
333 /*6    */
    /*6    */
334 0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
    0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
335
336 /*7    */
    /*7    */
337 0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,
    0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,
338
339 /*8    */
    /*8    */
340 0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
    0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
341
342 /*9    */
    /*9    */
343 0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00,
    0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00,
344
345 ///*:    */
    ///*:    */
346 //0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,
    //0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,
347
348 ///*;    */
    ///*;    */
349 //0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x08,0x0E,0x06,0x00,0x00,0x00,
    //0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x08,0x0E,0x06,0x00,0x00,0x00,
350
351 ///*<    */
    ///*<    */
352 //0x00,0x80,0xC0,0x60,0x30,0x18,0x08,0x00,0x00,0x00,0x01,0x03,0x06,0x0C,0x08,0x00,
    //0x00,0x80,0xC0,0x60,0x30,0x18,0x08,0x00,0x00,0x00,0x01,0x03,0x06,0x0C,0x08,0x00,
353
354 ///*=    */
    ///*=    */
355 //0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,
    //0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,
356
357 ///*>    */
    ///*>    */
358 //0x00,0x08,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x08,0x0C,0x06,0x03,0x01,0x00,0x00,
    //0x00,0x08,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x08,0x0C,0x06,0x03,0x01,0x00,0x00,
359
360 ///*?    */
    ///*?    */
361 //0x18,0x1C,0x04,0xC4,0xE4,0x3C,0x18,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00,
    //0x18,0x1C,0x04,0xC4,0xE4,0x3C,0x18,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00,
362
363 ///*@    */
    ///*@    */
364 //0xF0,0xF8,0x08,0xC8,0xC8,0xF8,0xF0,0x00,0x07,0x0F,0x08,0x0B,0x0B,0x0B,0x01,0x00,
    //0xF0,0xF8,0x08,0xC8,0xC8,0xF8,0xF0,0x00,0x07,0x0F,0x08,0x0B,0x0B,0x0B,0x01,0x00,
365
366 /*A    */
    /*A    */
367 0xE0,0xF0,0x98,0x8C,0x98,0xF0,0xE0,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
    0xE0,0xF0,0x98,0x8C,0x98,0xF0,0xE0,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
368
369 /*B    */
    /*B    */
370 0x04,0xFC,0xFC,0x44,0x44,0xFC,0xB8,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00,
    0x04,0xFC,0xFC,0x44,0x44,0xFC,0xB8,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00,
371
372 /*C    */
    /*C    */
373 0xF0,0xF8,0x0C,0x04,0x04,0x0C,0x18,0x00,0x03,0x07,0x0C,0x08,0x08,0x0C,0x06,0x00,
    0xF0,0xF8,0x0C,0x04,0x04,0x0C,0x18,0x00,0x03,0x07,0x0C,0x08,0x08,0x0C,0x06,0x00,
374
375 /*D    */
    /*D    */
376 0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00,
    0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00,
377
378 /*E    */
    /*E    */
379 0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00,
    0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00,
380
381 /*F    */
    /*F    */
382 0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,
    0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,
383
384 /*G    */
    /*G    */
385 0xF0,0xF8,0x0C,0x84,0x84,0x8C,0x98,0x00,0x03,0x07,0x0C,0x08,0x08,0x07,0x0F,0x00,
    0xF0,0xF8,0x0C,0x84,0x84,0x8C,0x98,0x00,0x03,0x07,0x0C,0x08,0x08,0x07,0x0F,0x00,
386
387 /*H    */
    /*H    */
388 0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
    0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
389
390 /*I    */
    /*I    */
391 0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
    0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
392
393 /*J    */
    /*J    */
394 0x00,0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00,
    0x00,0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00,
395
396 /*K    */
    /*K    */
397 0x04,0xFC,0xFC,0xC0,0xF0,0x3C,0x0C,0x00,0x08,0x0F,0x0F,0x00,0x01,0x0F,0x0E,0x00,
    0x04,0xFC,0xFC,0xC0,0xF0,0x3C,0x0C,0x00,0x08,0x0F,0x0F,0x00,0x01,0x0F,0x0E,0x00,
398
399 /*L    */
    /*L    */
400 0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00,
    0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00,
401
402 /*M    */
    /*M    */
403 0xFC,0xFC,0x38,0x70,0x38,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
    0xFC,0xFC,0x38,0x70,0x38,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
404
405 /*N    */
    /*N    */
406 0xFC,0xFC,0x38,0x70,0xE0,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
    0xFC,0xFC,0x38,0x70,0xE0,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
407
408 /*O    */
    /*O    */
409 0xF0,0xF8,0x0C,0x04,0x0C,0xF8,0xF0,0x00,0x03,0x07,0x0C,0x08,0x0C,0x07,0x03,0x00,
    0xF0,0xF8,0x0C,0x04,0x0C,0xF8,0xF0,0x00,0x03,0x07,0x0C,0x08,0x0C,0x07,0x03,0x00,
410
411 /*P    */
    /*P    */
412 0x04,0xFC,0xFC,0x44,0x44,0x7C,0x38,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,
    0x04,0xFC,0xFC,0x44,0x44,0x7C,0x38,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,
413
414 /*Q    */
    /*Q    */
415 0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00,0x07,0x0F,0x08,0x0E,0x3C,0x3F,0x27,0x00,
    0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00,0x07,0x0F,0x08,0x0E,0x3C,0x3F,0x27,0x00,
416
417 /*R    */
    /*R    */
418 0x04,0xFC,0xFC,0x44,0xC4,0xFC,0x38,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,
    0x04,0xFC,0xFC,0x44,0xC4,0xFC,0x38,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,
419
420 /*S    */
    /*S    */
421 0x18,0x3C,0x64,0x44,0xC4,0x9C,0x18,0x00,0x06,0x0E,0x08,0x08,0x08,0x0F,0x07,0x00,
    0x18,0x3C,0x64,0x44,0xC4,0x9C,0x18,0x00,0x06,0x0E,0x08,0x08,0x08,0x0F,0x07,0x00,
422
423 /*T    */
    /*T    */
424 0x00,0x1C,0x0C,0xFC,0xFC,0x0C,0x1C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
    0x00,0x1C,0x0C,0xFC,0xFC,0x0C,0x1C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
425
426 /*U    */
    /*U    */
427 0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
    0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
428
429 /*V    */
    /*V    */
430 0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x01,0x03,0x06,0x0C,0x06,0x03,0x01,0x00,
    0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x01,0x03,0x06,0x0C,0x06,0x03,0x01,0x00,
431
432 /*W    */
    /*W    */
433 0xFC,0xFC,0x00,0x80,0x00,0xFC,0xFC,0x00,0x03,0x0F,0x0E,0x03,0x0E,0x0F,0x03,0x00,
    0xFC,0xFC,0x00,0x80,0x00,0xFC,0xFC,0x00,0x03,0x0F,0x0E,0x03,0x0E,0x0F,0x03,0x00,
434
435 /*X    */
    /*X    */
436 0x0C,0x3C,0xF0,0xC0,0xF0,0x3C,0x0C,0x00,0x0C,0x0F,0x03,0x00,0x03,0x0F,0x0C,0x00,
    0x0C,0x3C,0xF0,0xC0,0xF0,0x3C,0x0C,0x00,0x0C,0x0F,0x03,0x00,0x03,0x0F,0x0C,0x00,
437
438 /*Y    */
    /*Y    */
439 0x00,0x3C,0x7C,0xC0,0xC0,0x7C,0x3C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
    0x00,0x3C,0x7C,0xC0,0xC0,0x7C,0x3C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
440
441 /*Z    */
    /*Z    */
442 0x1C,0x0C,0x84,0xC4,0x64,0x3C,0x1C,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0E,0x00
    0x1C,0x0C,0x84,0xC4,0x64,0x3C,0x1C,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0E,0x00
443
444 ///*[    */
    ///*[    */
445 //0x00,0x00,0xFC,0xFC,0x04,0x04,0x00,0x00,0x00,0x00,0x0F,0x0F,0x08,0x08,0x00,0x00,
    //0x00,0x00,0xFC,0xFC,0x04,0x04,0x00,0x00,0x00,0x00,0x0F,0x0F,0x08,0x08,0x00,0x00,
446
447 ///*\    */
    ///*\    */
448 //0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x00,
    //0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x00,
449
450 ///*]    */
    ///*]    */
451 //0x00,0x00,0x04,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x00,0x00,
    //0x00,0x00,0x04,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x00,0x00,
452
453 ///*^    */
    ///*^    */
454 //0x08,0x0C,0x06,0x03,0x06,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    //0x08,0x0C,0x06,0x03,0x06,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
455
456 ///*_    */
    ///*_    */
457 //0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
    //0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
458
459 ///*`    */
    ///*`    */
460 //0x00,0x00,0x03,0x07,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    //0x00,0x00,0x03,0x07,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
461
462 ///*a    */
    ///*a    */
463 //0x00,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,
    //0x00,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,
464
465 ///*b    */
    ///*b    */
466 //0x04,0xFC,0xFC,0x20,0x60,0xC0,0x80,0x00,0x08,0x0F,0x07,0x08,0x08,0x0F,0x07,0x00,
    //0x04,0xFC,0xFC,0x20,0x60,0xC0,0x80,0x00,0x08,0x0F,0x07,0x08,0x08,0x0F,0x07,0x00,
467
468 ///*c    */
    ///*c    */
469 //0xC0,0xE0,0x20,0x20,0x20,0x60,0x40,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00,
    //0xC0,0xE0,0x20,0x20,0x20,0x60,0x40,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00,
470
471 ///*d    */
    ///*d    */
472 //0x80,0xC0,0x60,0x24,0xFC,0xFC,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,
    //0x80,0xC0,0x60,0x24,0xFC,0xFC,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,
473
474 ///*e    */
    ///*e    */
475 //0xC0,0xE0,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00,
    //0xC0,0xE0,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00,
476
477 ///*f    */
    ///*f    */
478 //0x40,0xF8,0xFC,0x44,0x0C,0x18,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,
    //0x40,0xF8,0xFC,0x44,0x0C,0x18,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,
479
480 ///*g    */
    ///*g    */
481 //0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x27,0x6F,0x48,0x48,0x7F,0x3F,0x00,0x00,
    //0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x27,0x6F,0x48,0x48,0x7F,0x3F,0x00,0x00,
482
483 ///*h    */
    ///*h    */
484 //0x04,0xFC,0xFC,0x40,0x20,0xE0,0xC0,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,
    //0x04,0xFC,0xFC,0x40,0x20,0xE0,0xC0,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,
485
486 ///*i    */
    ///*i    */
487 //0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
    //0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
488
489 ///*j    */
    ///*j    */
490 //0x00,0x00,0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x30,0x70,0x40,0x40,0x7F,0x3F,0x00,
    //0x00,0x00,0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x30,0x70,0x40,0x40,0x7F,0x3F,0x00,
491
492 ///*k    */
    ///*k    */
493 //0x04,0xFC,0xFC,0x80,0xC0,0x60,0x20,0x00,0x08,0x0F,0x0F,0x01,0x03,0x0E,0x0C,0x00,
    //0x04,0xFC,0xFC,0x80,0xC0,0x60,0x20,0x00,0x08,0x0F,0x0F,0x01,0x03,0x0E,0x0C,0x00,
494
495 ///*l    */
    ///*l    */
496 //0x00,0x00,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
    //0x00,0x00,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
497
498 ///*m    */
    ///*m    */
499 //0xE0,0xE0,0x60,0xC0,0x60,0xE0,0xC0,0x00,0x0F,0x0F,0x00,0x0F,0x00,0x0F,0x0F,0x00,
    //0xE0,0xE0,0x60,0xC0,0x60,0xE0,0xC0,0x00,0x0F,0x0F,0x00,0x0F,0x00,0x0F,0x0F,0x00,
500
501 ///*n    */
    ///*n    */
502 //0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,
    //0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,
503
504 ///*o    */
    ///*o    */
505 //0xC0,0xE0,0x20,0x20,0x20,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
    //0xC0,0xE0,0x20,0x20,0x20,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
506
507 ///*p    */
    ///*p    */
508 //0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x40,0x7F,0x7F,0x48,0x08,0x0F,0x07,0x00,
    //0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x40,0x7F,0x7F,0x48,0x08,0x0F,0x07,0x00,
509
510 ///*q    */
    ///*q    */
511 //0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x07,0x0F,0x08,0x48,0x7F,0x7F,0x40,0x00,
    //0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x07,0x0F,0x08,0x48,0x7F,0x7F,0x40,0x00,
512
513 ///*s    */
    ///*s    */
514 //0x40,0xE0,0xA0,0x20,0x20,0x60,0x40,0x00,0x04,0x0C,0x09,0x09,0x0B,0x0E,0x04,0x00,
    //0x40,0xE0,0xA0,0x20,0x20,0x60,0x40,0x00,0x04,0x0C,0x09,0x09,0x0B,0x0E,0x04,0x00,
515
516 ///*t    */
    ///*t    */
517 //0x20,0x20,0xF8,0xFC,0x20,0x20,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x0C,0x04,0x00,
    //0x20,0x20,0xF8,0xFC,0x20,0x20,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x0C,0x04,0x00,
518
519 ///*u    */
    ///*u    */
520 //0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,
    //0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,
521
522 ///*v    */
    ///*v    */
523 //0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x03,0x07,0x0C,0x0C,0x07,0x03,0x00,
    //0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x03,0x07,0x0C,0x0C,0x07,0x03,0x00,
524
525 ///*w    */
    ///*w    */
526 //0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x07,0x0F,0x0C,0x07,0x0C,0x0F,0x07,0x00,
    //0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x07,0x0F,0x0C,0x07,0x0C,0x0F,0x07,0x00,
527
528 ///*x    */
    ///*x    */
529 //0x20,0x60,0xC0,0x80,0xC0,0x60,0x20,0x00,0x08,0x0C,0x07,0x03,0x07,0x0C,0x08,0x00,
    //0x20,0x60,0xC0,0x80,0xC0,0x60,0x20,0x00,0x08,0x0C,0x07,0x03,0x07,0x0C,0x08,0x00,
530
531 ///*y    */
    ///*y    */
532 //0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x47,0x4F,0x48,0x48,0x68,0x3F,0x1F,0x00,
    //0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x47,0x4F,0x48,0x48,0x68,0x3F,0x1F,0x00,
533
534 ///*z    */
    ///*z    */
535 //0x60,0x60,0x20,0xA0,0xE0,0x60,0x20,0x00,0x0C,0x0E,0x0B,0x09,0x08,0x0C,0x0C,0x00,
    //0x60,0x60,0x20,0xA0,0xE0,0x60,0x20,0x00,0x0C,0x0E,0x0B,0x09,0x08,0x0C,0x0C,0x00,
536
537 ///*{    */
    ///*{    */
538 //0x00,0x40,0x40,0xF8,0xBC,0x04,0x04,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x08,0x00,
    //0x00,0x40,0x40,0xF8,0xBC,0x04,0x04,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x08,0x00,
539
540 ///*|    */
    ///*|    */
541 //0x00,0x00,0x00,0xBC,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,
    //0x00,0x00,0x00,0xBC,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,
542
543 ///*}    */
    ///*}    */
544 //0x00,0x04,0x04,0xBC,0xF8,0x40,0x40,0x00,0x00,0x08,0x08,0x0F,0x07,0x00,0x00,0x00,
    //0x00,0x04,0x04,0xBC,0xF8,0x40,0x40,0x00,0x00,0x08,0x08,0x0F,0x07,0x00,0x00,0x00,
545
546 ///*~    */
    ///*~    */
547 //0x08,0x0C,0x04,0x0C,0x08,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
    //0x08,0x0C,0x04,0x0C,0x08,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
548
549 };
};
550
551
 #include "LCM_ST7565P.h"
#include "LCM_ST7565P.h"2

3
 const BYTE g_byASCII[];
const BYTE g_byASCII[];4

5
 void LCM_Delay_us(UINT nTime)
void LCM_Delay_us(UINT nTime)6
 {
{7
 do
    do 8
 {
    {9
 Delay_1us();
        Delay_1us();10
 } while (nTime--);
    } while (nTime--);11

12
 return;
    return;13
 }
}14

15
 void LCM_InitPort(void)
void LCM_InitPort(void)16
 {
{17
 PORTD = 0x00;
    PORTD = 0x00;18
 DDRD = 0xFF;
    DDRD = 0xFF;19
 PORTB = 0x00;
    PORTB = 0x00;20
 DDRB = 0xFF;
    DDRB = 0xFF;        21
 PORTC = 0x00;
    PORTC = 0x00;22
 DDRC = 0xFF;
    DDRC = 0xFF;23

24
 CS1_SET;
    CS1_SET;25
 A0_SET;
    A0_SET;26
 _WR_RW_SET;
    _WR_RW_SET;27
 _RD_E_SET;
    _RD_E_SET;28
 RESET_SET;
    RESET_SET;29
 BACK_LIGHT_CLR;
    BACK_LIGHT_CLR;30

31
 return;
    return;32
 }
}33

34
 void CheckBusy(void)
void CheckBusy(void)35
 {
{36
 CS1_CLR;
    CS1_CLR;37
 A0_CLR;
    A0_CLR;38
 _WR_RW_SET;
    _WR_RW_SET;39
 asm("nop");
    asm("nop");40
 asm("nop");
    asm("nop");41
 _RD_E_CLR;
    _RD_E_CLR;42
 asm("nop");
    asm("nop");43
 asm("nop");
    asm("nop");44
 DB_SET_IN;
    DB_SET_IN;    45
 while (DB_PIN & 0x80)
    while (DB_PIN & 0x80)46
 {
    {47
 ;
        ;48
 }
    }49

50
 _RD_E_SET;
    _RD_E_SET;51
 CS1_SET;
    CS1_SET;52

53
 return;
    return;54
 }
}55

56
 void WriteCommand(BYTE byCommand)
void WriteCommand(BYTE byCommand)57
 {
{58
 CheckBusy();
    CheckBusy();59

60
 CS1_CLR;
    CS1_CLR;61
 A0_CLR;
    A0_CLR;    62
 _RD_E_SET;
    _RD_E_SET;63
 asm("nop");
    asm("nop");64
 asm("nop");
    asm("nop");65
 _WR_RW_CLR;
    _WR_RW_CLR;66
 DB_SET_OUT;
    DB_SET_OUT;67
 DB_PORT = byCommand;
    DB_PORT = byCommand;68
 asm("nop");
    asm("nop");69
 asm("nop");
    asm("nop");70
 _WR_RW_SET;
    _WR_RW_SET;71
 CS1_SET;
    CS1_SET;72

73
 return;
    return;74
 }
}75

76
 void WriteData(BYTE byData)
void WriteData(BYTE byData)77
 {
{78
 CheckBusy();
    CheckBusy();79

80
 CS1_CLR;
    CS1_CLR;81
 A0_SET;
    A0_SET;82
 _RD_E_SET;
    _RD_E_SET;83
 _WR_RW_CLR;
    _WR_RW_CLR;84
 asm("nop");
    asm("nop");85
 asm("nop");
    asm("nop");86
 DB_SET_OUT;
    DB_SET_OUT;87
 DB_PORT = byData;
    DB_PORT = byData;88
 asm("nop");
    asm("nop");89
 asm("nop");
    asm("nop");90
 _WR_RW_SET;
    _WR_RW_SET;91
 CS1_SET;
    CS1_SET;92

93
 return;
    return;94
 }
}95

96
 void LCM_Init(void)
void LCM_Init(void)97
 {
{    98
 WriteCommand(CMD_DISPLAY_ON);
    WriteCommand(CMD_DISPLAY_ON);99
 WriteCommand(CMD_POWER_CONTROL_SET);
    WriteCommand(CMD_POWER_CONTROL_SET);100
 WriteCommand(CMD_V0);
    WriteCommand(CMD_V0);101
 WriteCommand(CMD_DISPLAY_ALL_POINTS_OFF);
    WriteCommand(CMD_DISPLAY_ALL_POINTS_OFF);102
 WriteCommand(CMD_COM_OUTPUT_MODE_SET);
    WriteCommand(CMD_COM_OUTPUT_MODE_SET);103

104
 return;
    return;105
 }
}106

107
 // Clear Screen
// Clear Screen108
 void LCM_Clear(void)
void LCM_Clear(void)109
 {
{110
 UINT nPage, nColumn;
    UINT nPage, nColumn;111

112
 for (nPage = 0; nPage < MAX_PAGES; nPage++)
    for (nPage = 0; nPage < MAX_PAGES; nPage++)113
 {
    {114
 // Set Page Address
        // Set Page Address115
 WriteCommand(CMD_PAGE | nPage);
        WriteCommand(CMD_PAGE | nPage);116

117
 // Set Column Address = 0
        // Set Column Address = 0118
 WriteCommand(CMD_COLUMN_HI | 0x00);
        WriteCommand(CMD_COLUMN_HI | 0x00);119
 WriteCommand(CMD_COLUMN_LO | 0x00);
        WriteCommand(CMD_COLUMN_LO | 0x00);    120

121
 for (nColumn = 0; nColumn < MAX_COLUMN; nColumn++)
        for (nColumn = 0; nColumn < MAX_COLUMN; nColumn++)122
 {
        {123
 WriteData(0x00);
            WriteData(0x00);124
 }
        }125
 }
    }126

127
 return;
    return;128
 }
}129

130

131
 // 16 *16, Chinese
// 16 *16, Chinese132
 // 每个汉字占 2 Pages, 16 Columns
// 每个汉字占 2 Pages, 16 Columns133
 void Display_CHS(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen)
void Display_CHS(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen)134
 {
{135
 BYTE i = 0;
    BYTE i = 0;136
 BYTE j = 0;
    BYTE j = 0;137
 BYTE k = 0;
    BYTE k = 0;138
 BYTE* pData = pbyChar;
    BYTE* pData = pbyChar;139
 BYTE byCount = nLen / 32;    // Chinese Count
    BYTE byCount = nLen / 32;    // Chinese Count140

141
 for (k = 0; k < byCount; k++)
    for (k = 0; k < byCount; k++)142
 {
    {143

144
 for (i = 0; i < 2; i++)
        for (i = 0; i < 2; i++)145
 {
        {146
 // Position
            // Position147
 WriteCommand(CMD_PAGE | (byPage+i));
            WriteCommand(CMD_PAGE | (byPage+i));148
 WriteCommand(CMD_COLUMN_HI | (((byCol+16*k) >> 4) & 0x0F));
            WriteCommand(CMD_COLUMN_HI | (((byCol+16*k) >> 4) & 0x0F));149
 WriteCommand(CMD_COLUMN_LO | ((byCol+16*k) & 0x0F));
            WriteCommand(CMD_COLUMN_LO | ((byCol+16*k) & 0x0F));150

151
 // Data
            // Data152
 for (j = 0; j < 16; j++)
            for (j = 0; j < 16; j++)153
 {
            {154
 WriteData(*pData++);
                WriteData(*pData++);155
 }
            }156
 }
        }157
 }
    }158

159
 return;
    return;160
 }
}161

162

163
 // 8(H) * 16(V), English
// 8(H) * 16(V), English164
 // 每个字母(数字)占 2 Pages, 8 Columns
// 每个字母(数字)占 2 Pages, 8 Columns165
 void Display_En(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen)
void Display_En(BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen)166
 {
{167
 BYTE i = 0;
    BYTE i = 0;168
 BYTE j = 0;
    BYTE j = 0;169
 BYTE k = 0;
    BYTE k = 0;170
 BYTE* pData = pbyChar;
    BYTE* pData = pbyChar;171
 BYTE byCount = nLen / 16;    // English Count
    BYTE byCount = nLen / 16;    // English Count172

173
 for (k = 0; k < byCount; k++)
    for (k = 0; k < byCount; k++)174
 {
    {175
 for (i = 0; i < 2; i++)
        for (i = 0; i < 2; i++)176
 {
        {177
 // Position
            // Position178
 WriteCommand(CMD_PAGE | (byPage+i));
            WriteCommand(CMD_PAGE | (byPage+i));179
 WriteCommand(CMD_COLUMN_HI | (((byCol+8*k) >> 4) & 0x0F));
            WriteCommand(CMD_COLUMN_HI | (((byCol+8*k) >> 4) & 0x0F));180
 WriteCommand(CMD_COLUMN_LO | ((byCol+8*k) & 0x0F));
            WriteCommand(CMD_COLUMN_LO | ((byCol+8*k) & 0x0F));181

182
 // Data
            // Data183
 for (j = 0; j < 8; j++)
            for (j = 0; j < 8; j++)184
 {
            {185
 WriteData(*pData++);
                WriteData(*pData++);186
 }
            }187
 }
        }188
 }
    }189

190
 return;
    return;191
 }
}192

193
 void Display_Text(BOOL bEn, BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen)
void Display_Text(BOOL bEn, BYTE byPage, BYTE byCol, BYTE* pbyChar, UINT nLen)194
 {
{195
 if (bEn)
    if (bEn)196
 {
    {197
 // English
        // English198
 Display_En(byPage, byCol, pbyChar, nLen);
        Display_En(byPage, byCol, pbyChar, nLen);199
 }
    } 200
 else
    else201
 {
    {202
 // Chinese
        // Chinese203
 Display_CHS(byPage, byCol, pbyChar, nLen);
        Display_CHS(byPage, byCol, pbyChar, nLen);204
 }
    }        205

206
 return;
    return;207
 }
}208

209

210

211
 // Display String
// Display String212
 void LCM_Display(BYTE byPage, BYTE byCol, char* pstrText)
void LCM_Display(BYTE byPage, BYTE byCol, char* pstrText)213
 {
{214
 // First Organize Data
    // First Organize Data215
 BYTE i = 0;
    BYTE i = 0;216
 BYTE j = 0;
    BYTE j = 0;217
 BYTE byData[16];
    BYTE byData[16];218
 char* pData = pstrText;
    char* pData = pstrText;219
 
    220
 while (*pData != '\0')
    while (*pData != '\0')221
 {
    {222
 char cElem = *pData;
        char cElem = *pData;223
 BYTE byIndex = 0;
        BYTE byIndex = 0;224

225
 if (cElem >= '0' && cElem <= '9')
        if (cElem >= '0' && cElem <= '9')226
 {
        {227
 byIndex = cElem - 0x20 - 14;
            byIndex = cElem - 0x20 - 14;228
 }
        }229
 else if (cElem >= 'A' && cElem <= 'Z')
        else if (cElem >= 'A' && cElem <= 'Z')230
 {
        {231
 byIndex = cElem - 0x20 - 14 - 0x07;
            byIndex = cElem - 0x20 - 14 - 0x07;232
 }
        } 233
 else if (cElem == 0x20)
        else if (cElem == 0x20)234
 {
        {235
 byIndex = cElem - 0x20;
            byIndex = cElem - 0x20;236
 }
        }237
 else if (cElem == '.')
        else if (cElem == '.')238
 {
        {239
 byIndex = 0x01;
            byIndex = 0x01;240
 }
        }241
 else
        else242
 {
        {243
 // Error
            // Error244
 return;
            return;245
 }
        }    246
 
        247
 for (i = 0; i < 16; i++)
        for (i = 0; i < 16; i++)248
 {
        {249
 byData[i] = g_byASCII[byIndex*16+i];
            byData[i] = g_byASCII[byIndex*16+i];250
 }
        }251
 BACK_LIGHT_SET;
        BACK_LIGHT_SET;252
 Display_Text(TRUE, byPage, byCol+8*j, byData, 16); // 一个字符一个字符的显示
        Display_Text(TRUE, byPage, byCol+8*j, byData, 16); // 一个字符一个字符的显示253
 
        254
 j++;
        j++;255
 pData++;
        pData++;256
 }
    }257

258
 // Display
    // Display259
 //Display_Text(TRUE, byPage, byCol, g_byData, g_byCount);
    //Display_Text(TRUE, byPage, byCol, g_byData, g_byCount);        260

261
 return;
    return;262
 }
}263

264
 // 宽 * 高 = 8 * 16
// 宽 * 高 = 8 * 16265
 const BYTE g_byASCII[] =
const BYTE g_byASCII[] = 266
 {
{267
 /*     */
    /*     */268
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,269

270
 ///*!    */
    ///*!    */271
 //0x00,0x00,0x38,0xFC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00,
    //0x00,0x00,0x38,0xFC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00,272

273
 ///*"    */
    ///*"    */274
 //0x00,0x0E,0x1E,0x00,0x00,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    //0x00,0x0E,0x1E,0x00,0x00,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,275

276
 ///*#    */
    ///*#    */277
 //0x20,0xF8,0xF8,0x20,0xF8,0xF8,0x20,0x00,0x02,0x0F,0x0F,0x02,0x0F,0x0F,0x02,0x00,
    //0x20,0xF8,0xF8,0x20,0xF8,0xF8,0x20,0x00,0x02,0x0F,0x0F,0x02,0x0F,0x0F,0x02,0x00,278

279
 ///*$    */
    ///*$    */280
 //0x38,0x7C,0x44,0x47,0x47,0xCC,0x98,0x00,0x03,0x06,0x04,0x1C,0x1C,0x07,0x03,0x00,
    //0x38,0x7C,0x44,0x47,0x47,0xCC,0x98,0x00,0x03,0x06,0x04,0x1C,0x1C,0x07,0x03,0x00,281

282
 ///*%    */
    ///*%    */283
 //0x30,0x30,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x0C,0x0C,0x00,
    //0x30,0x30,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x0C,0x0C,0x00,284

285
 ///*&    */
    ///*&    */286
 //0x80,0xD8,0x7C,0xE4,0xBC,0xD8,0x40,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,
    //0x80,0xD8,0x7C,0xE4,0xBC,0xD8,0x40,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,287

288
 ///*'    */
    ///*'    */289
 //0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    //0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,290

291
 ///*(    */
    ///*(    */292
 //0x00,0x00,0xF0,0xF8,0x0C,0x04,0x00,0x00,0x00,0x00,0x03,0x07,0x0C,0x08,0x00,0x00,
    //0x00,0x00,0xF0,0xF8,0x0C,0x04,0x00,0x00,0x00,0x00,0x03,0x07,0x0C,0x08,0x00,0x00,293

294
 ///*)    */
    ///*)    */295
 //0x00,0x00,0x04,0x0C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x08,0x0C,0x07,0x03,0x00,0x00,
    //0x00,0x00,0x04,0x0C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x08,0x0C,0x07,0x03,0x00,0x00,296

297
 ///**    */
    ///**    */298
 //0x80,0xA0,0xE0,0xC0,0xC0,0xE0,0xA0,0x80,0x00,0x02,0x03,0x01,0x01,0x03,0x02,0x00,
    //0x80,0xA0,0xE0,0xC0,0xC0,0xE0,0xA0,0x80,0x00,0x02,0x03,0x01,0x01,0x03,0x02,0x00,299

300
 ///*+    */
    ///*+    */301
 //0x00,0x80,0x80,0xE0,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00,
    //0x00,0x80,0x80,0xE0,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00,302

303
 ///*,    */
    ///*,    */304
 //0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,
    //0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,305

306
 ///*-    */
    ///*-    */307
 //0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    //0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,308

309
 /*. point  */
    /*. point  */310
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,311

312
 ///*/    */
    ///*/    */313
 //0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00,
    //0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00,314

315
 /*0    */
    /*0    */316
 0xF8,0xFC,0x04,0xC4,0x24,0xFC,0xF8,0x00,0x07,0x0F,0x09,0x08,0x08,0x0F,0x07,0x00,
    0xF8,0xFC,0x04,0xC4,0x24,0xFC,0xF8,0x00,0x07,0x0F,0x09,0x08,0x08,0x0F,0x07,0x00,317

318
 /*1    */
    /*1    */319
 0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00,
    0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00,320

321
 /*2    */
    /*2    */322
 0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00,
    0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00,323

324
 /*3    */
    /*3    */325
 0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,
    0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,326

327
 /*4    */
    /*4    */328
 0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,
    0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,329

330
 /*5    */
    /*5    */331
 0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,
    0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,332

333
 /*6    */
    /*6    */334
 0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
    0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,335

336
 /*7    */
    /*7    */337
 0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,
    0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,338

339
 /*8    */
    /*8    */340
 0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
    0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,341

342
 /*9    */
    /*9    */343
 0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00,
    0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00,344

345
 ///*:    */
    ///*:    */346
 //0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,
    //0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,347

348
 ///*;    */
    ///*;    */349
 //0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x08,0x0E,0x06,0x00,0x00,0x00,
    //0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x08,0x0E,0x06,0x00,0x00,0x00,350

351
 ///*<    */
    ///*<    */352
 //0x00,0x80,0xC0,0x60,0x30,0x18,0x08,0x00,0x00,0x00,0x01,0x03,0x06,0x0C,0x08,0x00,
    //0x00,0x80,0xC0,0x60,0x30,0x18,0x08,0x00,0x00,0x00,0x01,0x03,0x06,0x0C,0x08,0x00,353

354
 ///*=    */
    ///*=    */355
 //0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,
    //0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,356

357
 ///*>    */
    ///*>    */358
 //0x00,0x08,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x08,0x0C,0x06,0x03,0x01,0x00,0x00,
    //0x00,0x08,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x08,0x0C,0x06,0x03,0x01,0x00,0x00,359

360
 ///*?    */
    ///*?    */361
 //0x18,0x1C,0x04,0xC4,0xE4,0x3C,0x18,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00,
    //0x18,0x1C,0x04,0xC4,0xE4,0x3C,0x18,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00,362

363
 ///*@    */
    ///*@    */364
 //0xF0,0xF8,0x08,0xC8,0xC8,0xF8,0xF0,0x00,0x07,0x0F,0x08,0x0B,0x0B,0x0B,0x01,0x00,
    //0xF0,0xF8,0x08,0xC8,0xC8,0xF8,0xF0,0x00,0x07,0x0F,0x08,0x0B,0x0B,0x0B,0x01,0x00,365

366
 /*A    */
    /*A    */367
 0xE0,0xF0,0x98,0x8C,0x98,0xF0,0xE0,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
    0xE0,0xF0,0x98,0x8C,0x98,0xF0,0xE0,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,368

369
 /*B    */
    /*B    */370
 0x04,0xFC,0xFC,0x44,0x44,0xFC,0xB8,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00,
    0x04,0xFC,0xFC,0x44,0x44,0xFC,0xB8,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00,371

372
 /*C    */
    /*C    */373
 0xF0,0xF8,0x0C,0x04,0x04,0x0C,0x18,0x00,0x03,0x07,0x0C,0x08,0x08,0x0C,0x06,0x00,
    0xF0,0xF8,0x0C,0x04,0x04,0x0C,0x18,0x00,0x03,0x07,0x0C,0x08,0x08,0x0C,0x06,0x00,374

375
 /*D    */
    /*D    */376
 0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00,
    0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00,377

378
 /*E    */
    /*E    */379
 0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00,
    0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00,380

381
 /*F    */
    /*F    */382
 0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,
    0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,383

384
 /*G    */
    /*G    */385
 0xF0,0xF8,0x0C,0x84,0x84,0x8C,0x98,0x00,0x03,0x07,0x0C,0x08,0x08,0x07,0x0F,0x00,
    0xF0,0xF8,0x0C,0x84,0x84,0x8C,0x98,0x00,0x03,0x07,0x0C,0x08,0x08,0x07,0x0F,0x00,386

387
 /*H    */
    /*H    */388
 0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
    0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,389

390
 /*I    */
    /*I    */391
 0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
    0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,392

393
 /*J    */
    /*J    */394
 0x00,0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00,
    0x00,0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00,395

396
 /*K    */
    /*K    */397
 0x04,0xFC,0xFC,0xC0,0xF0,0x3C,0x0C,0x00,0x08,0x0F,0x0F,0x00,0x01,0x0F,0x0E,0x00,
    0x04,0xFC,0xFC,0xC0,0xF0,0x3C,0x0C,0x00,0x08,0x0F,0x0F,0x00,0x01,0x0F,0x0E,0x00,398

399
 /*L    */
    /*L    */400
 0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00,
    0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00,401

402
 /*M    */
    /*M    */403
 0xFC,0xFC,0x38,0x70,0x38,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
    0xFC,0xFC,0x38,0x70,0x38,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,404

405
 /*N    */
    /*N    */406
 0xFC,0xFC,0x38,0x70,0xE0,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,
    0xFC,0xFC,0x38,0x70,0xE0,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,407

408
 /*O    */
    /*O    */409
 0xF0,0xF8,0x0C,0x04,0x0C,0xF8,0xF0,0x00,0x03,0x07,0x0C,0x08,0x0C,0x07,0x03,0x00,
    0xF0,0xF8,0x0C,0x04,0x0C,0xF8,0xF0,0x00,0x03,0x07,0x0C,0x08,0x0C,0x07,0x03,0x00,410

411
 /*P    */
    /*P    */412
 0x04,0xFC,0xFC,0x44,0x44,0x7C,0x38,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,
    0x04,0xFC,0xFC,0x44,0x44,0x7C,0x38,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,413

414
 /*Q    */
    /*Q    */415
 0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00,0x07,0x0F,0x08,0x0E,0x3C,0x3F,0x27,0x00,
    0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00,0x07,0x0F,0x08,0x0E,0x3C,0x3F,0x27,0x00,416

417
 /*R    */
    /*R    */418
 0x04,0xFC,0xFC,0x44,0xC4,0xFC,0x38,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,
    0x04,0xFC,0xFC,0x44,0xC4,0xFC,0x38,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,419

420
 /*S    */
    /*S    */421
 0x18,0x3C,0x64,0x44,0xC4,0x9C,0x18,0x00,0x06,0x0E,0x08,0x08,0x08,0x0F,0x07,0x00,
    0x18,0x3C,0x64,0x44,0xC4,0x9C,0x18,0x00,0x06,0x0E,0x08,0x08,0x08,0x0F,0x07,0x00,422

423
 /*T    */
    /*T    */424
 0x00,0x1C,0x0C,0xFC,0xFC,0x0C,0x1C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
    0x00,0x1C,0x0C,0xFC,0xFC,0x0C,0x1C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,425

426
 /*U    */
    /*U    */427
 0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
    0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,428

429
 /*V    */
    /*V    */430
 0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x01,0x03,0x06,0x0C,0x06,0x03,0x01,0x00,
    0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x01,0x03,0x06,0x0C,0x06,0x03,0x01,0x00,431

432
 /*W    */
    /*W    */433
 0xFC,0xFC,0x00,0x80,0x00,0xFC,0xFC,0x00,0x03,0x0F,0x0E,0x03,0x0E,0x0F,0x03,0x00,
    0xFC,0xFC,0x00,0x80,0x00,0xFC,0xFC,0x00,0x03,0x0F,0x0E,0x03,0x0E,0x0F,0x03,0x00,434

435
 /*X    */
    /*X    */436
 0x0C,0x3C,0xF0,0xC0,0xF0,0x3C,0x0C,0x00,0x0C,0x0F,0x03,0x00,0x03,0x0F,0x0C,0x00,
    0x0C,0x3C,0xF0,0xC0,0xF0,0x3C,0x0C,0x00,0x0C,0x0F,0x03,0x00,0x03,0x0F,0x0C,0x00,437

438
 /*Y    */
    /*Y    */439
 0x00,0x3C,0x7C,0xC0,0xC0,0x7C,0x3C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
    0x00,0x3C,0x7C,0xC0,0xC0,0x7C,0x3C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,440

441
 /*Z    */
    /*Z    */442
 0x1C,0x0C,0x84,0xC4,0x64,0x3C,0x1C,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0E,0x00
    0x1C,0x0C,0x84,0xC4,0x64,0x3C,0x1C,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0E,0x00443

444
 ///*[    */
    ///*[    */445
 //0x00,0x00,0xFC,0xFC,0x04,0x04,0x00,0x00,0x00,0x00,0x0F,0x0F,0x08,0x08,0x00,0x00,
    //0x00,0x00,0xFC,0xFC,0x04,0x04,0x00,0x00,0x00,0x00,0x0F,0x0F,0x08,0x08,0x00,0x00,446

447
 ///*\    */
    ///*\    */448
 //0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x00,
    //0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x00,449

450
 ///*]    */
    ///*]    */451
 //0x00,0x00,0x04,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x00,0x00,
    //0x00,0x00,0x04,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x00,0x00,452

453
 ///*^    */
    ///*^    */454
 //0x08,0x0C,0x06,0x03,0x06,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    //0x08,0x0C,0x06,0x03,0x06,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,455

456
 ///*_    */
    ///*_    */457
 //0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
    //0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,458

459
 ///*`    */
    ///*`    */460
 //0x00,0x00,0x03,0x07,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    //0x00,0x00,0x03,0x07,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,461

462
 ///*a    */
    ///*a    */463
 //0x00,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,
    //0x00,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,464

465
 ///*b    */
    ///*b    */466
 //0x04,0xFC,0xFC,0x20,0x60,0xC0,0x80,0x00,0x08,0x0F,0x07,0x08,0x08,0x0F,0x07,0x00,
    //0x04,0xFC,0xFC,0x20,0x60,0xC0,0x80,0x00,0x08,0x0F,0x07,0x08,0x08,0x0F,0x07,0x00,467

468
 ///*c    */
    ///*c    */469
 //0xC0,0xE0,0x20,0x20,0x20,0x60,0x40,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00,
    //0xC0,0xE0,0x20,0x20,0x20,0x60,0x40,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00,470

471
 ///*d    */
    ///*d    */472
 //0x80,0xC0,0x60,0x24,0xFC,0xFC,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,
    //0x80,0xC0,0x60,0x24,0xFC,0xFC,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,473

474
 ///*e    */
    ///*e    */475
 //0xC0,0xE0,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00,
    //0xC0,0xE0,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00,476

477
 ///*f    */
    ///*f    */478
 //0x40,0xF8,0xFC,0x44,0x0C,0x18,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,
    //0x40,0xF8,0xFC,0x44,0x0C,0x18,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,479

480
 ///*g    */
    ///*g    */481
 //0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x27,0x6F,0x48,0x48,0x7F,0x3F,0x00,0x00,
    //0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x27,0x6F,0x48,0x48,0x7F,0x3F,0x00,0x00,482

483
 ///*h    */
    ///*h    */484
 //0x04,0xFC,0xFC,0x40,0x20,0xE0,0xC0,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,
    //0x04,0xFC,0xFC,0x40,0x20,0xE0,0xC0,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,485

486
 ///*i    */
    ///*i    */487
 //0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
    //0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,488

489
 ///*j    */
    ///*j    */490
 //0x00,0x00,0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x30,0x70,0x40,0x40,0x7F,0x3F,0x00,
    //0x00,0x00,0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x30,0x70,0x40,0x40,0x7F,0x3F,0x00,491

492
 ///*k    */
    ///*k    */493
 //0x04,0xFC,0xFC,0x80,0xC0,0x60,0x20,0x00,0x08,0x0F,0x0F,0x01,0x03,0x0E,0x0C,0x00,
    //0x04,0xFC,0xFC,0x80,0xC0,0x60,0x20,0x00,0x08,0x0F,0x0F,0x01,0x03,0x0E,0x0C,0x00,494

495
 ///*l    */
    ///*l    */496
 //0x00,0x00,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,
    //0x00,0x00,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,497

498
 ///*m    */
    ///*m    */499
 //0xE0,0xE0,0x60,0xC0,0x60,0xE0,0xC0,0x00,0x0F,0x0F,0x00,0x0F,0x00,0x0F,0x0F,0x00,
    //0xE0,0xE0,0x60,0xC0,0x60,0xE0,0xC0,0x00,0x0F,0x0F,0x00,0x0F,0x00,0x0F,0x0F,0x00,500

501
 ///*n    */
    ///*n    */502
 //0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,
    //0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,503

504
 ///*o    */
    ///*o    */505
 //0xC0,0xE0,0x20,0x20,0x20,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,
    //0xC0,0xE0,0x20,0x20,0x20,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00,506

507
 ///*p    */
    ///*p    */508
 //0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x40,0x7F,0x7F,0x48,0x08,0x0F,0x07,0x00,
    //0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x40,0x7F,0x7F,0x48,0x08,0x0F,0x07,0x00,509

510
 ///*q    */
    ///*q    */511
 //0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x07,0x0F,0x08,0x48,0x7F,0x7F,0x40,0x00,
    //0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x07,0x0F,0x08,0x48,0x7F,0x7F,0x40,0x00,512

513
 ///*s    */
    ///*s    */514
 //0x40,0xE0,0xA0,0x20,0x20,0x60,0x40,0x00,0x04,0x0C,0x09,0x09,0x0B,0x0E,0x04,0x00,
    //0x40,0xE0,0xA0,0x20,0x20,0x60,0x40,0x00,0x04,0x0C,0x09,0x09,0x0B,0x0E,0x04,0x00,515

516
 ///*t    */
    ///*t    */517
 //0x20,0x20,0xF8,0xFC,0x20,0x20,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x0C,0x04,0x00,
    //0x20,0x20,0xF8,0xFC,0x20,0x20,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x0C,0x04,0x00,518

519
 ///*u    */
    ///*u    */520
 //0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,
    //0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00,521

522
 ///*v    */
    ///*v    */523
 //0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x03,0x07,0x0C,0x0C,0x07,0x03,0x00,
    //0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x03,0x07,0x0C,0x0C,0x07,0x03,0x00,524

525
 ///*w    */
    ///*w    */526
 //0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x07,0x0F,0x0C,0x07,0x0C,0x0F,0x07,0x00,
    //0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x07,0x0F,0x0C,0x07,0x0C,0x0F,0x07,0x00,527

528
 ///*x    */
    ///*x    */529
 //0x20,0x60,0xC0,0x80,0xC0,0x60,0x20,0x00,0x08,0x0C,0x07,0x03,0x07,0x0C,0x08,0x00,
    //0x20,0x60,0xC0,0x80,0xC0,0x60,0x20,0x00,0x08,0x0C,0x07,0x03,0x07,0x0C,0x08,0x00,530

531
 ///*y    */
    ///*y    */532
 //0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x47,0x4F,0x48,0x48,0x68,0x3F,0x1F,0x00,
    //0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x47,0x4F,0x48,0x48,0x68,0x3F,0x1F,0x00,533

534
 ///*z    */
    ///*z    */535
 //0x60,0x60,0x20,0xA0,0xE0,0x60,0x20,0x00,0x0C,0x0E,0x0B,0x09,0x08,0x0C,0x0C,0x00,
    //0x60,0x60,0x20,0xA0,0xE0,0x60,0x20,0x00,0x0C,0x0E,0x0B,0x09,0x08,0x0C,0x0C,0x00,536

537
 ///*{    */
    ///*{    */538
 //0x00,0x40,0x40,0xF8,0xBC,0x04,0x04,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x08,0x00,
    //0x00,0x40,0x40,0xF8,0xBC,0x04,0x04,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x08,0x00,539

540
 ///*|    */
    ///*|    */541
 //0x00,0x00,0x00,0xBC,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,
    //0x00,0x00,0x00,0xBC,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,542

543
 ///*}    */
    ///*}    */544
 //0x00,0x04,0x04,0xBC,0xF8,0x40,0x40,0x00,0x00,0x08,0x08,0x0F,0x07,0x00,0x00,0x00,
    //0x00,0x04,0x04,0xBC,0xF8,0x40,0x40,0x00,0x00,0x08,0x08,0x0F,0x07,0x00,0x00,0x00,545

546
 ///*~    */
    ///*~    */547
 //0x08,0x0C,0x04,0x0C,0x08,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
    //0x08,0x0C,0x04,0x0C,0x08,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00548

549
 };
};550

551

 1 #include "LCM_ST7565P.h"
#include "LCM_ST7565P.h"
2
3
4 // Main Entry
// Main Entry
5 void main(void)
void main(void)
6 {
{    
7 LCM_InitPort();
    LCM_InitPort();
8 RESET_CLR;
    RESET_CLR;
9 LCM_Delay_us(800);
    LCM_Delay_us(800);
10 RESET_SET;
    RESET_SET;
11 
    
12 LCM_Init();
    LCM_Init();
13 LCM_Clear();
    LCM_Clear();    
14 LCM_Display(1, 4, "TEL 13888888888");
    LCM_Display(1, 4, "TEL 13888888888");
15
16 while (1)
    while (1)
17 {
    {            
18 ;
        ;
19 }
    }
20
21 return;
    return;
22 }
}
23
 #include "LCM_ST7565P.h"
#include "LCM_ST7565P.h"2

3

4
 // Main Entry
// Main Entry5
 void main(void)
void main(void)6
 {
{    7
 LCM_InitPort();
    LCM_InitPort();8
 RESET_CLR;
    RESET_CLR;9
 LCM_Delay_us(800);
    LCM_Delay_us(800);10
 RESET_SET;
    RESET_SET;11
 
    12
 LCM_Init();
    LCM_Init();13
 LCM_Clear();
    LCM_Clear();    14
 LCM_Display(1, 4, "TEL 13888888888");
    LCM_Display(1, 4, "TEL 13888888888");15

16
 while (1)
    while (1)17
 {
    {            18
 ;
        ;19
 }
    }20

21
 return;
    return;22
 }
}23

 
   
 
 
                     
                    
                 
                    
                


 
     
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号