⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dds9954.lst

📁 基于AD9954的扫频仪程序设计
💻 LST
📖 第 1 页 / 共 3 页
字号:
 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 + -