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

📄 display_320_240.lst

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

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

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

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



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    963    ----
   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 + -