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

📄 test.lst

📁 51单片机直接驱动KS0108 12864液晶的测试程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 297          unsigned char code v[2][16]={
 298          0x00,0x80,0x40,0x20,0xF8,0x00,0x00,0x00,0x00,0xE0,0x10,0x88,0x88,0x98,0x00,0x00,
 299          0x00,0x03,0x02,0x12,0x1F,0x12,0x12,0x00,0x00,0x0F,0x11,0x10,0x10,0x10,0x0F,0x00
 300           };
 301          
 302          
 303          
C51 COMPILER V8.06   TEST                                                                  04/03/2007 01:52:59 PAGE 6   

 304          //*****图形沙漏***//
 305          unsigned char code w1[2][16]={
 306          0x00,0x00,0x07,0x0F,0x1F,0x3F,0x7F,0xFF,0xFF,0x7F,0x3F,0x1F,0x0F,0x07,0x00,0x00,
 307          0x00,0x00,0xE0,0x90,0x88,0x84,0x82,0x81,0x81,0x82,0x84,0x88,0x90,0xE0,0x00,0x00
 308           };
 309          
 310          unsigned char code w2[2][16]={
 311          0x00,0x00,0x07,0x0D,0x1D,0x3D,0x7D,0xFD,0xFD,0x7D,0x3D,0x1D,0x0D,0x07,0x00,0x00,
 312          0x00,0x00,0xE0,0xD0,0xC8,0xC4,0xC2,0xC1,0xC1,0xC2,0xC4,0xC8,0xD0,0xE0,0x00,0x00
 313           };
 314          
 315          unsigned char code w3[2][16]={
 316          0x00,0x00,0x07,0x09,0x19,0x39,0x79,0xF9,0xF9,0x79,0x39,0x19,0x09,0x07,0x00,0x00,
 317          0x00,0x00,0xE0,0xF0,0xE8,0xE4,0xE2,0xE1,0xE1,0xE2,0xE4,0xE8,0xF0,0xE0,0x00,0x00
 318           };
 319          
 320          unsigned char code w4[2][16]={
 321          0x00,0x00,0x07,0x09,0x11,0x31,0x71,0xF1,0xF1,0x71,0x31,0x11,0x09,0x07,0x00,0x00,
 322          0x00,0x00,0xE0,0xF0,0xF8,0xF4,0xF2,0xF1,0xF1,0xF2,0xF4,0xF8,0xF0,0xE0,0x00,0x00
 323           };
 324          
 325          unsigned char code w5[2][16]={
 326          0x00,0x00,0x07,0x09,0x11,0x21,0x61,0xE1,0xE1,0x61,0x21,0x11,0x09,0x07,0x00,0x00,
 327          0x00,0x00,0xE0,0xF0,0xF8,0xFC,0xFA,0xF9,0xF9,0xFA,0xFC,0xF8,0xF0,0xE0,0x00,0x00
 328           };
 329          
 330          unsigned char code w6[2][16]={
 331          0x00,0x00,0x07,0x09,0x11,0x21,0x41,0xC1,0xC1,0x41,0x21,0x11,0x09,0x07,0x00,0x00,
 332          0x00,0x00,0xE0,0xF0,0xF8,0xFC,0xFE,0xFD,0xFD,0xFE,0xFC,0xF8,0xF0,0xE0,0x00,0x00
 333           };
 334          
 335          unsigned char code w7[2][16]={
 336          0x00,0x00,0x07,0x09,0x11,0x21,0x41,0x81,0x81,0x41,0x21,0x11,0x09,0x07,0x00,0x00,
 337          0x00,0x00,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF,0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0x00,0x00
 338           };
 339          
 340          unsigned char code w8[2][16]={
 341          0xFC,0x04,0x04,0x08,0x10,0x20,0x40,0x80,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFC,0xFC,
 342          0x3F,0x20,0x20,0x10,0x08,0x04,0x02,0x01,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x3F,0x3F
 343           };
 344          
 345          
 346          ///****delay MS****/
 347          void delay(unsigned int n)
 348          {
 349   1        while(n--)
 350   1        {
 351   2          unsigned char i;
 352   2      for(i=125;i>0;i--);
 353   2        }
 354   1      }
 355          
 356          //******查忙****///
 357          void busy()
 358          {
 359   1        p_di=0;
 360   1        p_rw=1;
 361   1        while(1)
 362   1        {
 363   2          p_e=1;
 364   2      if(Data<0x80)break;
 365   2      p_e=0;
C51 COMPILER V8.06   TEST                                                                  04/03/2007 01:52:59 PAGE 7   

 366   2        }
 367   1        p_e=0;
 368   1      }
 369          
 370          ///*****初始化******///
 371          void Init()
 372          {
 373   1      //开显示;
 374   1        p_di=0;
 375   1        p_rw=0;
 376   1        Data=0x3f;
 377   1        p_cs1=0;
 378   1        p_cs2=1;
 379   1        p_e=1;
 380   1        p_e=0;
 381   1        p_cs1=1;
 382   1        p_cs2=0;
 383   1        p_e=1;
 384   1        p_e=0;
 385   1      //0行开始显示
 386   1        busy(); 
 387   1      
 388   1        p_cs1=0;
 389   1        p_cs2=1;
 390   1        Data=0xc0;
 391   1        p_e=1;
 392   1        p_e=0;
 393   1        p_cs1=1;
 394   1        p_cs2=0;
 395   1        p_e=1;
 396   1        p_e=0;
 397   1      }
 398          
 399          void setxy(unsigned char x,unsigned char y)
 400          {  
 401   1        if(y<64)
 402   1        { 
 403   2        //***写行地址l**//
 404   2          busy();
 405   2          p_di=p_rw=p_cs1=0;
 406   2          p_cs2=1;
 407   2          Data=0xb8|x;
 408   2          p_e=1;
 409   2          p_e=0;
 410   2      ///***写列地址l**//
 411   2          busy();  
 412   2          p_di=p_rw=p_cs1=0;
 413   2          p_cs2=1;
 414   2          Data=0x40|y;
 415   2          p_e=1;
 416   2          p_e=0;
 417   2        }
 418   1        else
 419   1        { 
 420   2        //***写行地址r**//
 421   2          busy();
 422   2      p_di=p_rw=p_cs2=0;
 423   2      p_cs1=1;
 424   2      Data = 0xb8|x;
 425   2      p_e=1;
 426   2      p_e=0;
 427   2      ///***写列地址r**//
C51 COMPILER V8.06   TEST                                                                  04/03/2007 01:52:59 PAGE 8   

 428   2          busy();  
 429   2          p_di=p_rw=p_cs2=0;
 430   2          p_cs1=1;
 431   2          Data=0x40|y;
 432   2          p_e=1;
 433   2          p_e=0;
 434   2        }
 435   1      
 436   1      }
 437          //****写数据****//
 438          void whitedata(unsigned char x,unsigned char y)
 439          {
 440   1        busy();
 441   1        setxy(x,y);//set x,y address address  
 442   1        if(y<64)
 443   1        {
 444   2          p_rw=p_cs1=0;
 445   2          p_cs2=1;    
 446   2        }
 447   1        else
 448   1        {
 449   2          p_rw=p_cs2=0;
 450   2      p_cs1=0;
 451   2        }
 452   1        p_di=1;
 453   1        Data=0x00;
 454   1        p_e=1;
 455   1        p_e=0;
 456   1      }
 457          
 458          ///******* 显示字******///
 459          void whiteword(unsigned char x,unsigned char y,unsigned char d[2][16])
 460          {
 461   1        unsigned char i,j;
 462   1        for(i=0;i<2;i++)
 463   1           for(j=0;j<16;j++)
 464   1       {
 465   2         busy();
 466   2         setxy(i+x,j+y);
 467   2         if(y<64)
 468   2         {
 469   3           p_rw=p_cs1=0;
 470   3           p_di=1;
 471   3           p_cs2=1;
 472   3         }
 473   2         else
 474   2         {
 475   3           p_rw=p_cs2=0;
 476   3       p_di=1;
 477   3       p_cs1=1;
 478   3         }
 479   2         Data=d[i][j];
 480   2         p_e=1;
 481   2         p_e=0;
 482   2       }  
 483   1      }
 484          
 485          ///****清屏***//
 486          void clear()
 487          {
 488   1        unsigned char i,j;
 489   1        for(i=0;i<8;i++)
C51 COMPILER V8.06   TEST                                                                  04/03/2007 01:52:59 PAGE 9   

 490   1          for(j=0;j<128;j++)
 491   1          whitedata(i,j);
 492   1      }
 493          ///***主函数****///
 494          void main(void)
 495          { 
 496   1        unsigned char z;
 497   1        Init();
 498   1       while(1)
 499   1        {
 500   2          clear();
 501   2          busy();
 502   2          whiteword(0,0,ee);//南
 503   2          whiteword(0,16,ff);//京
 504   2          whiteword(0,32,aa);//绝
 505   2          whiteword(0,48,bb);//妙
 506   2          whiteword(0,64,cc);//科
 507   2          whiteword(0,80,dd);//技
 508   2          whiteword(0,96,gg);//发
 509   2          whiteword(0,112,hh);//展
 510   2          whiteword(2,0,ii); //有
 511   2          whiteword(2,16,jj); //限
 512   2          whiteword(2,32,kk); //公
 513   2          whiteword(2,48,ll); //司
 514   2          whiteword(2,64,k);  //句号
 515   2          whiteword(2,80,mm); //专
 516   2          whiteword(2,96,nn); //业
 517   2          whiteword(2,112,oo);//液
 518   2          whiteword(4,0,pp);  //晶
 519   2          whiteword(4,16,qq); //屏
 520   2          whiteword(4,32,dd); //技
 521   2          whiteword(4,48,rr); //术
 522   2          whiteword(4,64,k); //句号
 523   2          whiteword(4,80,ss); //欢
 524   2          whiteword(4,96,tt); //迎
 525   2          whiteword(4,112,uu); //使
 526   2          whiteword(6,0,vv);   //用
 527   2          whiteword(6,16,k);  //句号
 528   2      for(z=0;z<2;z++)
 529   2      {
 530   3        whiteword(6,64,w1);
 531   3        delay(150); 
 532   3        whiteword(6,64,w2);
 533   3        delay(150);  
 534   3        whiteword(6,64,w3);
 535   3        delay(150);  
 536   3        whiteword(6,64,w4);
 537   3        delay(150);  
 538   3        whiteword(6,64,w5);
 539   3        delay(150);  
 540   3        whiteword(6,64,w6);
 541   3        delay(150);  
 542   3        whiteword(6,64,w7);
 543   3        delay(150);  
 544   3        whiteword(6,64,w8);
 545   3        delay(150);   
 546   3      }
 547   2      clear();
 548   2      ///**第二屏**/
 549   2          busy();
 550   2          whiteword(0,0,ww);//地
 551   2          whiteword(0,16,xx);//址
C51 COMPILER V8.06   TEST                                                                  04/03/2007 01:52:59 PAGE 10  

 552   2          whiteword(0,32,j); //:
 553   2          whiteword(0,48,yy);//中
 554   2          whiteword(0,64,zz);//山
 555   2          whiteword(0,80,a);//东
 556   2          whiteword(0,96,b);//路
 557   2          whiteword(2,0,l); //11
 558   2          whiteword(2,16,m); //0
 559   2          whiteword(2,32,c); //号
 560   2          whiteword(2,48,d); //二
 561   2          whiteword(2,64,e);  //楼
 562   2          whiteword(2,80,n); //23
 563   2          whiteword(2,96,c); //号
 564   2          whiteword(2,112,k);//句号
 565   2          whiteword(4,0,f);  //电
 566   2          whiteword(4,16,g); //话
 567   2          whiteword(4,32,o); //02
 568   2          whiteword(4,48,p); //5-
 569   2          whiteword(4,64,q); //84
 570   2          whiteword(4,80,r); //53
 571   2          whiteword(4,96,s); //28
 572   2          whiteword(4,112,t); //68
 573   2          whiteword(6,0,h);   //传
 574   2          whiteword(6,16,i);  //真
 575   2          whiteword(6,32,o); //02
 576   2          whiteword(6,48,p); //5-
 577   2          whiteword(6,64,q); //84
 578   2          whiteword(6,80,u); //41
 579   2          whiteword(6,96,n); //23
 580   2          whiteword(6,112,v); //46
 581   2      delay(2000);
 582   2        }
 583   1      }


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