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

📄 lcd12864.lst

📁 由51单片机与12864组成 俄罗斯方块游戏程序 keil工程
💻 LST
📖 第 1 页 / 共 2 页
字号:
 115          {
 116   1              unsigned char ucCountOne,ucCountTwo;
C51 COMPILER V8.05a   LCD12864                                                             11/13/2007 09:15:28 PAGE 3   

 117   1              for(ucCountOne=0;ucCountOne<ucHigh;ucCountOne++)
 118   1                      for(ucCountTwo=0;ucCountTwo<ucWidth;ucCountTwo++)
 119   1                              {
 120   2                              vSetPosition(ucRow+ucCountOne,ucLine+ucCountTwo);
 121   2                              vWriteData(0x00);
 122   2                              }
 123   1      }
 124          
 125          
 126          //*************************************************************************************************
 127          //*                                                                                                                                                                                               *
 128          //*                      ************************************清屏***********************************              *
 129          //*                                                                                                                                                                                               *
 130          //*************************************************************************************************
 131          void vCleanAll()
 132          {
 133   1              unsigned char ucRow,ucLine;
 134   1              CS1=1;
 135   1              CS2=1;
 136   1              for(ucRow=0;ucRow<8;ucRow++)
 137   1                      {
 138   2                      vWriteCMD(LCDPAGE+ucRow);
 139   2                      vWriteCMD(LCDLINE);
 140   2                      for(ucLine=0;ucLine<64;ucLine++)
 141   2                              vWriteData(0x00);
 142   2                      }
 143   1      }
 144          //*************************************************************************************************
 145          //*                                                                                                                                                                                               *
 146          //*                      *****************************字符显示函数***********************************             *
 147          //*                                                                                                                                                                                               *
 148          //*************************************************************************************************
 149          //此函数将8×16字符显示在8×128的格子里。
 150          void vShowChar(unsigned char ucCaps,unsigned char ucPage,unsigned char ucLine,unsigned char *ucaCharMap)
 151          {
 152   1              unsigned char ucCount,ucaTemp[5];
 153   1              switch(ucCaps)
 154   1                      {
 155   2                      case CAPS_COMMON:
 156   2                              vShowCustomRow(ucPage,ucLine,8,ucaCharMap);
 157   2                              vShowCustomRow(ucPage+1,ucLine,8,ucaCharMap+8);
 158   2                              break;
 159   2                      case CAPS_MARK:
 160   2                              for(ucCount=0;ucCount<5;ucCount++)
 161   2                                      {
 162   3                                      ucaTemp[ucCount]=uca_MARK[40+ucLine+ucCount]|(*(ucaCharMap+ucCount));
 163   3                                      }
 164   2                              vShowCustomRow(MARKPOS_ROW+1,ucLine,5,ucaTemp);
 165   2                              vShowCustomRow(MARKPOS_ROW+2,ucLine,5,ucaCharMap+5);
 166   2                              break;
 167   2                      case CAPS_TIME:
 168   2                              for(ucCount=0;ucCount<5;ucCount++)
 169   2                                      {
 170   3                                      ucaTemp[ucCount]=uca_TIME[40+ucLine+ucCount]|(*(ucaCharMap+ucCount));
 171   3                                      }
 172   2                              vShowCustomRow(4,ucLine,5,ucaTemp);
 173   2                              vShowCustomRow(5,ucLine,5,ucaCharMap+5);
 174   2                              break;
 175   2                      default:
 176   2                              vShowCustomRow(ucPage,ucLine,5,ucaCharMap);
 177   2                              vShowCustomRow(ucPage+1,ucLine,5,ucaCharMap+5);
 178   2                              break;
C51 COMPILER V8.05a   LCD12864                                                             11/13/2007 09:15:28 PAGE 4   

 179   2                      }
 180   1      }
 181          
 182          //*************************************************************************************************
 183          //*                                                                                                                                                                                               *
 184          //*                      *****************************图片显示函数***********************************             *
 185          //*                                                                                                                                                                                               *
 186          //*************************************************************************************************
 187          void vShowGraph(unsigned char ucPage,unsigned char ucLine,unsigned char ucWidth,
 188                                                  unsigned char ucHigh,unsigned char * ucaGraph)
 189          {
 190   1              unsigned char ucCount;
 191   1              for(ucCount=0;ucCount<ucHigh;ucCount++)
 192   1                      vShowCustomRow(ucPage+ucCount,ucLine,ucWidth,ucaGraph+ucCount*ucWidth);
 193   1      }
 194          //*************************************************************************************************
 195          //*                                                                                                                                                                                               *
 196          //*                      **********************************显示数字***********************************            *
 197          //*                                                                                                                                                                                               *
 198          //*************************************************************************************************
 199          void vShowNumber(unsigned char ucCaps,unsigned char ucRow,unsigned char ucLine,unsigned long ulNumber)
 200          {
 201   1              unsigned char ucCount,ucNumberFront;
 202   1              unsigned long ulNumberTemp=1000000000;
 203   1      
 204   1              for(ucNumberFront=0;ucNumberFront<9;ucNumberFront++)
 205   1                      {
 206   2                      if(ulNumber/ulNumberTemp)
 207   2                              break;
 208   2                      ulNumberTemp/=10;
 209   2                      }
 210   1      
 211   1              for(ucCount=0;ucCount<10-ucNumberFront;ucCount++)
 212   1                      {
 213   2                      if(ucCaps==CAPS_COMMON)
 214   2                              vShowChar(ucCaps,ucRow,ucLine+ucCount*NUMBERWIDTH,uca_Number[ulNumber/ulNumberTemp]);
 215   2                      else
 216   2                              vShowChar(ucCaps,ucRow,ucLine+ucCount*NUMBERSWIDTH,uca_NumberS[ulNumber/ulNumberTemp]);
 217   2                      ulNumber-=(ulNumber/ulNumberTemp)*ulNumberTemp;
 218   2                      ulNumberTemp/=10;
 219   2                      }
 220   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    882    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      43
   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 + -