📄 lcddev_ra8806.lst
字号:
252 //Function:
253 //==============================================================================
254 /*
255 void Access_Page0(void)
256 {
257 unsigned char temp;
258
259 LCD_CmdWrite(MAMR);
260 temp = LCD_DataRead();
261 temp &= cClrb1;
262 temp &= cClrb0;
263 LCD_CmdWrite(MAMR);
264 LCD_DataWrite(temp);
265 }
266 //==============================================================================
267 //Subroutine: Access_Page2
268 //Function:
269 //==============================================================================
270 void Access_Page2(void)
271 {
272 unsigned char temp;
273
274 LCD_CmdWrite(MAMR);
275 temp = LCD_DataRead();
276 temp |= cSetb1;
277 temp &= cClrb0;
278 LCD_CmdWrite(MAMR);
279 LCD_DataWrite(temp);
280 }
281
282 */
283 //==============================================================================
284 //Subroutine: Access_Page1
285 //Function:
286 //==============================================================================
287 void Access_Page1(void)
288 {
289 1 unsigned char temp;
290 1
291 1 LCD_CmdWrite(MAMR);
292 1 temp = LCD_DataRead();
293 1 temp &= cClrb1;
294 1 temp |= cSetb0;
295 1 LCD_CmdWrite(MAMR);
296 1 LCD_DataWrite(temp);
297 1 }
298
299 //==============================================================================
300 //Subroutine: Access_2Page
301 //Function:
302 //==============================================================================
303 void Access_2Page(void)
C51 COMPILER V7.09 LCDDEV_RA8806 02/09/2009 16:04:54 PAGE 6
304 {
305 1 unsigned char temp;
306 1
307 1 LCD_CmdWrite(MAMR);
308 1 temp = LCD_DataRead();
309 1 temp |= cSetb1;
310 1 temp |= cSetb0;
311 1 LCD_CmdWrite(MAMR);
312 1 LCD_DataWrite(temp);
313 1 }
314 //==============================================================================
315 //Subroutine: Fill_PNTR_to_DPRAM
316 //Function:
317 //==============================================================================
318 void Fill_PNTR_to_DPRAM(void)
319 {
320 1 unsigned char temp;
321 1
322 1 LCD_CmdWrite(FNCR);
323 1 temp = LCD_DataRead();
324 1 temp |= cSetb3;
325 1 LCD_CmdWrite(FNCR);
326 1 LCD_DataWrite(temp);
327 1
328 1 do{
329 2 LCD_Delay(0);
330 2 }while(LCD_CmdRead() & 0x80);
331 1
332 1 }
333
334 unsigned char Lcd_ReadReg(unsigned char CmdReg)
335 {
336 1 LCD_CmdWrite(CmdReg); // 选择需要读取寄存器的地址
337 1 CmdReg = LCD_DataRead();
338 1 return CmdReg;
339 1 }
340 //==============================================================================
341 //Subroutine: Only_Show_Page1
342 //Function:
343 //==============================================================================
344 void Only_Show_Page1(void)
345 {
346 1 unsigned char temp;
347 1
348 1 LCD_CmdWrite(MAMR);
349 1 temp = LCD_DataRead();
350 1 temp &= cClrb6;
351 1 temp &= cClrb5;
352 1 temp |= cSetb4;
353 1 LCD_CmdWrite(MAMR);
354 1 LCD_DataWrite(temp);
355 1 }
356 /*******************************************************************************************************
357 ** 名 称: void LcdClear(void)
358 ** 功 能:向LCD中写入指令数据
359 ** 入口参数:DatValue
360 ** 出口参数:无
361 **----------------------------------------------------------------------------------------------------
362 ** 作 者 : 严 俊 生
363 ** 日 期 : 2009-01-26
364 *******************************************************************************************************/
365 void Lcd_ClearScreen(void)
C51 COMPILER V7.09 LCDDEV_RA8806 02/09/2009 16:04:54 PAGE 7
366 {
367 1 LCD_Graphic();
368 1 Access_2Page();
369 1 LCD_CmdWrite(PNTR);
370 1 LCD_DataWrite(0x00);
371 1 Fill_PNTR_to_DPRAM();
372 1 }
373 /*******************************************************************************************************
374 ** 名 称: void LcdClear(void)
375 ** 功 能:设定 显示坐标 (内存地址) 子程序
376 ** 入口参数:无
377 ** 出口参数:无
378 **----------------------------------------------------------------------------------------------------
379 ** 作 者 : 严 俊 生
380 ** 日 期 : 2009-01-26
381 *******************************************************************************************************/
382 void LCD_GotoXY(unsigned char X1,unsigned char Y1)
383 {
384 1 LCD_CmdWrite(CURX);
385 1 LCD_DataWrite((X1 & 0x3F)); // 设定水平坐标地址
386 1 LCD_Delay(1);
387 1 LCD_CmdWrite(CURY);
388 1 LCD_DataWrite((Y1 & 0xFF)); // 设定垂直坐标地址
389 1 LCD_Delay(1);
390 1 }
391
392 /*******************************************************************************************************
393 ** 名 称: void LCD_Initial(void)
394 ** 功 能:初始化LCD,定义所有缓存器的初始值
395 ** 入口参数:无
396 ** 出口参数:无
397 **----------------------------------------------------------------------------------------------------
398 ** 作 者 : 严 俊 生
399 ** 日 期 : 2009-01-26
400 *******************************************************************************************************/
401 #define XCK_FREQUENCY 0x08
402 #define IDLE_TIME 87
403 void LCD_Initial(void)
404 {
405 1 LCD_CmdWrite(WLCR); //[00H] , Default --> 0x00
406 1 LCD_DataWrite(0x00);
407 1
408 1 LCD_CmdWrite(MISC); //[01H] , Default --> 0x00
409 1 LCD_DataWrite(0x00);
410 1
411 1 LCD_CmdWrite(ADSR); //[03H] , Default --> 0x00
412 1 LCD_DataWrite(0x00);
413 1
414 1 LCD_CmdWrite(INTR); //[0FH] , Default --> 0x00
415 1 LCD_DataWrite(0x00);
416 1
417 1 LCD_CmdWrite(WCCR); //[10H] , Default --> 0x00
418 1 LCD_DataWrite(0x06);
419 1
420 1 LCD_CmdWrite(CHWI); //[11H] , Default --> 0x00
421 1 LCD_DataWrite(0xF5);
422 1
423 1 LCD_CmdWrite(MAMR); //[12H] , Default --> 0x11
424 1 LCD_DataWrite(0x12);
425 1
426 1 LCD_CmdWrite(AWRR); //[20H] , Default --> 0x27
427 1 LCD_DataWrite(0x27);
C51 COMPILER V7.09 LCDDEV_RA8806 02/09/2009 16:04:54 PAGE 8
428 1
429 1 LCD_CmdWrite(DWWR); //[21H] , Default --> 0x27
430 1 LCD_DataWrite(0x27);
431 1
432 1 LCD_CmdWrite(AWBR); //[30H] , Default --> 0xEF
433 1 LCD_DataWrite(0xef);
434 1
435 1 LCD_CmdWrite(DWHR); //[31H] , Default --> 0xEF
436 1 LCD_DataWrite(0xef);
437 1
438 1 LCD_CmdWrite(AWLR); //[40H] , Default --> 0x00
439 1 LCD_DataWrite(0x00);
440 1
441 1 LCD_CmdWrite(AWTR); //[50H] , Default --> 0x00
442 1 LCD_DataWrite(0x00);
443 1
444 1 LCD_CmdWrite(CURX); //[60H] , Default --> 0x00
445 1 LCD_DataWrite(0x00);
446 1
447 1 LCD_CmdWrite(BGSG); //[61H] , Default --> 0x00
448 1 LCD_DataWrite(0x00);
449 1
450 1 LCD_CmdWrite(EDSG); //[62H] , Default --> 0x00
451 1 LCD_DataWrite(0x00);
452 1
453 1 LCD_CmdWrite(CURY); //[70H] , Default --> 0x00
454 1 LCD_DataWrite(0x00);
455 1
456 1 LCD_CmdWrite(BGCM); //[71H] , Default --> 0x00
457 1 LCD_DataWrite(0x00);
458 1
459 1 LCD_CmdWrite(EDCM); //[72H] , Default --> 0x00
460 1 LCD_DataWrite(0x00);
461 1
462 1 LCD_CmdWrite(BTMR); //[80H] , Default --> 0x00
463 1 LCD_DataWrite(0x20);
464 1
465 1 LCD_CmdWrite(ITCR); //[90H] , Default --> 0x00
466 1 LCD_DataWrite(0x00);
467 1
468 1 LCD_CmdWrite(KSCR1); //[A0H] , Default --> 0x00
469 1 LCD_DataWrite(0x00);
470 1
471 1 LCD_CmdWrite(KSCR2); //[A1H] , Default --> 0x00
472 1 LCD_DataWrite(0x00);
473 1
474 1 LCD_CmdWrite(KSDR0); //[A2H] , Default --> 0x00
475 1 LCD_DataWrite(0x00);
476 1
477 1 LCD_CmdWrite(KSDR1); //[A3H] , Default --> 0x00
478 1 LCD_DataWrite(0x00);
479 1
480 1 LCD_CmdWrite(KSDR2); //[A3H] , Default --> 0x00
481 1 LCD_DataWrite(0x00);
482 1
483 1 // LCD_CmdWrite(MWCR); //[B0H] , Default --> NA
484 1
485 1 // LCD_CmdWrite(MRCR); //[B1H] , Default --> NA
486 1
487 1 LCD_CmdWrite(TPCR); //[C0H] , Default --> 0x00
488 1 LCD_DataWrite(0x00);
489 1
C51 COMPILER V7.09 LCDDEV_RA8806 02/09/2009 16:04:54 PAGE 9
490 1 LCD_CmdWrite(TPXR); //[C1H] , Default --> 0x00
491 1 LCD_DataWrite(0x00);
492 1
493 1 LCD_CmdWrite(TPYR); //[C2H] , Default --> 0x00
494 1 LCD_DataWrite(0x00);
495 1
496 1 LCD_CmdWrite(TPZR); //[C3H] , Default --> 0x00
497 1 LCD_DataWrite(0x00);
498 1
499 1 LCD_CmdWrite(PCR); //[D0H] , Default --> 0x00
500 1 LCD_DataWrite(0x00);
501 1
502 1 LCD_CmdWrite(PDCR); //[D1H] , Default --> 0x00
503 1 LCD_DataWrite(0x00);
504 1
505 1 LCD_CmdWrite(PNTR); //[E0H] , Default --> 0x00
506 1 LCD_DataWrite(0x00);
507 1
508 1 LCD_CmdWrite(FNCR); //[F0H] , Default --> 0x00
509 1 LCD_DataWrite(0x00);
510 1
511 1 LCD_CmdWrite(FVHT); //[F1H] , Default --> 0x00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -