📄 dds9954.lst
字号:
450 //*函数功能:并行清屏函数 *
451 //*形式参数:无 *
452 //*形参说明:无 *
453 //*返回参数:无 *
454 //*使用说明:DDRAM填满20H,并设定DDRAM AC到00H *
455 //*格式说明: *
456 //* RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 *
457 //* 0 0 0 0 0 0 0 0 0 1 *
458 //********************************************************
459 void Parallel_Clear_Ram(void)
460 {
461 1 Parallel_Write_LCD(COMMAND,BASIC_FUNCTION); //基本指令集
462 1 Parallel_Write_LCD(COMMAND,CLEAR_SCREEN); //清屏
463 1 }
464
465
466 //*****************************************************
467 //*函数名称:void Parallel_Graph_Mode_Set(bit bSelect) *
468 //*函数功能:打开或关闭绘图显示 *
469 //*形式参数:bit bSelect *
470 //*形参说明:打开或关闭绘图显示的标志位,1打开,0关闭 *
471 //*格式说明: *
472 //* RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 *
473 //* 0 0 0 0 1 DL X RE G X *
474 //* DL:0,4bitMPU控制界面 *
475 //* DL:1,8bitMPU控制界面 *
476 //* RE:0,基本指令集 *
477 //* RE:1,扩充指令集 *
478 //* G :0,绘图显示OFF *
479 //* G :1,绘图显示ON *
480 //*返回参数:无 *
481 //*使用说明:无 *
482 //*****************************************************
483 void Parallel_Graph_Mode_Set(bit bSelect)
484 {
485 1 Parallel_Write_LCD(COMMAND,EXTEND_FUNCTION); //扩展指令集
486 1 if(bSelect)
487 1 {
488 2 Parallel_Write_LCD(COMMAND,GRAPH_ON); //打开绘图模式
489 2 }
C51 COMPILER V8.02 DDS9954 04/08/2008 23:07:51 PAGE 9
490 1 else
491 1 {
492 2 Parallel_Write_LCD(COMMAND,GRAPH_OFF); //关闭绘图模式
493 2 }
494 1 }
495
496
497 //*********************************************************************************
498 //*函数名称:void Parallel_DisplayStrings_WithAddress(uchar ucAdd,uchar code *p) *
499 //*函数功能:在(文本区)ucAdd指定的位置显示一串字符(或是汉字或是ASCII或是两者混合) *
500 //*形式参数:uchar ucAdd,uchar code *p *
501 //*形参说明:指定的位置,要显示的字符串 *
502 //*地址必须是:80H~8FH,90H~9FH,88H~AFH,98H~BFH *
503 //*返回参数:无 *
504 //*使用说明:使用之前要初始化液晶 *
505 //*********************************************************************************
506 void Parallel_DisplayStrings_WithAddress(uchar ucAdd,uchar code *p)
507 {
508 1 uchar length;
509 1 length = strlen(p);
510 1 Parallel_Write_LCD(COMMAND,BASIC_FUNCTION); //基本指令动作
511 1 Parallel_DDRAM_Address_Set(ucAdd);
512 1 for( ; length ; length -- )
513 1 Parallel_Write_LCD(DATA, *(p++));
514 1 }
515
516
517
518 //****************************************************************
519 //*函数名称:void Parallel_ImgDisplay(unsigned char code *img) *
520 //*函数功能:全屏显示128*64个象素的图形 *
521 //*形式参数:unsigned char code *img *
522 //*形参说明:要显示的图形 *
523 //*液晶屏坐标说明: *
524 //* _______________________________________________ *
525 //* |(0,0) (7,0) | *
526 //* | | *
527 //* | | *
528 //* |(0,31) (7,31)| *
529 //* |(8,0) (15,0)| *
530 //* | | *
531 //* | | *
532 //* |(8,31) (15,31)| *
533 //* |______________________________________________| *
534 // *
535 //返回参数:无 *
536 //使用说明:此函数适用于RT12864-4M型液晶 *
537 //****************************************************************
538 void Parallel_ImgDisplay(unsigned char code *img)
539 {
540 1 uchar i,j;
541 1 Parallel_Graph_Mode_Set(0x01); //先关闭图形显示功能
542 1 for(j=0;j<32;j++)
543 1 {
544 2 for(i=0;i<8;i++)
545 2 {
546 3 Parallel_Write_LCD(COMMAND,0x80+j); //设定垂直坐标
547 3 Parallel_Write_LCD(COMMAND,0x80+i); //设定水平坐标
548 3 Parallel_Write_LCD(DATA,img[j*16+i*2]); //放入数据高字节
549 3 Parallel_Write_LCD(DATA,img[j*16+i*2+1]); //放入数据低字节
550 3 }
551 2 }
C51 COMPILER V8.02 DDS9954 04/08/2008 23:07:51 PAGE 10
552 1 for(j=32;j<64;j++)
553 1 {
554 2 for(i=0;i<8;i++)
555 2 {
556 3 Parallel_Write_LCD(COMMAND,0x80+j-32);
557 3 Parallel_Write_LCD(COMMAND,0x88+i);
558 3 Parallel_Write_LCD(DATA,img[j*16+i*2]);
559 3 Parallel_Write_LCD(DATA,img[j*16+i*2+1]);
560 3 }
561 2 }
562 1 Parallel_Graph_Mode_Set(0x00);//最后打开图形显示功能
563 1 }
564
565
566
567 //******************************************************************************
568 //*函数名称:void Parallel_ImgDisplayCharacter(uchar x,uchar y,uchar code *img) *
569 //*函数功能:使用绘图的方法,在(x,y)处画一个16*16点阵的图案,也可以是字符 *
570 //*形式参数:uchar x,uchar y,uchar code *img *
571 //* x取值范围:0~15 *
572 //* y取值范围:0~32 (针对RT12864-4M型液晶) *
573 //*形参说明:坐标水平位置,坐标垂直位置,要显示的图形 *
574 //*液晶屏坐标说明: *
575 //* _______________128个象素______________________ *
576 //* |(0,0) (7,0)| *
577 //* | | *
578 //* 6 | | *
579 //* 4 |(0,31) (7,31)| *
580 //* 个 |(8,0) (15,0)| *
581 //* 象 | | *
582 //* 素 | | *
583 //* |(8,31)________________________________(15,31)| *
584 //* *
585 //*返回参数:无 *
586 //*使用说明:此函数适用于RT12864-4M型液晶 *
587 //******************************************************************************
588 void Parallel_ImgDisplayCharacter(uchar x,uchar y,uchar code *img)
589 {
590 1 uchar i;
591 1 Parallel_Graph_Mode_Set(0x01); //先关闭图形显示功能
592 1 Parallel_Write_LCD(COMMAND,EXTEND_FUNCTION);
593 1 for(i=0;i<16;i++)
594 1 {
595 2
596 2 // Parallel_Write_LCD(COMMAND,0x80+y+i);
597 2 //Parallel_Write_LCD(COMMAND,0x80+x);
598 2 Parallel_GDRAM_Address_Set(0x80+y+i);
599 2 Parallel_GDRAM_Address_Set(0x80+x);
600 2 Parallel_Write_LCD(DATA,img[i*2]);
601 2 Parallel_Write_LCD(DATA,img[i*2+1]);
602 2 }
603 1 Parallel_Graph_Mode_Set(0x00); //最后打开图形显示功能
604 1 }
605
606
607
608
609
610 void main()
611 {
612 1
613 1 PSB=0;
C51 COMPILER V8.02 DDS9954 04/08/2008 23:07:51 PAGE 11
614 1 Parallel_Init_LCD();
615 1 Parallel_DisplayStrings_WithAddress(0x80,Tab1);
616 1 Parallel_DisplayStrings_WithAddress(0x90,Tab2);
617 1 Parallel_DisplayStrings_WithAddress(0x88,Tab3);
618 1 Parallel_DisplayStrings_WithAddress(0x98,Tab4);
619 1
620 1 IO9954_Init();
621 1 PS1=0;
622 1 PS0=0;
623 1 AD9954_LinearSweep_Init();
624 1
625 1 while(1)
626 1 {
627 2
628 2
629 2 PS0=0;
630 2 nNop(2);
631 2 PS0=1;
632 2 AD9954_LinearSweep_Freq();
633 2
634 2
635 2 }
636 1 }
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 872 ----
CONSTANT SIZE = 55 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 28 15
IDATA SIZE = ---- ----
BIT SIZE = ---- 3
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -