lcd12864.lst

来自「用proteus模拟仿真实现俄罗期方块游戏」· LST 代码 · 共 250 行 · 第 1/2 页

LST
250
字号
 114   3                              }
 115   2                      else
 116   2                              {
C51 COMPILER V8.05a   LCD12864                                                             09/09/2007 10:45:04 PAGE 3   

 117   3                              for(ucCount=0;ucCount<64-ucLine;ucCount++)
 118   3                                      vWriteData(*(ucaRow+ucCount));
 119   3      
 120   3                              CS1=0;
 121   3                              CS2=1;
 122   3                              vWriteCMD(LCDPAGE+ucPage);
 123   3                              vWriteCMD(LCDLINE);
 124   3                              for(ucCount=64-ucLine;ucCount<ucWidth;ucCount++)
 125   3                                      vWriteData(*(ucaRow+ucCount));
 126   3                              }
 127   2                      }
 128   1              else
 129   1                      {
 130   2                      CS1=0;
 131   2                      CS2=1;
 132   2                      vWriteCMD(LCDPAGE+ucPage);
 133   2                      vWriteCMD(LCDLINE+ucLine-64);
 134   2                      for(ucCount=0;ucCount<ucWidth;ucCount++)
 135   2                              vWriteData(*(ucaRow+ucCount));
 136   2                      }
 137   1      }
 138          //*************************************************************************************************
 139          //*                                                                                                                                                                                               *
 140          //*                      *****************************汉字显示函数***********************************             *
 141          //*                                                                                                                                                                                               *
 142          //*************************************************************************************************
 143          //此函数将16×16汉字显示在8×128的格子里。
 144          void vShowOneChin(unsigned char ucPage,unsigned char ucLine,unsigned char *ucaChinMap)
 145          {
 146   1              vShowCustomRow(ucPage,ucLine,16,ucaChinMap);
 147   1              vShowCustomRow(ucPage+1,ucLine,16,ucaChinMap+16);
 148   1      
 149   1      }
 150          //*************************************************************************************************
 151          //*                                                                                                                                                                                               *
 152          //*                      *****************************字符显示函数***********************************             *
 153          //*                                                                                                                                                                                               *
 154          //*************************************************************************************************
 155          //此函数将8×16字符显示在8×128的格子里。
 156          void vShowOneChar(unsigned char ucPage,unsigned char ucLine,unsigned char *ucaCharMap)
 157          {
 158   1              vShowCustomRow(ucPage,ucLine,8,ucaCharMap);
 159   1              vShowCustomRow(ucPage+1,ucLine,8,ucaCharMap+8);
 160   1      
 161   1      }
 162          /*
 163          //*************************************************************************************************
 164          //*                                                                                                                                                                                               *
 165          //*                      **********************************显示图片***********************************            *
 166          //*                                                                                                                                                                                               *
 167          //*************************************************************************************************
 168          void vShowGraph(unsigned char ucPage,unsigned char ucLine,unsigned char ucWidth,unsigned char ucHigh,unsig
             -ned char * ucaGraph)
 169          {
 170                  unsigned char ucCount;
 171                  for(ucCount=0;ucCount<ucHigh;ucCount++)
 172                          vShowCustomRow(ucPage+ucCount,ucLine,ucWidth,ucaGraph+ucCount*ucWidth);
 173          }
 174          */
 175          
 176          //*************************************************************************************************
 177          //*                                                                                                                                                                                               *
C51 COMPILER V8.05a   LCD12864                                                             09/09/2007 10:45:04 PAGE 4   

 178          //*                      **********************************显示数字***********************************            *
 179          //*                                                                                                                                                                                               *
 180          //*************************************************************************************************
 181          void vShowNumber(unsigned char ucRow,unsigned char ucLine,unsigned long ulNumber)
 182          {
 183   1              unsigned char ucaNumber[4];
 184   1              unsigned char ucCount;
 185   1              unsigned char ucNumFront;
 186   1              if(ulNumber>9999)
 187   1                      return;                           
 188   1      
 189   1              ucaNumber[0]=ulNumber/1000;
 190   1              ucaNumber[1]=(ulNumber-1000*(long)ucaNumber[0])/100;
 191   1              ucaNumber[2]=(ulNumber-1000*(long)ucaNumber[0]-100*(long)ucaNumber[1])/10;
 192   1              ucaNumber[3]=(ulNumber-1000*(long)ucaNumber[0]-100*(long)ucaNumber[1]-10*(long)ucaNumber[2]);
 193   1      
 194   1              for(ucNumFront=0;ucNumFront<3;ucNumFront++)
 195   1                      if(ucaNumber[ucNumFront]!=0)
 196   1                              break;
 197   1      
 198   1              for(ucCount=0;ucCount<4;ucCount++)
 199   1                      {
 200   2                      if(ucCount<ucNumFront)
 201   2                              vShowOneChar(ucRow,ucLine+ucCount*8,uca_BLANK);
 202   2                      else
 203   2                              switch(ucaNumber[ucCount])
 204   2                                      {
 205   3                                      case 0:vShowOneChar(ucRow,ucLine+ucCount*8,uca_0);break;
 206   3                                      case 1:vShowOneChar(ucRow,ucLine+ucCount*8,uca_1);break;
 207   3                                      case 2:vShowOneChar(ucRow,ucLine+ucCount*8,uca_2);break;
 208   3                                      case 3:vShowOneChar(ucRow,ucLine+ucCount*8,uca_3);break;
 209   3                                      case 4:vShowOneChar(ucRow,ucLine+ucCount*8,uca_4);break;
 210   3                                      case 5:vShowOneChar(ucRow,ucLine+ucCount*8,uca_5);break;
 211   3                                      case 6:vShowOneChar(ucRow,ucLine+ucCount*8,uca_6);break;
 212   3                                      case 7:vShowOneChar(ucRow,ucLine+ucCount*8,uca_7);break;
 213   3                                      case 8:vShowOneChar(ucRow,ucLine+ucCount*8,uca_8);break;
 214   3                                      case 9:vShowOneChar(ucRow,ucLine+ucCount*8,uca_9);break;
 215   3                                      default:break;
 216   3                                      }
 217   2                      }
 218   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    868    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      27
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?