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

📄 lcdx1.lst

📁 此程序主要测试50HZ~3KHZ音频范围幅频特性测试程序.程序包含主控程序和显示程序.
💻 LST
📖 第 1 页 / 共 5 页
字号:
 235          
 236          /*--  文字:  V  --*/
 237          /*--  Small Fonts6;  此字体下对应的点阵为:宽x高=6x10   --*/
 238          /*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
 239          0x00,0x0C,0x30,0xC0,0x30,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,
 240          
 241          /*--  文字:  W  --*/
C51 COMPILER V7.07   LCDX1                                                                 01/25/2005 13:50:05 PAGE 5   

 242          /*--  Small Fonts6;  此字体下对应的点阵为:宽x高=6x10   --*/
 243          /*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
 244          0x00,0x0C,0x30,0xC0,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
 245          
 246          /*--  文字:  X  --*/
 247          /*--  Small Fonts6;  此字体下对应的点阵为:宽x高=6x10   --*/
 248          /*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
 249          0x00,0x84,0x48,0x30,0x48,0x84,0x00,0x00,0x00,0x00,0x00,0x00,
 250          
 251          /*--  文字:  Y  --*/
 252          /*--  Small Fonts6;  此字体下对应的点阵为:宽x高=6x10   --*/
 253          /*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
 254          0x00,0x04,0x08,0xF0,0x08,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
 255          
 256          /*--  文字:  Z  --*/
 257          /*--  Small Fonts6;  此字体下对应的点阵为:宽x高=6x10   --*/
 258          /*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
 259          0x00,0xC4,0xA4,0x94,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 260          };
 261          
 262          
 263          
 264          uchar code ectab[]={
 265          /*--  文字:  A  --*/
 266          /*--  宋体9;  此字体下对应的点阵为:宽x高=8x12   --*/
 267          /*--  高度不是8的倍数,现调整为:宽度x高度=8x16  --*/
 268          0x00,0xE0,0xFC,0xFC,0xF0,0x80,0x00,0x00,0x02,0x03,0x03,0x00,0x03,0x03,0x02,0x00,
 269          
 270          /*--  文字:  B  --*/
 271          /*--  宋体9;  此字体下对应的点阵为:宽x高=8x12   --*/
 272          /*--  高度不是8的倍数,现调整为:宽度x高度=8x16  --*/
 273          0x04,0xFC,0xFC,0x24,0xFC,0xD8,0x00,0x00,0x02,0x03,0x03,0x02,0x03,0x01,0x00,0x00,
 274          
 275          /*--  文字:  C  --*/
 276          /*--  宋体9;  此字体下对应的点阵为:宽x高=8x12   --*/
 277          /*--  高度不是8的倍数,现调整为:宽度x高度=8x16  --*/
 278          0xF8,0xFC,0x04,0x04,0x0C,0x0C,0x00,0x00,0x01,0x03,0x02,0x02,0x03,0x01,0x00,0x00,
 279          
 280          /*--  文字:  D  --*/
 281          /*--  宋体9;  此字体下对应的点阵为:宽x高=8x12   --*/
 282          /*--  高度不是8的倍数,现调整为:宽度x高度=8x16  --*/
 283          0x04,0xFC,0xFC,0x04,0xFC,0xF8,0x00,0x00,0x02,0x03,0x03,0x02,0x03,0x01,0x00,0x00,
 284          
 285          /*--  文字:  E  --*/
 286          /*--  宋体9;  此字体下对应的点阵为:宽x高=8x12   --*/
 287          /*--  高度不是8的倍数,现调整为:宽度x高度=8x16  --*/
 288          0x04,0xFC,0xFC,0x74,0x7C,0x0C,0x00,0x00,0x02,0x03,0x03,0x02,0x03,0x03,0x00,0x00,
 289          
 290          /*--  文字:  F  --*/
 291          /*--  宋体9;  此字体下对应的点阵为:宽x高=8x12   --*/
 292          /*--  高度不是8的倍数,现调整为:宽度x高度=8x16  --*/
 293          0x04,0xFC,0xFC,0x74,0x7C,0x0C,0x00,0x00,0x02,0x03,0x03,0x02,0x00,0x00,0x00,0x00,
 294          
 295          };
 296          
 297          /*16*16点阵汉字*/
 298          uchar code cctab[]={
 299          /*--  商标图像:D:\hz\徽标3232.bmp  --*/
 300          /*--  宽度x高度=32x32  --*/
 301          0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,
 302          0x7F,0x7F,0x7F,0x7F,0x7F,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x00,
 303          
C51 COMPILER V7.07   LCDX1                                                                 01/25/2005 13:50:05 PAGE 6   

 304          0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 305          0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x7F,0x7F,0x7F,0x7F,0x7F,
 306          
 307          0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,
 308          0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xF8,0xF8,0xF8,0xF8,0x00,
 309          
 310          0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,
 311          0x00,0xF8,0xF8,0xF8,0xF8,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 312          
 313          /*--  文字:  世  --*/
 314          /*--  宋体11;  此字体下对应的点阵为:宽x高=16x14   --*/
 315          /*--  高度不是8的倍数,现调整为:宽度x高度=16x16  --*/
 316          0x10,0x10,0xFE,0xFE,0x10,0x10,0xFF,0xFF,0x10,0x10,0xFF,0xFF,0x10,0x10,0x00,0x00,
 317          0x00,0x00,0x1F,0x1F,0x10,0x10,0x13,0x13,0x11,0x11,0x13,0x13,0x10,0x10,0x00,0x00,
 318          
 319          /*--  文字:  通  --*/
 320          /*--  宋体11;  此字体下对应的点阵为:宽x高=16x14   --*/
 321          /*--  高度不是8的倍数,现调整为:宽度x高度=16x16  --*/
 322          0x21,0xE3,0xE6,0x06,0xF9,0xF9,0xAB,0xFF,0xFD,0xAF,0xFB,0xF9,0x00,0x00,0x00,0x00,
 323          0x18,0x1F,0x0F,0x18,0x17,0x17,0x10,0x17,0x17,0x14,0x17,0x17,0x10,0x10,0x00,0x00,
 324          
 325          /*--  文字:  科  --*/
 326          /*--  宋体11;  此字体下对应的点阵为:宽x高=16x14   --*/
 327          /*--  高度不是8的倍数,现调整为:宽度x高度=16x16  --*/
 328          0x12,0x92,0xD2,0xFF,0xFF,0xD1,0x91,0x92,0xB6,0xA4,0xFF,0xFF,0x40,0x40,0x00,0x00,
 329          0x02,0x03,0x01,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x00,0x00,0x00,0x00,
 330          
 331          /*--  文字:  技  --*/
 332          /*--  宋体11;  此字体下对应的点阵为:宽x高=16x14   --*/
 333          /*--  高度不是8的倍数,现调整为:宽度x高度=16x16  --*/
 334          0x08,0x88,0xFF,0xFF,0x48,0x2C,0xE4,0xE4,0x3F,0x3F,0xA4,0xE4,0x64,0x04,0x00,0x00,
 335          0x09,0x19,0x1F,0x0F,0x10,0x10,0x18,0x0D,0x07,0x07,0x0D,0x18,0x10,0x10,0x00,0x00,
 336          };
 337          
 338          
 339          uchar code tttt[]=
 340          {
 341          /*--  Courier12;  此字体下对应的点阵为:宽x高=11x16   --*/
 342          0x00,0x00,0x88,0xE8,0x78,0x78,0xE0,0x80,0x00,0x00,0x00,0x10,0x1C,0x1F,0x13,0x02,
 343          0x02,0x13,0x1F,0x1C,0x10,0x00,
 344          
 345          /*--  文字:  B  --*/
 346          /*--  Courier12;  此字体下对应的点阵为:宽x高=11x16   --*/
 347          0x00,0x08,0xF8,0xF8,0x88,0x88,0x88,0xF8,0x70,0x00,0x00,0x00,0x10,0x1F,0x1F,0x10,
 348          0x10,0x10,0x1F,0x0F,0x00,0x00,
 349          
 350          /*--  文字:  C  --*/
 351          /*--  Courier12;  此字体下对应的点阵为:宽x高=11x16   --*/
 352          0x00,0xE0,0xF0,0x18,0x08,0x08,0x18,0x78,0x78,0x00,0x00,0x00,0x07,0x0F,0x18,0x10,
 353          0x10,0x10,0x18,0x08,0x00,0x00,
 354          
 355          /*--  文字:  D  --*/
 356          /*--  Courier12;  此字体下对应的点阵为:宽x高=11x16   --*/
 357          0x00,0x08,0xF8,0xF8,0x08,0x08,0x18,0xF0,0xE0,0x00,0x00,0x00,0x10,0x1F,0x1F,0x10,
 358          0x10,0x18,0x0F,0x07,0x00,0x00,
 359          
 360          /*--  文字:  E  --*/
 361          /*--  Courier12;  此字体下对应的点阵为:宽x高=11x16   --*/
 362          0x00,0x08,0xF8,0xF8,0x88,0xC8,0xC8,0x18,0x18,0x00,0x00,0x00,0x10,0x1F,0x1F,0x10,
 363          0x11,0x11,0x18,0x18,0x00,0x00,
 364          
 365          /*--  文字:  F  --*/
C51 COMPILER V7.07   LCDX1                                                                 01/25/2005 13:50:05 PAGE 7   

 366          /*--  Courier12;  此字体下对应的点阵为:宽x高=11x16   --*/
 367          0x00,0x08,0xF8,0xF8,0x88,0xC8,0xC8,0x18,0x18,0x00,0x00,0x00,0x10,0x1F,0x1F,0x10,
 368          0x11,0x01,0x00,0x00,0x00,0x00,
 369          
 370          };
 371          
 372          
 373          /*延时子程序,参数C决定延时的长短*/
 374          void delay(uchar c)
 375          {
 376   1              uchar a,b;
 377   1              b=c;a=c;
 378   1              do
 379   1              {
 380   2                      a--;
 381   2                      b=c;
 382   2                      do{b--;}
 383   2                      while(b!=0);
 384   2              }
 385   1              while(a!=0);
 386   1      }
 387          
 388          /*将VRAM清0*/
 389          void clr_lcd()
 390          {
 391   1              uchar i,j;
 392   1              for(j=0;j<8;j++)
 393   1              {
 394   2                      iwlr(0xb8|j);
 395   2                      iwlr(0x40);
 396   2                      for(i=0;i<64;i++)               
 397   2                      {dwlr(0);}
 398   2              }
 399   1      }
 400          
 401          /*在p点处显示或清除一点,参数s为1时显示一点,否则清除一点*/
 402          void disp_one_dot(point p,bit s)
 403          {
 404   1              uchar a;
 405   1              if(p.x<128&&p.y<64)
 406   1              {
 407   2                      if(p.x<=63) 
 408   2                      {
 409   3                              iwl(0xb8|(p.y/8));
 410   3                              iwl(0x40|p.x);
 411   3                              a=drl();
 412   3                              a=drl();
 413   3                              iwl(0x40|p.x);
 414   3                              if(s) {dwl(SETBIT(a,p.y%8,1));}
 415   3                              else{dwl(SETBIT(a,p.y%8,0));}
 416   3                      }
 417   2                      else
 418   2                      {
 419   3                              iwr(0xb8|(p.y/8));
 420   3                              iwr(0x40|p.x);
 421   3                              a=drr();
 422   3                              a=drr();
 423   3                              iwr(0x40|(p.x-64));
 424   3                              if(s) {dwr(SETBIT(a,p.y%8,1));}
 425   3                              else{dwr(SETBIT(a,p.y%8,0));}
 426   3                      }
 427   2              }
C51 COMPILER V7.07   LCDX1                                                                 01/25/2005 13:50:05 PAGE 8   

 428   1      }
 429          
 430          /*绘直线程序,其中psta,pend分别为直线的两端点,s=1显示直线,s=0清除直线*/
 431          draw_line(point psta,point pend,bit s)
 432          {
 433   1              uchar d_x,d_y;
 434   1              signed char err;
 435   1              err=0;
 436   1              if(psta.y>pend.y)
 437   1              {
 438   2                      d_x=psta.x;d_y=psta.y;psta.x=pend.x;psta.y=pend.y;pend.x=d_x;pend.y=d_y;
 439   2              }
 440   1              d_y=pend.y-psta.y;
 441   1              disp_one_dot(psta,s);
 442   1              if(pend.x>=psta.x)
 443   1              {
 444   2                      d_x=pend.x-psta.x;
 445   2                      if(d_x>=d_y)
 446   2                      {
 447   3                              if(d_y==0) psta.y--;
 448   3                              for(psta.x++;psta.x<=pend.x;psta.x++)
 449   3                              {
 450   4                                      if(err>=0)
 451   4                                      {
 452   5                                              psta.y++;
 453   5                                              err=err+d_y-d_x;
 454   5                                      }
 455   4                                      else
 456   4                                      {
 457   5                                              err=err+d_y;
 458   5                                      }
 459   4                                      disp_one_dot(psta,s);
 460   4                              }
 461   3                      }
 462   2                      else
 463   2                      {
 464   3                              for(psta.y++;psta.y<=pend.y;psta.y++)
 465   3                              {
 466   4                                      if(err>=0)
 467   4                                      {
 468   5                                              err=err-d_x;
 469   5                                      }
 470   4                                      else
 471   4                                      {
 472   5                                              psta.x++;
 473   5                                              err=err+d_y-d_x;
 474   5                                      }
 475   4                              disp_one_dot(psta,s);

⌨️ 快捷键说明

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