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

📄 display_320_240.lst

📁 在采用 320x240 屏的设计实验箱上运行
💻 LST
📖 第 1 页 / 共 2 页
字号:
 222          *描述:在第二层画垂直网格线
 223          *参数:网格的列数、空的点数
 224          *返回:
 225          ****************************************************************/
 226          void Ver(uchar x,uchar space)        //画垂直网格线
 227          {
 228   1                uchar i=0 ;
 229   1                outcode(0x4f);
 230   1      
 231   1                if((x==0)|(x==0xfa))i=0;
 232   1                else  i=space;
 233   1      
 234   1                for(;i<WIDTH;i+=space)WriteD2(x,i);
 235   1      }
 236          /***************************************************************
 237          *名称:fixline(uchar y)
 238          *描述:在第二层画横线
 239          *参数:横线的行数
 240          *返回:
 241          ****************************************************************/
C51 COMPILER V8.02   DISPLAY_320_240                                                       12/07/2007 16:55:37 PAGE 5   

 242          void fixline(uchar y)
 243          {
 244   1              unsigned int address;
 245   1              uchar addh,addl;
 246   1              uchar i;
 247   1              address=0x2a18+y*AP;
 248   1              addh=address>>8;//addh=address/256;
 249   1              addl=(uchar)address;//addl=address%256;
 250   1              outcode(0x46);
 251   1              outdata(addl);
 252   1              outdata(addh);
 253   1              outcode(0x4c);
 254   1              outcode(0x42);
 255   1              outdata(0x3f);
 256   1              for(i=1;i<8;i++)outdata(0xff);
 257   1      }
 258          /***************************************************************
 259          *名称:fixline2(uchar y)
 260          *描述:在第二层右半边画横线
 261          *参数:横线的行数
 262          *返回:
 263          ****************************************************************/
 264          void fixline2(uchar y)
 265          {
 266   1              unsigned int address;
 267   1              uchar addh,addl;
 268   1          uchar i;
 269   1              address=0x29f9+y*AP;
 270   1              addh=address>>8;//addh=address/256;
 271   1              addl=(uchar)address;//addl=address%256;
 272   1              outcode(0x46);
 273   1              outdata(addl);
 274   1              outdata(addh);
 275   1              outcode(0x4c);
 276   1              outcode(0x42);
 277   1              outdata(0x3f);
 278   1              for(i=1;i<31;i++)outdata(0xff);
 279   1      }
 280          /***************************************************************
 281          *名称:DrawFrame(void)
 282          *描述:在第二层画网格边框
 283          *参数:
 284          *返回:
 285          ****************************************************************/
 286          void DrawFrame(void)                            //画网格边框
 287          {
 288   1              fixline(0);
 289   1              fixline(200);
 290   1      
 291   1              Ver(0,1);      //(8,12)  --- (8,262)
 292   1              Ver(LENGTH,1); //(208,12)  --- (208,212)
 293   1              fixline(40);
 294   1              fixline(80);
 295   1              fixline(120);
 296   1              fixline(160);
 297   1              fixline2(200);
 298   1              fixline2(0);
 299   1      }
 300          /***************************************************************
 301          *名称:DrawGrid(void)
 302          *描述:在第二层画网格区内的网格线
 303          *参数:
C51 COMPILER V8.02   DISPLAY_320_240                                                       12/07/2007 16:55:37 PAGE 6   

 304          *返回:
 305          ****************************************************************/
 306          void DrawGrid(void)           //画网格区内的网格线
 307          {
 308   1              uchar i;
 309   1              Hori(1,5);
 310   1              Hori(2,25);
 311   1              Hori(WIDTH-2,0x19);
 312   1              Hori(WIDTH-2,0x05);
 313   1              Ver(0x02,0x19);
 314   1              Ver(LENGTH-2,0x19);
 315   1              for(i=1;i<0x08;i++){
 316   2                      Hori(25*i,5);
 317   2                      if(i==0x04){
 318   3                              Hori(0x19*i-1,5);
 319   3                              Hori(0x19*i+1,5);//
 320   3                      }
 321   2              }
 322   1              for(i=0x01;i<0x0a;i++)
 323   1              {
 324   2                      Ver(0x19*i,5);
 325   2                      if(i==0x05)
 326   2                      {
 327   3                              Ver(0x19*i-1,5);
 328   3                              Ver(0x19*i+1,5);
 329   3                      }
 330   2              }
 331   1      }
 332          /***************************************************************
 333          *名称:vector(uchar x,uchar y1,uchar y2)
 334          *描述:两个点之间插入若干点,将点显示转换为矢量显示
 335          *参数:坐标x,坐标y1,坐标y2
 336          *返回:
 337          ****************************************************************/
 338          void vector(uchar x,uchar y1,uchar y2)
 339          {       
 340   1              char i=y2-y1;
 341   1              uchar tempy;
 342   1              if(i>0){
 343   2                      tempy=y2-1;
 344   2                      for(;i>1;i--){
 345   3                              WriteD(x+1,tempy);
 346   3                              tempy--;
 347   3                      }
 348   2              }
 349   1              else if(i<0){
 350   2                      tempy=y2+1;
 351   2                      i=-i;
 352   2                      for(;i>1;i--){
 353   3                              WriteD(x+1,tempy);
 354   3                              tempy++;
 355   3                      }
 356   2              }
 357   1              else{}
 358   1      }
 359          /***************************************************************
 360          *名称:show_123(char array[])
 361          *描述:
 362          *参数:
 363          *返回:
 364          ****************************************************************/
 365          void show_123(char flag,char array[])
C51 COMPILER V8.02   DISPLAY_320_240                                                       12/07/2007 16:55:37 PAGE 7   

 366          {       
 367   1              int i;
 368   1              int tempx=0,tempy=0;
 369   1              int y;
 370   1      if(flag)
 371   1      {
 372   2              for(i=0;i<250;i++)
 373   2              {
 374   3                      y=100-array[i];
 375   3                      WriteD(i,y);
 376   3                      if((tempy!=y)&(i!=0))vector(tempx,tempy,y);
 377   3                      tempx=i;tempy=y;
 378   3              }
 379   2      }
 380   1      else
 381   1      {
 382   2              for(i=0;i<250;i++)
 383   2                      WriteD(i,100);
 384   2      }
 385   1      }
 386          /***************************************************************
 387          *名称:show_tri(void)
 388          *描述:
 389          *参数:
 390          *返回:
 391          ****************************************************************/
 392          /*void show_tri(void)
 393          {       
 394                  int i,j;
 395                  int x,y;
 396                  for(i=0;i<5;i++)
 397                  {
 398                          for(j=0;j<50;j++)
 399                          {
 400                                  x=50*i+j;
 401                                  if(i==0)y=100-i;
 402                                  else if(i==1)y=i;
 403                                  else if(i==2)y=i;
 404                                  else y=300-i;
 405                                  WriteD(x,y);
 406                          }
 407                  }
 408          }*/
 409          /***************************************************************
 410          *名称:show_wave(unsigned char mod)
 411          *描述:
 412          *参数:
 413          *返回:
 414          ****************************************************************/
 415          /*void show_wave(unsigned char mod)
 416          {       
 417                  switch(mod)
 418                  {
 419                          case 0: initram_1();
 420                                          show_123(sin);
 421                                          break;
 422                          case 1: initram_1();
 423                                          show_123(tri);
 424                                          break;
 425                          case 2: initram_1();
 426                                          show_123(pul);
 427                                          break;
C51 COMPILER V8.02   DISPLAY_320_240                                                       12/07/2007 16:55:37 PAGE 8   

 428                          case 3: initram_1();
 429                                          show_123(clr);
 430                                          break;
 431                          default :break;
 432                  }
 433          }*/


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