📄 lcd.lst
字号:
428 ------图形文本方式变换子程序-----------------------------------------------
429 ***************************************************************************
430 说明:入口参数:液晶显示方式0:文本;1:图形
431 出口参数:无
432 ***************************************************************************/
433 /*void LCD_ChangMode(unsigned char mode)
434 {
435 switch(mode)
436 {
437 case 0:
438 {
439 FUNCTION_BASIC();
440 LCD_DISP_ON();
441 break;
442 }
443 case 1:
444 {
445 LCD_CURSOR_OFF();
446 FUNCTION_EXTEND();
447 LCD_GRAPH_CLEAR();
448 LCD_GRAPH_ON();
449
450 break;
451 }
452 default:
453 break;
454 }
455 }
456 */
457 /************************************************************************
458 -------图形方式下坐标变换子程序------------------------------------------
459 *************************************************************************
460 说明:入口参数:坐标,坐标
461 出口参数:是否成功
462 ************************************************************************/
463 /*unsigned char LCD_CoorShift(unsigned char x,unsigned char y)
464 {
465 x=x-1;y=y-1;
466 x=x>>4;
467 if(x<0||x>8) return ERR;
468 if(y>=0&&y<32)
469 {
470 LCD_WriteCommand(0x80+y);
471 LCD_WriteCommand(0x80+x);
472 }
473 else
474 {
475 LCD_WriteCommand(0x80+y-32);
476 LCD_WriteCommand(0x80+x+8);
477 }
478 }
479
480 code unsigned short Position[]={0x8000,0x4000,0x2000,0x1000,
481 0x0800,0x0400,0x0200,0x0100,
482 0x0080,0x0040,0x0020,0x0010,
483 0x0008,0x0004,0x0002,0x0001
484 }; */
485 /************************************************************************
486 -------图形方式下画点子程序------------------------------------------
487 *************************************************************************
488 说明:入口参数:坐标,坐标
489 出口参数:无
C51 COMPILER V8.02 LCD 07/21/2008 09:40:00 PAGE 9
490 ************************************************************************/
491 /*void LCD_PutPiex(unsigned char x,unsigned char y)
492 {unsigned short temp;
493 unsigned char temp_H,temp_L;
494 LCD_CoorShift(x,y);
495 x=x-1;
496 x=x%16;
497 temp=Position[x];
498 temp_L=temp&0x00ff;
499 temp_H=(temp>>8)&0x00ff;
500 // temp_H|=LCD_ReadData();
501 // temp_L|=LCD_ReadData();
502 LCD_WriteData(temp_H);
503 LCD_WriteData(temp_L);
504 }
505
506
507 */
508
509
510
511 /************************************************************************
512 -------图形方式下打印BMP图画子程序------------------------------------------
513 *************************************************************************
514 说明:入口参数:图画的点数组指针
515 出口参数:无
516 ************************************************************************/
517
518 /*void LCD_PutBMP(unsigned char *ptr)
519 {unsigned char i,j;
520 for(i=0;i<0x20;i++)
521 {for(j=0;j<8;j++)
522 {
523 LCD_WriteCommand(0x80+i);
524 LCD_WriteCommand(0x80+j);
525 LCD_WriteData(*ptr);
526 ptr++;
527 LCD_WriteData(*ptr);
528 ptr++;
529 }
530 }
531 for(i=0;i<0x20;i++)
532 {for(j=0;j<8;j++)
533 {
534 LCD_WriteCommand(0x80+i);
535 LCD_WriteCommand(0x80+j+8);
536 LCD_WriteData(*ptr++);
537 LCD_WriteData(*ptr++);
538 }
539 }
540 } */
541
542 /************************************************************************
543 -------图形方式下WINDOWS窗口子程序---------------------------------------
544 *************************************************************************
545 说明:入口参数:TITLE OF THE WINDOWS
546 出口参数:无
547 ************************************************************************/
548 /*void WindowsFront(unsigned char *ptr)
549 {
550 LCD_CLEAR();
551 Delay1ms(100);
C51 COMPILER V8.02 LCD 07/21/2008 09:40:00 PAGE 10
552 LCD_ChangMode(1);
553 LCD_PutBMP(WindowsFronts);
554 Delay1ms(100);
555 LCD_ChangMode(0);
556 LCD_CURSOR_OFF();
557 LCD_Printf(1,1,ptr);
558 } */
559
560
561 /***********************************************************************
562 ------变量值显示函数-------------------------
563 说明:将变量的值显示到指定的位置
564 入口参数:显示起始位置,要显示的变量
565 出口参数:无
566 ***********************************************************************/
567 /*void LCD_Put_Varib(unsigned char x,unsigned char y, float variable)
568 {
569 unsigned char i;
570 unsigned char dispbuf[7]={0};
571
572 LCD_Goto ( (x-1), y );
573
574 if(variable<0)
575 {
576 variable=-variable;// print "-"
577 LCD_WriteData(45);
578 }
579 LCD_Goto(x,y);
580
581 dispbuf[0]=variable/10000; // divide the data into bit;
582 dispbuf[1]=(variable-dispbuf[0]*10000)/1000;
583 dispbuf[2]=(variable-dispbuf[0]*10000-dispbuf[1]*1000)/100;
584 dispbuf[3]=(variable-dispbuf[0]*10000-dispbuf[1]*1000-dispbuf[2]*100)/10;
585 dispbuf[4]=variable-dispbuf[0]*10000-dispbuf[1]*1000-dispbuf[2]*100-dispbuf[3]*10;
586 dispbuf[5]=(variable-dispbuf[0]*10000-dispbuf[1]*1000-dispbuf[2]*100-dispbuf[3]*10-dispbuf[4])/0.1;
587 dispbuf[6]=(variable-dispbuf[0]*10000-dispbuf[1]*1000-dispbuf[2]*100-dispbuf[3]*10-dispbuf[4]-dispbuf[5]*
-0.1)/0.01;
588
589
590 for(i=0;i<6;i++) // 找出第一个不是0的位数;
591 {
592 if(dispbuf[i]==0)
593 continue;
594 else
595 break;
596 }
597 for(;i<7;i++)
598 {
599
600 if(dispbuf[i]!=0)
601 {
602 dispbuf[i]=tbl[ dispbuf[i] ];
603 LCD_Goto(x, (y+i ));
604 LCD_WriteData(dispbuf[i]);
605 }
606 }
607 } */
608
609 /***************************************************/
610 //---------------清屏子函数--------------------------
611 //入口参数:无
612 //出口参数:无
C51 COMPILER V8.02 LCD 07/21/2008 09:40:00 PAGE 11
613 /***************************************************/
614 void LCD_Clear (void)
615 {
616 1 LCD_CLEAR();
617 1 Delay1ms(200);
618 1 }
619 /***************************************************/
620 //---------------关闭光标函数--------------------------
621 //入口参数:无
622 //出口参数:无
623 /***************************************************/
624 void LCD_CursorOff(void)
625 {
626 1 LCD_CURSOR_OFF();
627 1 }
628
629
630
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 323 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- 3
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -