📄 ra8835.lst
字号:
422 **
423 ** 全局变量: 无
424 ** 调用模块:
425 **---------------------------------------------------------------------------
426 ** 作 者: wjf
427 ** 日 期: 2008/08/09
C51 COMPILER V7.20 RA8835 08/19/2008 11:47:52 PAGE 8
428 ============================================================================*/
429
430 void printfLeftRight(Uchar x,Uchar y, Uchar flag, Uchar att)
431 {
432 1
433 1 Uchar i,j;
434 1 WriteCommand( CsrDirD );
435 1 Locatexy(x,y,att);
436 1 for(i=0;i<2;i++)
437 1 {
438 2 Locatexy(x+i,y,att);
439 2 WriteCommand( mWrite );
440 2 for(j=0;j<16;j++) WriteData( Left_Right[flag][j*2 + i]);
441 2 }
442 1
443 1 }
444
445 /*======================================================
446 ** 函数名称: printlcd_single
447 ** 功能描述: 显示一个车牌号位
448 ** 输入参数: 无
449 **
450 ** 输出参数: 无
451 **
452 ** 全局变量: 无
453 ** 调用模块: 车牌输入时使用
454 **----------------------------------------------------
455 ** 作 者: wjf
456 ** 日 期: 2008/08/08
457 ======================================================*/
458 void printlcd_single(void)//显示一个车牌号位
459 {
460 1 unsigned char i=0,j=0,temp=0;
461 1 WriteCommand( CsrDirD );
462 1 Locatexy(18,0x30,0);
463 1 switch (yuyan_sel)
464 1 {
465 2 case 0:
466 2 {
467 3
468 3 for(i=0;i<2;i++) // 汉字
469 3 {
470 4 Locatexy(18+i,0x30,0);
471 4 WriteCommand( mWrite );
472 4 for(j=0;j<16;j++) WriteData( Cdotlib[byte_sel+106].Msk[j*2 + i]);
473 4 }
474 3 break;
475 3 }
476 2 case 1: //字母
477 2 {
478 3 WriteCommand( mWrite );
479 3 for(j=0;j<16;j++) WriteData(ASC_MSK[(byte_sel+33)*16 +j ]);
480 3 break;
481 3 }
482 2 default: //数字
483 2 {
484 3 if(byte_sel==10) temp=0;
485 3 else temp=byte_sel;
486 3 WriteCommand( mWrite );
487 3 for(j=0;j<16;j++) WriteData(ASC_MSK[(temp+16)*16 +j ]);
488 3 break;
489 3 }
C51 COMPILER V7.20 RA8835 08/19/2008 11:47:52 PAGE 9
490 2 }
491 1 }
492
493
494 /*======================================================
495 ** 函数名称: printlcd_car_show
496 ** 功能描述: 显示一个车牌号
497 ** 输入参数: Uchar x 显示字符串的横坐标 8点一字节位置
498 Uchar y 显示字符串的纵坐标 一条扫描线定位
499 Uchar * pcar 车牌号存储数字 大小为7
500 **
501 ** 输出参数: 无
502 **
503 ** 全局变量: 无
504 ** 调用模块: 车牌显示时使用
505 **----------------------------------------------------
506 ** 作 者: wjf
507 ** 日 期: 2008/08/11
508 ======================================================*/
509 void printlcd_car_show(Uchar x,Uchar y, Uchar * pcar, Uchar att)//显示一个车牌号位
510 {
511 1 Uchar i=0,j,k,uRow,uCol,c1;
512 1 uRow=x;
513 1 uCol=y;
514 1 WriteCommand( CsrDirD );
515 1 Locatexy(uRow,uCol,att);
516 1 while(i<7)
517 1 {
518 2 c1 = pcar[i];
519 2 if(c1 == 91)
520 2 {
521 3 WriteCommand( mWrite );
522 3 for(j=0;j<16;j++) WriteData(ASC_MSK[(0)*16 +j ]);
523 3 uRow++;
524 3 i++;
525 3 }
526 2 else if(c1 <55)
527 2 {
528 3 for(k=0;k<2;k++)
529 3 {
530 4 Locatexy(uRow+k,uCol,att);
531 4 WriteCommand( mWrite );
532 4 for(j=0;j<16;j++) WriteData( Cdotlib[pcar[i]+106].Msk[j*2 + k]);
533 4 }
534 3 uRow +=2;
535 3 i++;
536 3 }
537 2 else
538 2 {
539 3 if(pcar[i]<81)
540 3 {
541 4 WriteCommand( mWrite );
542 4 for(j=0;j<16;j++) WriteData(ASC_MSK[(pcar[i]-55+33)*16 +j ]);
543 4 uRow++;
544 4 i++;
545 4
546 4 }
547 3 else
548 3 {
549 4 WriteCommand( mWrite );
550 4 for(j=0;j<16;j++) WriteData(ASC_MSK[(pcar[i]-81+16)*16 +j ]);
551 4 uRow++;
C51 COMPILER V7.20 RA8835 08/19/2008 11:47:52 PAGE 10
552 4 i++;
553 4 }
554 3
555 3 }
556 2 if(uRow >= 40)
557 2 {
558 3 uCol += 16;
559 3 uRow = 0;
560 3 if( uCol >= 240 ) uCol = 0;
561 3 }
562 2 Locatexy(uRow,uCol,att);
563 2 }
564 1 }
565
566 /*======================================================
567 ** 函数名称: printlcd_char
568 ** 功能描述: 显示一个字符
569 ** 输入参数: Uchar ascii 显示字符的ASCII码
570 **
571 ** 输出参数: 无
572 **
573 ** 全局变量: 无
574 ** 调用模块:
575 **----------------------------------------------------
576 ** 作 者: wjf
577 ** 日 期: 2008/08/12
578 ======================================================*/
579 void printlcd_char(Uchar ascii_valu)
580 {
581 1 Uchar j=0;
582 1 WriteCommand( CsrDirD );
583 1 WriteCommand( mWrite );
584 1 for(j=0;j<16;j++) WriteData( ASC_MSK[(ascii_valu-0x20)*16 +j ]);
585 1 }
586
587 /*======================================================
588 ** 函数名称: lcd_CSR
589 ** 功能描述: 光标显示开关
590 ** 输入参数: Uchar flag 0 ——关 1——开
591 **
592 ** 输出参数: 无
593 **
594 ** 全局变量: 无
595 ** 调用模块:
596 **----------------------------------------------------
597 ** 作 者: wjf
598 ** 日 期: 2008/08/12
599 ======================================================*/
600 void lcd_CSR(Uchar flag)
601 {
602 1 if(flag==1)
603 1 {
604 2 WriteCommand( CsrForm ); //设置光标形状
605 2 WriteData( 0x07 );
606 2 WriteData( 0x02 );
607 2 WriteCommand( DispOn ); // 显示状态设置
608 2 WriteData( 0x56 ); // 显示 1~4 区开显示,光标开显示
609 2 }
610 1 else if(flag==0)
611 1 {
612 2 WriteCommand( CsrForm ); //设置光标形状
613 2 WriteData( 0x07 );
C51 COMPILER V7.20 RA8835 08/19/2008 11:47:52 PAGE 11
614 2 WriteData( 0x00 );
615 2 WriteCommand( DispOn ); // 显示状态设置
616 2 WriteData( 0x54 ); // 显示 1~4 区开显示,光标开显
617 2 }
618 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1879 ----
CONSTANT SIZE = 10572 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 66
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -