📄 lcd.lst
字号:
C51 COMPILER V7.06 LCD 01/20/2005 21:48:07 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe lcd.H DB OE
stmt level source
1 /*******************************
2 ???? : T6963INIT.H
3 ??? : ???
4 ???? : 2004-11-1
5 *******************************/
6
7
8
9 //-----------------------------------------------------------------------------
10 // LCD?????
11
12 #define LCD_CHARACTER_WIDTH 0x08 /* Is character 8x8 or 6x8 (0x08 / 0x06) */
13 #define LCD_TEXT_HOME 0x0000 /* Graphics Area + Text Attribute Size (same size as text size) */
14 #define LCD_TEXT_AREA 0x1E /* Text line is 30 chars wide */
15 #define LCD_TEXT_SIZE 0x01E0 /* Size of text RAM */ /* into 2
- screens */
16
17
18 /* Define the Memory Map */
19 #define LCD_GRAPHICS_HOME 0x01E0 /* This will usually be at the start of RAM */
20 #define LCD_GRAPHICS_AREA 0x1E //MODIFY
21 #define LCD_GRAPHICS_SIZE 0x0F00
22
23
24 /* Memory Map for 240x128 pixel display */
25 /* This display is made up of two screens */
26 /* Both 240x64 pixels */
27
28 /* Screen 1 */
29
30 /* 0x0000 ----------------------------- */
31 /* | Graphic RAM Area | */
32 /* | 0x0000 to 0x07FF | */
33 /* | (256x64 pixels) | */
34 /* 0x0800 ----------------------------- */
35 /* | Text Attribute Area | */
36 /* 0x0A00 ----------------------------- */
37 /* | Text RAM Area | */
38 /* | 512 Bytes | */
39 /* | (256x64 pixels) | */
40 /* 0x0C00 ----------------------------- */
41
42 /* Screen 2 (Automatically derived from Screen 1) */
43
44 /* 0x8000 ----------------------------- */
45 /* | Graphic RAM Area | */
46 /* | 0x0000 to 0x07FF | */
47 /* | (256x64 pixels) | */
48 /* 0x8800 ----------------------------- */
49 /* | Text Attribute Area | */
50 /* 0x8A00 ----------------------------- */
51 /* | Text RAM Area | */
52 /* | 512 Bytes | */
53 /* | (256x64 pixels) | */
54 /* 0x8C00 ----------------------------- */
C51 COMPILER V7.06 LCD 01/20/2005 21:48:07 PAGE 2
55
56
57 /* LCD Data Bus Pins */
58 #define LCD_DATA_BUS P7
59 #define LCD_DATA_BUS_TRIS P7MDOUT
60
61 /* LCD Control Pins */
62 //#define LCD_CONTROL P2
63 #define LCD_CONTROL P4
64 //#define LCD_CONTROL_TRIS P2MDOUT
65 #define LCD_CONTROL_TRIS P4MDOUT
66 #define LCD_WR_BIT 0x07
67 #define LCD_RD_BIT 0x06
68 #define LCD_CE_BIT 0x02
69 #define LCD_CD_BIT 0x03
70 #define LCD_RST_BIT 0x04
71 //#define LCD_RST P1
72 //#define LCD_RST_BIT P1MDOUT
73
74 #define LCD_WR 0x80
75 #define LCD_RD 0x40
76 #define LCD_CE 0x04
77 #define LCD_CD 0x08
78 #define LCD_RST 0x10
79
80 /* Control Word Definitions */
81 #define LCD_CURSOR_POINTER_SET 0x21
82 #define LCD_OFFSET_REGISTER_SET 0x22
83 #define LCD_ADDRESS_POINTER_SET 0x24
84
85 #define LCD_TEXT_HOME_ADDRESS_SET 0x40
86 #define LCD_TEXT_AREA_SET 0x41
87 #define LCD_GRAPHIC_HOME_ADDRESS_SET 0x42
88 #define LCD_GRAPHIC_AREA_SET 0x43
89
90 #define LCD_CG_ROM_MODE_OR 0x80
91 #define LCD_CG_ROM_MODE_EXOR 0x81
92 #define LCD_CG_ROM_MODE_AND 0x83
93 #define LCD_CG_ROM_MODE_TEXT 0x84
94 #define LCD_CG_RAM_MODE_OR 0x88
95 #define LCD_CG_RAM_MODE_EXOR 0x89
96 #define LCD_CG_RAM_MODE_AND 0x8B
97 #define LCD_CG_RAM_MODE_TEXT 0x8C
98
99 /* 1001 0000 is all off, OR together for ON modes */
100 #define LCD_DISPLAY_MODES_ALL_OFF 0x90
101 #define LCD_DISPLAY_MODES_GRAPHICS_ON 0x98
102 #define LCD_DISPLAY_MODES_TEXT_ON 0x94
103 #define LCD_DISPLAY_MODES_CURSOR_ON 0x92
104 #define LCD_DISPLAY_MODES_CURSOR_BLINK 0x91
105
106 /* Cursor Pattern Select */
107 #define LCD_CURSOR_PATTERN_UNDERLINE 0xA0
108 #define LCD_CURSOR_PATTERN_BLOCK 0xA7
109 /* Send Auto_XX Command, then block of data, then Auto_reset */
110 #define LCD_DATA_AUTO_WRITE_SET 0xB0
111 #define LCD_DATA_AUTO_READ_SET 0xB1
112 #define LCD_DATA_AUTO_RESET 0xB2
113 /* Send R/W Then one byte Data */
114 #define LCD_DATA_WRITE_AUTO_INCREMENT 0xC0
115 #define LCD_DATA_READ_AUTO_INCREMENT 0xC1
116 #define LCD_DATA_WRITE_NO_INCREMENT 0xC4
C51 COMPILER V7.06 LCD 01/20/2005 21:48:07 PAGE 3
117 #define LCD_DATA_READ_NO_INCREMENT 0xC5
118
119
120 /* Status Register Bits */
121 #define LCD_STATUS_BUSY1 0x01
122 #define LCD_STATUS_BUSY2 0x02
123 #define LCD_STATUS_DARRDY 0x04
124 #define LCD_STATUS_DAWRDY 0x08
125
126 #define LCD_STATUS_CLR 0x20
127 #define LCD_STATUS_ERR 0x40
128 #define LCD_STATUS_BLINK 0x80
129
130 /* Definitions */
131 //#define ALL_INPUTS 0x3F
132 //#define ALL_OUTPUTS 0xC0
133 #define ALL_INPUTS 0x0
134 #define ALL_OUTPUTS 0xFF
135
136
137 #define size sizeof(HANZIKU)/sizeof(HANZIKU[0])
138
139
140 //void STA_RST(void);
141
142 //unsigned char LCD_Read_Status(void);
143
144
145
146 struct CNode{ //???????????
147 char ch[2];//??????
148 unsigned char dat[32];//????????
149 };
150
151 struct CNode code HANZIKU[]=
152 {
153
154 {"欢",
155 0x00,0x80,0x00,0x80,0xFC,0x80,0x05,0xFE,0x85,0x04,0x4A,0x48,0x28,0x40,0x10,0x40,
156 0x18,0x40,0x18,0x60,0x24,0xA0,0x24,0x90,0x41,0x18,0x86,0x0E,0x38,0x04,0x00,0x00,
157 },
158 {"迎",
159 0x40,0x00,0x21,0x80,0x36,0x7C,0x24,0x44,0x04,0x44,0x04,0x44,0xE4,0x44,0x24,0x44,
160 0x25,0x44,0x26,0x54,0x24,0x48,0x20,0x40,0x20,0x40,0x50,0x00,0x8F,0xFE,0x00,0x00,
161 },
162 {"进",
163 0x01,0x10,0x41,0x10,0x21,0x10,0x37,0xFC,0x21,0x10,0x01,0x10,0x01,0x10,0xF7,0xFE,
164 0x11,0x10,0x11,0x10,0x12,0x10,0x12,0x10,0x14,0x10,0x28,0x00,0x47,0xFE,0x00,0x00,
165 },
166 {"入",
167 0x0C,0x00,0x06,0x00,0x02,0x00,0x01,0x00,0x03,0x00,0x02,0x80,0x02,0x80,0x04,0x40,
168 0x04,0x20,0x08,0x20,0x08,0x10,0x10,0x08,0x20,0x0E,0x40,0x04,0x80,0x00,0x00,0x00,
169 },
170 {"片",
171 0x00,0x40,0x10,0x40,0x10,0x40,0x10,0x44,0x1F,0xFE,0x10,0x00,0x10,0x00,0x10,0x00,
172 0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0x10,0x20,0x10,0x40,0x10,0x80,0x10,
173 },
174 {"上",
175 0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0xF8,0x01,0x00,
176 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0x7F,0xFE,0x00,0x00,
177 },
178 {"采",
C51 COMPILER V7.06 LCD 01/20/2005 21:48:07 PAGE 4
179 0x00,0x00,0x01,0xF8,0x7E,0x00,0x00,0x10,0x11,0x10,0x08,0xA0,0x01,0x00,0x7F,0xFE,
180 0x01,0x80,0x03,0x40,0x05,0x20,0x09,0x18,0x31,0x0E,0xC1,0x04,0x01,0x00,0x01,0x00,
181 },
182 {"集",
183 0x08,0x80,0x08,0x40,0x1F,0xF8,0x30,0x80,0x5F,0xF8,0x10,0x80,0x1F,0xF8,0x10,0x80,
184 0x1F,0xFC,0x01,0x00,0x7F,0xFE,0x03,0x40,0x05,0x20,0x19,0x1C,0x61,0x08,0x01,0x00,
185 },
186 {"系",
187 0x00,0x7C,0x3F,0x80,0x02,0x20,0x04,0x20,0x08,0x40,0x1F,0x80,0x03,0x20,0x0C,0x10,
188 0x3F,0xF8,0x10,0x8C,0x04,0xA0,0x08,0x90,0x10,0x88,0x20,0x84,0x42,0x84,0x01,0x00,
189 },
190
191 {"统",
192 0x10,0x40,0x10,0x20,0x23,0xFE,0x20,0x40,0x44,0x40,0xF8,0x88,0x09,0x04,0x13,0xFE,
193 0x20,0x94,0x7C,0x90,0x00,0x90,0x00,0x90,0x1D,0x12,0xE1,0x12,0x02,0x0E,0x04,0x00,
194 },
195
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -