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

📄 borad.lst

📁 自动检测电容值
💻 LST
📖 第 1 页 / 共 2 页
字号:
 302   2                      delay10ms(10);
 303   2                      if(pt!=(P1&0xfc)) NowInst=1;
C51 COMPILER V8.02   BORAD                                                                 05/08/2007 16:23:35 PAGE 6   

 304   2              }
 305   1              else
 306   1              {
 307   2                      P0=0;
 308   2                      delay10ms(10);
 309   2              }
 310   1              if(NowInst!=CurInst)
 311   1              {
 312   2                      cn++;
 313   2                      if(cn>=30)
 314   2                      {
 315   3                              CurInst=NowInst;
 316   3                              cn=0;
 317   3      //                      if(CurInst) return(1);
 318   3                      }
 319   2              }
 320   1              else
 321   1              {
 322   2                      cn=0;
 323   2              }
 324   1      //      return(0);
 325   1              if(CurInst)
 326   1              {
 327   2      //              CurInst=0;
 328   2                      return(1);
 329   2              }
 330   1              else
 331   1              {
 332   2                      return(0);
 333   2              }
 334   1      }
 335          bit keyWait(bit chk)
 336          {
 337   1              static bit NextUp=0,StartUp=0,CheckUp=0;
 338   1              if(chk)
 339   1              {
 340   2                      if(Next)
 341   2                      {
 342   3                              if(NextUp)
 343   3                              {
 344   4                                      NextUp=0;
 345   4                                      return(0);   //Next OK
 346   4                              }
 347   3                      }
 348   2                      else
 349   2                      {
 350   3                              NextUp=1;
 351   3                      }
 352   2              }
 353   1              if(Start)
 354   1              {
 355   2                      if(StartUp)
 356   2                      {
 357   3                              StartUp=0;
 358   3                              longjmp(env,2);   //Start OK
 359   3                      }
 360   2              }
 361   1              else
 362   1              {
 363   2                      StartUp=1;
 364   2              }
 365   1              if(StartCheck())
C51 COMPILER V8.02   BORAD                                                                 05/08/2007 16:23:35 PAGE 7   

 366   1              {
 367   2                      if(CheckUp)
 368   2                      {
 369   3                              CheckUp=0;
 370   3                              longjmp(env,2);   //Start OK
 371   3                      }
 372   2              }
 373   1              else
 374   1              {
 375   2                      CheckUp=1;
 376   2              }
 377   1              return(1);
 378   1      }
 379          void delay10ms(int a)
 380          {
 381   1              td=a/10;
 382   1              while(td);
 383   1      }
 384          
 385          
 386          /*------------------初始化-----------------*/
 387          void init_lcd (void)
 388          {
 389   1        rst=1;
 390   1       // psb=0;
 391   1        wr_lcd (comm,0x30);  /*30---基本指令动作*/   
 392   1        wr_lcd (comm,0x01);  /*清屏,地址指针指向00H*/
 393   1        delay (100);
 394   1        wr_lcd (comm,0x06);  /*光标的移动方向*/
 395   1        wr_lcd (comm,0x0c);  /*开显示,关游标*/
 396   1      }
 397          /*---------------显示汉字或字符----------------*/
 398          /*void chn_disp (uchar code *chn)
 399          {
 400            uchar i,j;
 401            wr_lcd (comm,0x30);
 402            wr_lcd (comm,0x80);
 403            for (j=0;j<4;j++)
 404            {
 405              for (i=0;i<16;i++)
 406              wr_lcd (dat,chn[j*16+i]);
 407            }
 408          }*/
 409          /*------------上半屏显示汉字或字符-----------*/
 410          /*void chn_disp1 (uchar code *chn)
 411          {
 412            uchar i,j;
 413            wr_lcd (comm,0x30);       //基本指令集动作    ,绘图显示OFF
 414            wr_lcd (comm,0x80);           //设定GDRAM地址到地址记数器AC
 415            j=0;
 416            for (i=0;i<16;i++)
 417            wr_lcd (dat,chn[j*16+i]);
 418            wr_lcd (comm,0x90);
 419            j=1;
 420            for (i=0;i<16;i++)
 421            wr_lcd (dat,chn[j*16+i]);
 422          }*/
 423          /*----------------显示图形-----------------*/
 424          /*void img_disp (uchar code *img)
 425          {
 426            uchar i,j;
 427            for(j=0;j<32;j++)
C51 COMPILER V8.02   BORAD                                                                 05/08/2007 16:23:35 PAGE 8   

 428            {
 429              for(i=0;i<8;i++)
 430              {
 431                wr_lcd (comm,0x34);          //8位控制器接口,扩充功能设定,扩充指令集动作,绘图显示OFF
 432                wr_lcd (comm,y+j);
 433                wr_lcd (comm,x1+i);
 434                wr_lcd (comm,0x30);
 435                wr_lcd (dat,img[j*16+i*2]);
 436                wr_lcd (dat,img[j*16+i*2+1]);
 437              }
 438            }
 439            for(j=32;j<64;j++)
 440            {
 441              for(i=0;i<8;i++)
 442              {
 443                wr_lcd (comm,0x34);
 444                wr_lcd (comm,y+j-32);
 445                wr_lcd (comm,x2+i);
 446                wr_lcd (comm,0x30);
 447                wr_lcd (dat,img[j*16+i*2]);
 448                wr_lcd (dat,img[j*16+i*2+1]);
 449              }
 450            }
 451            wr_lcd (comm,0x36);
 452          }*/
 453          /*-------------下半屏显示图形--------------*/
 454          /*void img_disp1 (uchar code *img)
 455          {
 456            uchar i,j;
 457            for(j=0;j<32;j++)
 458            {
 459              for(i=0;i<8;i++)
 460              {
 461                wr_lcd (comm,0x34);
 462                wr_lcd (comm,y+j);
 463                wr_lcd (comm,x2+i);
 464                wr_lcd (comm,0x30);
 465                wr_lcd (dat,img[j*16+i*2]);
 466                wr_lcd (dat,img[j*16+i*2+1]);
 467              }
 468            }
 469            wr_lcd (comm,0x36);
 470          }*/
 471          /*--------------显示点阵----------------
 472          显示点阵
 473          
 474          -------------------------------------------*/ 
 475          /*
 476          void lat_disp (uchar data1,uchar data2)
 477          {
 478            uchar i,j,k,x;
 479            x=x1;
 480            for(k=0;k<2;k++)
 481            {
 482              for(j=0;j<16;j++)
 483              {
 484                for(i=0;i<8;i++)
 485                {
 486                  wr_lcd (comm,0x34);       //8位控制器接口,扩充功能设定,扩充指令集动作,绘图显示OFF
 487                  wr_lcd (comm,y+j*2);  //设定绘图地址
 488                  wr_lcd (comm,x+i);
 489                  wr_lcd (comm,0x30);       //基本指令集动作      ,绘图显示OFF
C51 COMPILER V8.02   BORAD                                                                 05/08/2007 16:23:35 PAGE 9   

 490                  wr_lcd (dat,data1);       //写入数据
 491                  wr_lcd (dat,data1);
 492                }
 493                for(i=0;i<8;i++)
 494                {
 495                  wr_lcd (comm,0x34);
 496                  wr_lcd (comm,y+j*2+1);
 497                  wr_lcd (comm,x+i);
 498                  wr_lcd (comm,0x30);
 499                  wr_lcd (dat,data2);
 500                  wr_lcd (dat,data2);
 501                }
 502              }
 503              x=x2;
 504            }
 505            wr_lcd (comm,0x36);     //扩充指令集动作 ,绘图显示ON
 506          }*/
 507          /*-----------------------------------------------*/
 508          //当data1=0xff,data2=0xff时,在x0,y0处反白显示16xl*yl.
 509          /*void con_disp (uchar data1,uchar data2,uchar x0,uchar y0,uchar xl,uchar yl)
 510          {
 511            uchar i,j;
 512            for(j=0;j<yl;j++)
 513            {
 514              for(i=0;i<xl;i++)
 515              {
 516                wr_lcd (comm,0x34);   //8位控制器接口,扩充功能设定,扩充指令集动作,绘图显示OFF
 517                wr_lcd (comm,y0+j);
 518                wr_lcd (comm,x0+i);
 519                wr_lcd (comm,0x30);       //基本指令集动作        ,绘图显示OFF
 520                wr_lcd (dat,data1);
 521                wr_lcd (dat,data2);
 522              }
 523            }
 524            wr_lcd (comm,0x36);
 525          }*/
 526          /*--------------清DDRAM------------------*/
 527          /*void clrram (void)
 528          {
 529            wr_lcd (comm,0x30);
 530            wr_lcd (comm,0x01);
 531            delay (180);
 532          }*/
 533          /*---------------------------------------------
 534          发送数据或指令的函数
 535          当dat_comm=1 发送的是数据, dat_comm=0则是命令.
 536          待发送的数据或指令放在content中.
 537          ----------------------------------------------*/
 538          void wr_lcd (uchar dat_comm,uchar content)
 539          {
 540   1        uchar a,i,j;
 541   1        delay (50);
 542   1        a=content;
 543   1        cs=1;
 544   1        sclk=0;
 545   1        std=1;
 546   1        for(i=0;i<5;i++)              //先输入五个连续的1   -----》是同步位字符串,此时输入记数被重置并且串行传输被同步。
 547   1        {
 548   2          sclk=1;
 549   2          sclk=0;
 550   2        }
 551   1        std=0;                                //RW位
C51 COMPILER V8.02   BORAD                                                                 05/08/2007 16:23:35 PAGE 10  

 552   1        sclk=1;
 553   1        sclk=0;
 554   1        if(dat_comm)             //RS位
 555   1          std=1;   //data
 556   1        else
 557   1          std=0;   //command
 558   1        sclk=1;
 559   1        sclk=0;                          //第8位规定为0
 560   1        std=0;
 561   1        sclk=1;
 562   1        sclk=0;
 563   1        for(j=0;j<2;j++)
 564   1        {
 565   2          for(i=0;i<4;i++)   //每一个8位指令将被分为两个字节接收到.
 566   2          {
 567   3            a=a<<1;
 568   3            std=CY;
 569   3            sclk=1;
 570   3            sclk=0;
 571   3          }
 572   2          std=0;
 573   2          for(i=0;i<4;i++)
 574   2          {
 575   3            sclk=1;
 576   3            sclk=0;
 577   3          }
 578   2        }
 579   1      }
 580          /*-----------------------------------*/
 581          void delay (uint us)   //delay time
 582          {
 583   1        while(us--);
 584   1      }
 585          /*void delay1 (uint ms)
 586          {
 587            uint i,j;
 588            for(i=0;i<ms;i++)
 589            for(j=0;j<15;j++)
 590            delay(1);
 591          }*/
 592          
 593          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    743    ----
   CONSTANT SIZE    =    252    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     15      22
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      7       4
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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