📄 3510.lst
字号:
220 2 SENDLCM(0x02, DATA);
221 2 SENDLCM(0x03, DATA);
222 2 SENDLCM(0x04, DATA);
223 2 SENDLCM(0x05, DATA);
224 2 SENDLCM(0x06, DATA);
225 2 SENDLCM(0x08, DATA);
226 2 SENDLCM(0x0f, DATA);
227 2
228 2 //green
229 2 SENDLCM(0x00, DATA);
230 2 SENDLCM(0x02, DATA);
231 2 SENDLCM(0x03, DATA);
232 2 SENDLCM(0x04, DATA);
233 2 SENDLCM(0x05, DATA);
234 2 SENDLCM(0x06, DATA);
235 2 SENDLCM(0x08, DATA);
236 2 SENDLCM(0x0f, DATA);
237 2 //blue
238 2 SENDLCM(0x00, DATA);
239 2 SENDLCM(0x03, DATA);
240 2 SENDLCM(0x06, DATA);
241 2 SENDLCM(0x0f, DATA);
C51 COMPILER V6.12 3510 05/14/2006 11:24:26 PAGE 5
242 2 DATAOVER();
243 2 }
244 1 }
245 //***********************
246 //3510i液晶初始化
247 //***********************
248 void LCD_Initialize(void)
249 {
250 1 Uint i;
251 1
252 1 P1=0xFF;
253 1
254 1 RST=0;
255 1 Delay5Ms();
256 1 RST=1;
257 1
258 1 CS=0;
259 1 SCLK=0;
260 1 SDATA=0;
261 1
262 1 SENDLCM(0x01, CMD); // LCD Software Reset
263 1 DATAOVER();
264 1 Delay5Ms();
265 1
266 1 SENDLCM(0xC6, CMD); // Initial Escape
267 1 DATAOVER();
268 1
269 1 SENDLCM(0xB9, CMD); // Refresh set
270 1 SENDLCM(0x00, DATA);
271 1 DATAOVER();
272 1
273 1 SENDLCM(0xB6, CMD); // Display Control
274 1 SENDLCM(128, DATA);
275 1 SENDLCM(128, DATA);
276 1 SENDLCM(129, DATA);
277 1 SENDLCM(84, DATA);
278 1 SENDLCM(69, DATA);
279 1 SENDLCM(82, DATA);
280 1 SENDLCM(67, DATA);
281 1 DATAOVER();
282 1
283 1 SENDLCM(0xB3, CMD); // Gray Scale Position
284 1 SENDLCM(1, DATA);
285 1 SENDLCM(2, DATA);
286 1 SENDLCM(4, DATA);
287 1 SENDLCM(8, DATA);
288 1 SENDLCM(16, DATA);
289 1 SENDLCM(30, DATA);
290 1 SENDLCM(40, DATA);
291 1 SENDLCM(50, DATA);
292 1 SENDLCM(60, DATA);
293 1 SENDLCM(70, DATA);
294 1 SENDLCM(80, DATA);
295 1 SENDLCM(90, DATA);
296 1 SENDLCM(100, DATA);
297 1 SENDLCM(110, DATA);
298 1 SENDLCM(127, DATA);
299 1 DATAOVER();
300 1
301 1 SENDLCM(0xB5, CMD); // Gamma Curve Set
302 1 SENDLCM(1, DATA);
303 1 DATAOVER();
C51 COMPILER V6.12 3510 05/14/2006 11:24:26 PAGE 6
304 1
305 1 SENDLCM(0xBD, CMD); // Power Control
306 1 SENDLCM(0x00, DATA);
307 1 DATAOVER();
308 1
309 1 SENDLCM(0xBE, CMD); // Power Control
310 1 SENDLCM(4, DATA);
311 1 DATAOVER();
312 1
313 1 SENDLCM(0x11, CMD); // Sleep out
314 1 DATAOVER();
315 1
316 1 SENDLCM(0xBA, CMD); // Power Control
317 1 SENDLCM(0x7F, DATA);
318 1 SENDLCM(0x03, DATA);
319 1 DATAOVER();
320 1
321 1 SENDLCM(0x36, CMD); // 扫描方式
322 1 SENDLCM(0xc0, DATA);
323 1 DATAOVER();
324 1
325 1 SENDLCM(0xB7, CMD); // Temperature gradient set
326 1 for(i=0; i<14; i++) {
327 2 SENDLCM(0, DATA);
328 2 }
329 1 DATAOVER();
330 1
331 1 SENDLCM(0x29, CMD); // Power Control
332 1 DATAOVER();
333 1
334 1 SENDLCM(0x03, CMD); // Booster Voltage ON
335 1 DATAOVER();
336 1
337 1 for(i=0; i<8; i++) { // Booster Voltage stabilisieren lassen
338 2 Delay5Ms();
339 2 }
340 1
341 1 SENDLCM(0x20, CMD); // Inversion control
342 1 DATAOVER();
343 1
344 1 SENDLCM(0x25, CMD); // Write contrast
345 1 SENDLCM(63, DATA);
346 1 DATAOVER();
347 1 }
348
349
350 //************************
351 //发送命令/数据到液晶
352 //************************
353 void SENDLCM(Uchar Sdata, Uchar cd)
354 {
355 1
356 1 CS=0;
357 1
358 1 SCLK=0;
359 1 if (cd==CMD)
360 1 SDATA=0;
361 1 else
362 1 SDATA=1;
363 1 SCLK=1;
364 1
365 1 ACC=Sdata;
C51 COMPILER V6.12 3510 05/14/2006 11:24:26 PAGE 7
366 1
367 1 SCLK=0;
368 1 SDATA=ACC7;
369 1 SCLK=1;
370 1
371 1 SCLK=0;
372 1 SDATA=ACC6;
373 1 SCLK=1;
374 1
375 1 SCLK=0;
376 1 SDATA=ACC5;
377 1 SCLK=1;
378 1
379 1 SCLK=0;
380 1 SDATA=ACC4;
381 1 SCLK=1;
382 1
383 1 SCLK=0;
384 1 SDATA=ACC3;
385 1 SCLK=1;
386 1
387 1 SCLK=0;
388 1 SDATA=ACC2;
389 1 SCLK=1;
390 1
391 1 SCLK=0;
392 1 SDATA=ACC1;
393 1 SCLK=1;
394 1
395 1 SCLK=0;
396 1 SDATA=ACC0;
397 1 SCLK=1;
398 1
399 1 }
400
401
402 //************************
403 //发送数据帧结束
404 //************************
405 void DATAOVER(void) {
406 1 CS=1; // CS wieder auf 1
407 1 }
408
409 // 短延时
410 void Delay5Ms(void)
411 {
412 1 Uint i = 5552;
413 1 while(i--);
414 1 }
415
416 //长延时
417 void Delay400Ms(void)
418 {
419 1 Uchar i = 5;
420 1 Uint j;
421 1 while(i--)
422 1 {
423 2 j=7269;
424 2 while(j--);
425 2 };
426 1 }
427
C51 COMPILER V6.12 3510 05/14/2006 11:24:26 PAGE 8
428
429
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 844 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 4
IDATA SIZE = ---- ----
BIT SIZE = ---- 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -