📄 12864-++-
字号:
C51 COMPILER V9.00 12864LCDTEST 09/27/2012 19:21:10 PAGE 1
C51 COMPILER V9.00, COMPILATION OF MODULE 12864LCDTEST
OBJECT MODULE PLACED IN 12864LCDTEST.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 12864LCDTEST.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /******************************************************************************
2 文件名 : .c
3 模块名称:st7920 并行方式驱动12864液晶驱动
4 功能概要:st7920显示驱动
5 ******************************************************************************/
6 #include <reg52.h>
7
8 #define uint unsigned int
9 #define uchar unsigned char
10 #define x1 0x80
11 #define x2 0x88
12 #define y 0x80
13 #define comm 0
14 #define dat 1
15
16 sbit RS = P2^0; //H=data; L="command";
17 sbit RW = P2^1; //H=read; L="write";
18 sbit E = P2^2; //input enable;
19 sbit PSB= P2^3; //H=并口; L="串口";
20 sbit RST= P2^4; //Reset Signal 低电平有效
21
22 sbit busy=P0^7; //lcd busy bit
23
24 void wr_lcd (uchar dat_comm,uchar content);
25 void chk_busy (void);
26 void delay (uint us);
27
28 uchar code tab1[]={
29 "欢迎你使用锐志电"
30 "能实验板功能超强"
31 "子的RZ-51PRO多功"
32 "学习单片机的首选"
33 };
34
35 uchar code tab31[]={
36 "天津锐志电子科技"
37 "WWW.RICHMCU.COM"
38 };
39 uchar code tab32[]={
40
41 /*-- 宽度x高度=128x32 --*/
42 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
43 0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
44 0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x18,0x0C,0x00,0x00,0x01,0x00,0x00,0x00,0x00,
45 0x01,0xFF,0x80,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x13,0x10,0x03,0xFE,0x00,
46 0x03,0xFF,0xC0,0x00,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x3F,0x30,0x1F,0xFF,0xC0,
47 0x03,0xFF,0xE0,0x00,0x00,0x00,0x00,0x8C,0x03,0xF0,0x00,0x7F,0xE0,0x7C,0x01,0xE0,
48 0x03,0xFF,0xF0,0x00,0x00,0x00,0x01,0x36,0x06,0xC0,0x00,0x5F,0xC0,0xFF,0xFC,0x60,
49 0x01,0xFF,0xF0,0x00,0x00,0x00,0x02,0x1B,0x0F,0x80,0x00,0xFF,0x01,0xFE,0x0F,0x30,
50 0x00,0xEF,0xF0,0x00,0x00,0x00,0x02,0x6D,0x9F,0x00,0x00,0x3E,0x03,0xFF,0xF1,0x90,
51 0x00,0xFF,0xF8,0x00,0x00,0x00,0x04,0x36,0xFE,0x00,0x01,0xFF,0x07,0xFF,0xFC,0x90,
52 0x00,0xEF,0xFF,0xFF,0x80,0x00,0x04,0xDB,0x7E,0x00,0x03,0xFF,0x87,0xFF,0xFC,0xD0,
53 0x00,0x0F,0xFF,0xFF,0xC0,0x00,0x04,0x6D,0xFC,0x00,0x07,0xFF,0x8F,0xFF,0xFE,0x50,
54 0x00,0x0F,0xFF,0xFF,0xE0,0x00,0x04,0x36,0xFC,0x10,0x07,0xFF,0x8F,0xFF,0xFE,0x90,
55 0x00,0x0F,0xFF,0xFF,0xE0,0x00,0x04,0x1B,0xF8,0x10,0x07,0xFF,0xCF,0xFF,0xFE,0x80,
C51 COMPILER V9.00 12864LCDTEST 09/27/2012 19:21:10 PAGE 2
56 0x00,0x0F,0xFF,0xFF,0xF0,0x00,0x04,0x0F,0xF8,0x10,0x07,0xFF,0xFF,0xFF,0xFA,0x00,
57 0x00,0x07,0xFF,0xFF,0xF0,0x00,0x04,0x07,0xF0,0x10,0x07,0xFF,0xFF,0xFF,0xFA,0x00,
58 0x00,0xFF,0xFF,0xFF,0xF8,0x00,0x02,0x03,0xF0,0x20,0x07,0xFF,0xFF,0xFF,0xBA,0x00,
59 0x00,0xFD,0xFF,0xFF,0xFC,0x00,0x02,0x03,0xF0,0x20,0x03,0xFF,0xFF,0xDF,0xB8,0x00,
60 0x00,0xC1,0xC0,0x3F,0xFC,0x00,0x01,0x01,0xE0,0x40,0x00,0xFF,0xFF,0xDF,0xB0,0x00,
61 0x00,0x81,0xC0,0x3F,0xCE,0x00,0x00,0x81,0xE0,0x80,0x00,0x7F,0xFF,0xDF,0xA0,0x00,
62 0x00,0x81,0x80,0x1D,0xCF,0x00,0x00,0x41,0xE1,0x00,0x00,0x3F,0xFF,0x9B,0x00,0x00,
63 0x01,0x83,0x80,0x1F,0xC7,0x80,0x00,0x21,0xE2,0x00,0x00,0x1F,0xFD,0xB6,0x00,0x00,
64 0x01,0xC3,0x00,0x0E,0xE6,0x80,0x00,0x19,0xEC,0x00,0x00,0x07,0xFE,0x20,0x00,0x00,
65 0x00,0xC3,0x00,0x07,0x67,0x40,0x00,0x07,0xF0,0x00,0x00,0x03,0x3E,0x00,0x00,0x00,
66 0x00,0x02,0x00,0x03,0xE7,0xA0,0x00,0x00,0x00,0x00,0x00,0x02,0x8E,0x00,0x00,0x00,
67 0x00,0x06,0x00,0x03,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x00,0x00,0x00,
68 0x00,0x06,0x00,0x07,0x03,0x00,0x77,0x46,0x74,0x24,0x80,0x06,0x04,0x00,0x00,0x00,
69 0x00,0x1C,0x00,0x06,0x00,0x00,0x55,0x45,0x54,0x57,0x80,0x00,0x00,0x00,0x00,0x00,
70 0x00,0x1C,0x00,0x0E,0x00,0x00,0x45,0x45,0x74,0x57,0x80,0x08,0x00,0x00,0x00,0x00,
71 0x00,0x00,0x00,0x1C,0x00,0x00,0x55,0x45,0x44,0x74,0x80,0xF0,0x00,0x00,0x00,0x00,
72 0x00,0x00,0x00,0x38,0x00,0x00,0x77,0x76,0x47,0x54,0x80,0x00,0x00,0x00,0x00,0x00,
73 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
74 };
75
76 uchar code tab5[]={
77 /*-- 宽度x高度=128x64 --*/
78 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
79 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
80 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
81 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
82 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
83 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
84 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
85 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
86 0x00,0x00,0x00,0x04,0x00,0xC0,0x00,0x38,
87 0x00,0x00,0x30,0x00,0x00,0x69,0xC0,0x00,
88 0x00,0x00,0x00,0x04,0x18,0xC0,0x00,0x18,
89 0x00,0x00,0x30,0x00,0x01,0xFF,0xF0,0x00,
90 0x00,0x00,0x00,0x0C,0x18,0xC0,0x0A,0xBD,
91 0x50,0x1D,0x75,0xE0,0x01,0xC0,0xF0,0x00,
92 0x00,0x74,0x00,0x3F,0x8C,0x80,0x1F,0xFF,
93 0xF0,0x3F,0xFF,0xF0,0x00,0x0D,0xE0,0x00,
94 0x03,0x8F,0x00,0xF0,0x3F,0xF0,0x30,0x18,
95 0x00,0x18,0x30,0x60,0x00,0x07,0x00,0x00,
96 0x0C,0x03,0x80,0xDF,0x30,0x70,0x00,0x38,
97 0x00,0x1D,0x75,0x60,0x05,0x57,0x54,0x00,
98 0x10,0x41,0x80,0x3E,0x30,0x20,0x07,0xFF,
99 0xE0,0x1F,0xFF,0xE0,0x1F,0xFF,0xFF,0x80,
100 0x21,0xC1,0xC0,0x04,0x3C,0xF0,0x02,0x08,
101 0x00,0x18,0x30,0x60,0x3F,0x47,0xBF,0x80,
102 0x40,0xC1,0x80,0x7F,0x9F,0xA0,0x02,0x19,
103 0x80,0x1D,0x7F,0xE0,0x30,0x03,0x03,0x00,
104 0xC1,0xC1,0x80,0x2E,0x05,0x80,0x27,0x99,
105 0x80,0x0F,0xFF,0xE0,0x00,0x03,0x00,0x00,
106 0x81,0x83,0x00,0x04,0x0D,0x00,0x33,0xE3,
107 0x00,0x0C,0x70,0x00,0x00,0x03,0x00,0x00,
108 0x81,0x86,0x00,0x0D,0x99,0x80,0x60,0x3E,
109 0x00,0x00,0x38,0x01,0x00,0x07,0x00,0x00,
110 0x81,0xBC,0x00,0x0F,0x39,0xC6,0xE0,0x0F,
111 0xB6,0x00,0x3F,0xBF,0x00,0x07,0x00,0x00,
112 0x83,0xF0,0x00,0x1E,0xE0,0xFE,0xE0,0x03,
113 0xFE,0x00,0x0F,0xFE,0x01,0xFF,0x00,0x00,
114 0xC3,0x30,0x00,0x89,0x80,0x7C,0x00,0x01,
115 0xF8,0x00,0x07,0xFC,0x00,0x7C,0x00,0x00,
116 0x63,0x31,0xFF,0x00,0x00,0x00,0x00,0x00,
117 0x20,0x00,0x00,0x50,0x00,0x00,0x00,0x00,
C51 COMPILER V9.00 12864LCDTEST 09/27/2012 19:21:10 PAGE 3
118 0x63,0x19,0x12,0x00,0x00,0x00,0x00,0x00,
119 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
120 0x07,0x19,0x04,0x3F,0xFF,0xFF,0xFF,0xFF,
121 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
122 0x07,0x19,0x88,0x3F,0xFF,0xFF,0xFF,0xFF,
123 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
124 0x06,0x0C,0x10,0x00,0x00,0x00,0x00,0x00,
125 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
126 0x0E,0x0C,0x20,0x00,0x00,0x00,0x00,0x00,
127 0x08,0x00,0x00,0x00,0x00,0x40,0x00,0x00,
128 0x3E,0x0E,0x40,0x0A,0x6D,0xB4,0x07,0x84,
129 0x35,0x1A,0x67,0xA2,0x01,0xA7,0x9B,0x00,
130 0x45,0x86,0x80,0x0A,0xAA,0xB4,0x04,0x44,
131 0x26,0x92,0x68,0xA2,0x01,0x34,0x93,0x00,
132 0x00,0x03,0x01,0x0E,0xAE,0xB4,0x04,0x44,
133 0x61,0x1B,0x68,0xA2,0x01,0x0C,0x5B,0x00,
134 0x00,0x07,0x03,0x0A,0xBA,0xD8,0x06,0x84,
135 0x41,0xF2,0xC8,0x22,0x03,0x08,0xD7,0x00,
136 0x00,0x07,0x87,0x0D,0x96,0x68,0x05,0x84,
137 0x61,0x9B,0xE8,0x22,0x02,0x0C,0x5F,0x00,
138 0x00,0x1F,0xF6,0x0D,0xB6,0x58,0x04,0x84,
139 0x45,0x15,0xA8,0xA2,0x03,0x14,0xD5,0x00,
140 0x00,0x10,0xFC,0x05,0x92,0x48,0x04,0x84,
141 0x25,0x93,0xAC,0xA2,0x01,0x24,0x95,0x00,
142 0x00,0x00,0x00,0x0D,0x96,0x49,0x04,0x44,
143 0x3D,0x14,0xA7,0x1C,0x41,0xE7,0x15,0x00,
144 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
145 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
146 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
147 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
148 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
149 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
150 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
151 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
152 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
153 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
154 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
155 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
156 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
157 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
158 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
159 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
160 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
161 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
162 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
163 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
164 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
165 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
166 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
167 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
168 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
169 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
170 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
171 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
172 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
173 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
174 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
175 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
176 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
177 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
178 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
179 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
C51 COMPILER V9.00 12864LCDTEST 09/27/2012 19:21:10 PAGE 4
180 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
181 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
182 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
183 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
184 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
185 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
186 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
187 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
188 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
189 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
190 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
191 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
192 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
193 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
194 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
195 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
196 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
197 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
198 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
199 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
200 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
201 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
202 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
203 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
204 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
205 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
206 };
207
208
209 void init_lcd (void)
210 {
211 1 RST = 1;
212 1 PSB = 1;
213 1 wr_lcd(comm,0x30); /*30---基本指令动作*/
214 1 wr_lcd(comm,0x01); /*清屏,地址指针指向00H*/
215 1 wr_lcd(comm,0x06); /*光标的移动方向*/
216 1 wr_lcd(comm,0x0c); /*开显示,关游标*/
217 1 }
218
219 /******************************************************************************************
220 * 函数名称 :chn_disp
221 * 功能描述 : 显示汉字或字符
222 * 参数 : 参数名称: 输入/输出? 类型 描述
223 *
224 * 返回值 :
225 * 作者 :
226 * 创建日期 :2006-12-19
227 * 全局变量 :
228 * 全局静态变量:
229 * 局部静态变量:
230 *----------------------------------------修改历史------------------------------------------
231 * 当前版本 : 修改人: 修改日期:
232 * 修改说明 :
233 ******************************************************************************************/
234 void chn_disp(uchar code *chn)
235 {
236 1 uchar i,j;
237 1 wr_lcd(comm,0x30);
238 1 wr_lcd(comm,0x80);
239 1 for(j=0;j<4;j++)
240 1 {
241 2 for(i=0;i<16;i++)
C51 COMPILER V9.00 12864LCDTEST 09/27/2012 19:21:10 PAGE 5
242 2 wr_lcd(dat,chn[j*16+i]);
243 2 }
244 1 }
245
246 /******************************************************************************************
247 * 函数名称 :chn_disp1
248 * 功能描述 : 上半屏显示汉字或字符
249 * 参数 : 参数名称: 输入/输出? 类型 描述
250 *
251 * 返回值 :
252 * 作者 :
253 * 创建日期 :2006-12-19
254 * 全局变量 :
255 * 全局静态变量:
256 * 局部静态变量:
257 *----------------------------------------修改历史------------------------------------------
258 * 当前版本 : 修改人: 修改日期:
259 * 修改说明 :
260 ******************************************************************************************/
261 void chn_disp1(uchar code *chn)
262 {
263 1 uchar i,j;
264 1 wr_lcd(comm,0x30);
265 1 wr_lcd(comm,0x80);
266 1 j=0;
267 1 for(i=0;i<16;i++)
268 1 wr_lcd(dat,chn[j*16+i]);
269 1 wr_lcd(comm,0x90);
270 1 j=1;
271 1 for(i=0;i<16;i++)
272 1 wr_lcd(dat,chn[j*16+i]);
273 1 }
274
275 /******************************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -