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

📄 lcd.lst

📁 本人开发的测量水的浊度的仪器
💻 LST
📖 第 1 页 / 共 4 页
字号:
 233                  SEDA0 = 0;
 234                  SEDRD = 0;
 235                  P1 = 0xff;
 236                  busy = P1&0x40;
 237                  SEDRD = 1;
 238          
 239                  return busy;
 240          }
 241          */
 242          /*
 243          void writecmd(unsigned char cmd)
 244          {
 245                  P1=cmd;
 246                  SEDA0=1;
 247                  SEDWR=0;
 248                  SEDWR=1;
 249          }
 250          
 251          void writedat(unsigned char dat)
 252          {
 253                  P1=dat;
 254                  SEDA0=0;
C51 COMPILER V7.06   LCD                                                                   04/09/2005 13:15:56 PAGE 9   

 255                  SEDWR=0;
 256                  SEDWR=1;
 257          }
 258          */
 259          /*
 260          unsigned char readdat()
 261          {
 262                  unsigned char dat;
 263          
 264                  SEDA0=1;
 265                  P1=0XFF;
 266                  SEDRD=0;
 267                  dat=P1;
 268                  SEDRD=1;
 269          
 270                  return dat;
 271          }
 272          */
 273          void clear(unsigned short addr)
 274          {
 275   1              unsigned int i;
 276   1              writecmd(0x4c);   /// CSRDIR 代码 
 277   1              writecmd(0x46);   /// CSRW 代码 
 278   1      
 279   1              writedat(addr&0xff);   /// 设置参数光标指针低8位 
 280   1              writedat(addr>>8);   /// 设置参数光标指针高8位 
 281   1              writecmd(0x42);   /// MWRITE 代码 
 282   1              for(i=0;i<9600;i++)       ///清64K的显示存储器
 283   1              {
 284   2                      writedat(0x00);     /// 写入数据 
 285   2              }
 286   1      }
 287          /*
 288          void initcgram()
 289          {
 290                  unsigned char i,j;
 291                  writecmd(0x5c);  /// CGRAMADR 代码 
 292                  writedat(0x00);  /// 设置SAG=0x8000 
 293                  writedat(0xc0);
 294                  writecmd(0x46);  /// CSRW 代码 
 295                  writedat(0x00);  /// 设置CSR=0x8400(字符代码=80H) 
 296                  writedat(0xc4);
 297                  writecmd(0x4c);  /// CSRDIR 代码 
 298                  writecmd(0x42);  /// MWRITE 代码 
 299                  for(j=0;j<4;j++)
 300                  {
 301                          for(i=0;i<32;i++)
 302                          {
 303                                  writedat(font16[j][i]);  /// 写入字模数据 
 304                          }
 305                  }
 306          }
 307          */
 308          void delay(ushort dly)
 309          {
 310   1              uchar i=0;
 311   1      
 312   1              while(dly--)
 313   1                      while(--i);
 314   1      }
 315          
 316          void initlcd()
C51 COMPILER V7.06   LCD                                                                   04/09/2005 13:15:56 PAGE 10  

 317          {
 318   1              SEDRST = 0;
 319   1              SEDCS = 0;
 320   1              delay(1);
 321   1      
 322   1              SEDRST = 1;
 323   1              delay(1);
 324   1      
 325   1              SEDDISP = 1;
 326   1              delay(1);
 327   1      }
 328          
 329          void initdisplay(SystemParam *pSysParam)
 330          {
 331   1              writecmd(0x40);   /// SYSTEM SET代码 
 332   1      
 333   1              writedat(pSysParam->param);
 334   1              writedat(pSysParam->fx);
 335   1              writedat(pSysParam->fy);
 336   1              writedat(pSysParam->cr);
 337   1              writedat(pSysParam->tcr);
 338   1              writedat(pSysParam->lf);
 339   1              writedat(pSysParam->apl);
 340   1              writedat(pSysParam->aph);
 341   1      }
 342          /*
 343          void sleepin()
 344          {
 345                  writecmd(0x53);
 346          }
 347          */
 348          void setdisplayon(bit bdisplay,unsigned char mode)
 349          {
 350   1              if(bdisplay)
 351   1              {
 352   2                      writecmd(0x59);
 353   2              }
 354   1              else
 355   1              {
 356   2                      writecmd(0x58);
 357   2              }
 358   1              writedat(mode);
 359   1      }
 360          
 361          void setdisplayparam(DisplayParam *pDispParam)
 362          {
 363   1              writecmd(0x44);   
 364   1      
 365   1              writedat(pDispParam->saddr1lo);   
 366   1              writedat(pDispParam->saddr1hi);   
 367   1              writedat(pDispParam->sl1);   
 368   1              writedat(pDispParam->saddr2lo);   
 369   1              writedat(pDispParam->saddr2hi);   
 370   1              writedat(pDispParam->sl2);   
 371   1              writedat(pDispParam->saddr3lo);   
 372   1              writedat(pDispParam->saddr3hi);   
 373   1              writedat(pDispParam->saddr4lo);   
 374   1              writedat(pDispParam->saddr4hi);   
 375   1      }
 376          
 377          void setcursorform(bit mode,unsigned char crx,unsigned char cry)
 378          {
C51 COMPILER V7.06   LCD                                                                   04/09/2005 13:15:56 PAGE 11  

 379   1              writecmd(0x5d);
 380   1              writedat(crx);
 381   1      
 382   1              cry &= 0x0f;
 383   1              if(mode)
 384   1              {
 385   2                      writedat(0x80|cry);
 386   2              }
 387   1              else
 388   1              {
 389   2                      writedat(0x7f&cry);
 390   2              }
 391   1      }
 392          
 393          void setcursordirection(CursorDirection csrdrt)
 394          {
 395   1              writecmd(csrdrt);
 396   1      }
 397          
 398          //mode 0 0 0 OV DM2 DM1 MX1 MX0
 399          void setoverlay(unsigned char mode)
 400          {
 401   1              writecmd(0x5b);
 402   1              writedat(mode);
 403   1      }
 404          /*
 405          void setcgramaddr(unsigned short addr)
 406          {
 407                  writecmd(0x50);
 408                  writedat(addr&0xff);
 409                  writedat((addr>>8)&0xff);
 410          }
 411          */
 412          //dot 0 0 0 0 0 D
 413          void sethdot(unsigned char dot)
 414          {
 415   1              writecmd(0x5a);
 416   1              writedat(dot);
 417   1      }
 418          
 419          void setcursoraddr(unsigned short cursoraddr)
 420          {
 421   1              writecmd(0x46);
 422   1              writedat(cursoraddr&0xff);
 423   1              writedat((cursoraddr>>8)&0xff);
 424   1      }
 425          /*
 426          unsigned short readcursoraddr()
 427          {
 428                  unsigned short addr;
 429          
 430                  writecmd(0x47);
 431                  addr |= readdat();
 432                  addr <<= 8;
 433                  addr |= readdat();
 434          
 435                  return addr;
 436          }
 437          */
 438          /*
 439          void writedispram(unsigned char *pdat,unsigned short len)
 440          {
C51 COMPILER V7.06   LCD                                                                   04/09/2005 13:15:56 PAGE 12  

 441                  writecmd(0x42);
 442          
 443                  while(len--)
 444                          writedat(*pdat++);
 445          }
 446          */
 447          /*
 448          void readdispram(unsigned char *pdat,unsigned short len)
 449          {
 450                  writecmd(0x43);
 451          
 452                  while(len--)
 453                          *pdat = readdat();
 454          }
 455          */
 456          /*
 457          void printchar8(unsigned short addr,unsigned char ch)
 458          {
 459                  unsigned char i,j,idx;
 460          
 461                  idx = 0xff;
 462                  for(i=0;i<sizeof(font8)/sizeof(Font8);i++)
 463                  {
 464                          if(ch == font8[i].fontcode)
 465                          {
 466                                  idx = i;
 467                                  break;
 468                          }
 469                  }

⌨️ 快捷键说明

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