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

📄 pg160128a.lst

📁 本程序是基于T6963C的程序 好用 欢迎下载
💻 LST
📖 第 1 页 / 共 3 页
字号:
 446   1              }
 447          
 448          /********************************文本方式下,用指定数据填充字符***********/
 449          void cgram_wave(void)
 450                  {
 451   1                      uint i;
 452   1                      uchar mychar[40]={  0x00,0x04,0x02,0xff,0x02,0x04,0x00,0x00,//→
 453   1                                                              0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,//─
 454   1                                                              0x08,0x1c,0x2a,0x08,0x08,0x08,0x08,0x08,//↑
 455   1                                                              0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,//│
 456   1                                                              0x08,0x08,0x08,0xff,0x08,0x08,0x08,0x08,//┽
 457   1                                                        };
 458   1      
 459   1                      fnPR1(LC_ADD_POS,0x08,0x1c);    /* 置地址指针 */
 460   1                      fnPR12(LC_AUT_WR);                              /* 自动写 */
 461   1                      for(i=0;i<40;i++) 
 462   1                              {
 463   2                                      fnST3();
 464   2                                      fnPR13(mychar[i]);                              /* 写数据 */
 465   2                              }
 466   1                      fnPR12(LC_AUT_OVR);                     /* 自动写结束 */
 467   1                      fnPR1(LC_ADD_POS,0x00,0x00);    /* 重置地址指针 */
 468   1                      gCurRow = 0;                                    /* 置地址指针存储变量 */
 469   1                      gCurCol = 0;
 470   1              }
 471          /*********************************矩形填充0x80字符*******************/
 472          void txtfill(uchar col,uchar row,uchar h,uchar l,uchar arc)
 473                  {
 474   1                      uchar i,j;
 475   1                      for(i=0;i<h;i++)
 476   1                              for(j=0;j<l;j++)
 477   1                                      {
 478   2                                              fnSetPostxt(row+i,j+col);
 479   2                                              fnPR11(LC_NOC_WR,arc);
 480   2                                      }
 481   1              }
 482          
 483          void cgram_waveinit(void)
 484                  {
 485   1                      txtfill(0,3,1,1,'5'-32);
 486   1                      txtfill(1,3,1,1,'V'-32);
 487   1                      txtfill(2,2,12,1,0x84);
 488   1                      txtfill(2,1,1,1,0x83);
 489   1                      txtfill(2,14,1,1,0x85);
C51 COMPILER V7.06   PG160128A                                                             05/16/2009 11:06:12 PAGE 9   

 490   1                      txtfill(3,14,1,15,0x82);
 491   1                      txtfill(18,14,1,1,0x81);
 492   1                      txtfill(2,3,1,1,0x85);
 493   1              }
 494          void cgram_wavecls(void)
 495                  {
 496   1                      txtfill(0,3,1,1,' '-32);
 497   1                      txtfill(1,3,1,1,' '-32);
 498   1                      txtfill(2,2,12,1,0x86);
 499   1                      txtfill(2,1,1,1,0x86);
 500   1                      txtfill(2,14,1,1,0x86);
 501   1                      txtfill(3,14,1,15,0x86);
 502   1                      txtfill(18,14,1,1,0x86);
 503   1                      txtfill(2,3,1,1,0x86);
 504   1              }
 505          void menuprint()
 506                  {
 507   1                      
 508   1                      
 509   1                      fnPR1(LC_GRH_STP,0x00,0x0a);
 510   1                      cursor1(0,0);
 511   1                      dprintf1("%s","请选择:");//Please choose:
 512   1                      cursor1(2,0);
 513   1                      dprintf1("%s","1,T6963模块基本功能;");//1,T6963C核LCD;
 514   1                      cursor1(3,0);
 515   1                      dprintf1("%s","2,图形显示演示;");//;2,图形显示;
 516   1                      cursor1(4,0);
 517   1                      dprintf1("%s","3,指导老师简介;");//3,Displaywave;
 518   1                      cursor1(5,0);
 519   1                      dprintf1("%s","4,作者简介;");//4,Stepmotor control;
 520   1                      cursor1(6,0);
 521   1                      dprintf1("%s","5,关于此毕业设计.");//5,LCD接口设计;
 522   1      
 523   1              }
 524          //************菜单选择函数,返回按键号
 525          uchar menuselect()
 526                  {
 527   1                      uchar row;static uchar index;
 528   1                      index=1;row=(index-1)*2+4;
 529   1                      txtfill(0,row,2,20,0x080);
 530   1                      while(1)
 531   1                              {
 532   2                                      if(scankeypad()==3)//上
 533   2                                              {       txtfill(0,row,2,20,0);
 534   3                                                      if(index==1)
 535   3                                                              {
 536   4                                                                      
 537   4                                                                      index=5;row=(index-1)*2+4;
 538   4                                                                      txtfill(0,row,2,20,0x080);
 539   4                                                              }
 540   3                                                      else
 541   3                                                              {
 542   4                                                                      index--;row=(index-1)*2+4;
 543   4                                                                      txtfill(0,row,2,20,0x080);
 544   4                                                              }
 545   3                                              }
 546   2                                      if(scankeypad()==7)//下
 547   2                                              {       txtfill(0,row,2,20,0);
 548   3                                                      if(index==5)
 549   3                                                              {
 550   4                                                                      
 551   4                                                                      index=1;row=(index-1)*2+4;
C51 COMPILER V7.06   PG160128A                                                             05/16/2009 11:06:12 PAGE 10  

 552   4                                                                      txtfill(0,row,2,20,0x080);
 553   4                                                              }
 554   3                                                      else
 555   3                                                              {
 556   4                                                                      index++;row=(index-1)*2+4;
 557   4                                                                      txtfill(0,row,2,20,0x080);
 558   4                                                              }
 559   3                                              }
 560   2                                      if(scankeypad()==11)
 561   2                                              {
 562   3                                                      txtfill(0,row,2,20,0);
 563   3                                                      return index;
 564   3                                              }
 565   2                              }
 566   1              }
 567          void pdelay()
 568          {
 569   1      unsigned int i,j;
 570   1      for (i=500;i>0;i--)
 571   1       for(j=500;j>0;j--);
 572   1      }
 573          void showBMP(uchar row,uchar col,uchar prow,char pcol,char *uc_char) {
 574   1        uchar k,j;
 575   1        fnPR1(LC_ADD_POS,0x00,0x00);  /* 置地址指针 */
 576   1              for(k=0;k<prow;k++) 
 577   1                              {       fnSetPos1(row+k,col);   
 578   2                                  fnPR12(LC_AUT_WR);                          /* 自动写 */
 579   2                                      for(j=0;j<pcol;j++)
 580   2                                      fnPR13(uc_char[pcol*k+j]);
 581   2                                      fnPR12(LC_AUT_OVR);                     /* 自动写结束 */
 582   2                                      }
 583   1        fnPR1(LC_ADD_POS,0x00,0x00);  /* 重置地址指针 */
 584   1      }
 585          
 586          /********************************* 主函数 ********************************/
 587          void main(void) {
 588   1        fnLCMInit();
 589   1        fnPR1(LC_GRH_STP,0x00,0x0a);
 590   1        showBMP(0,0,116,20,&WATER);
 591   1        pdelay();
 592   1        cls();
 593   1        while(1)
 594   1          {   
 595   2                  cls();
 596   2                  cgram80(0xff);
 597   2                      menuprint();
 598   2                      switch(menuselect())
 599   2                {
 600   3                  
 601   3                  case 1:{
 602   4                                      cls();
 603   4                                              showBMP(8,4,46,13,&YAN);
 604   4                                      while(scankeypad()!=15); 
 605   4                                              break;}
 606   3                              case 2:{
 607   4                                      cls();
 608   4                                      showBMP(0,0,64,16,&STARTLOGO);
 609   4                                      while(scankeypad()!=15);
 610   4                                              break;
 611   4                                              }
 612   3                              case 3:{        
 613   4                                          cls();
C51 COMPILER V7.06   PG160128A                                                             05/16/2009 11:06:12 PAGE 11  

 614   4                                                      fnPR1(LC_GRH_STP,0x00,0x00);
 615   4                                                      cursor(0,5);
 616   4                                                      dprintf("%s","长江大学");
 617   4                                                      cursor(1,5);
 618   4                                                      dprintf("%s","电信学院");
 619   4                                                      cursor(2,5);
 620   4                                                      dprintf("%s","徐爱钧教授");     
 621   4                                                      while(scankeypad()!=15);
 622   4                                                  break;
 623   4                                                      
 624   4                                         }
 625   3                              case 4:{
 626   4                                                      cls();
 627   4                                                      fnPR1(LC_GRH_STP,0x00,0x00);
 628   4                                                      cursor(0,5);
 629   4                                                      dprintf("%s","长江大学");
 630   4                                                      cursor(1,7);
 631   4                                                      dprintf("%s","肖欢");
 632   4                                                      cursor(2,5);
 633   4                                                      dprintf("%s","自本10502");
 634   4                                                      while(scankeypad()!=15); 
 635   4                                                      break;
 636   4                                              }
 637   3                              case 5:{
 638   4                                                      cls();
 639   4                                                      fnPR1(LC_GRH_STP,0x00,0x00);
 640   4                                                      while(1)
 641   4                                                              {
 642   5                                                                      
 643   5                                                                      cursor(2,3);
 644   5                                                                      dprintf("%s","单片机LCD图形");
 645   5                                                                      cursor(3,6);
 646   5                                                                      dprintf("%s","接口设计");
 647   5                                                                      while(scankeypad()!=15);
 648   5                                                                  break;
 649   5                                                              }
 650   4                                              }
 651   3                  default:break;
 652   3                }
 653   2      
 654   2          } 
 655   1      
 656   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   3210    ----
   CONSTANT SIZE    =   5679    ----
   XDATA SIZE       =   2009     299
   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 + -