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

📄 c1335_driver.lst

📁 需要控制320*240的lcd的朋友可以看看
💻 LST
📖 第 1 页 / 共 2 页
字号:
 238   2              WriteDATA(SCROLL_PARAM[i]);//D1335 = SCOLL_PARA_TABLE10[i];
 239   2              }
 240   1      
C51 COMPILER V7.50   C1335_DRIVER                                                          08/03/2007 15:37:15 PAGE 5   

 241   1              WriteCMD(HDOT_SCR);     //C1335=0x5A;                     //HDOTSET
 242   1              WriteDATA(0);           //D1335=0x00; 
 243   1              WriteCMD(OVLAY);        //C1335=0x5B;                     //OYLAY
 244   1              WriteDATA(0x04);                //D1335=0x00; 
 245   1              WriteCMD(CSR_FORM);     //C1335=0x5D;                     //CSRFORM
 246   1              WriteDATA(7);           //D1335=0x07;
 247   1              WriteDATA(7);           //D1335=0x07;
 248   1      
 249   1              WriteCMD(CSR_DIR_R);//C1335=0x4C;                    //CLR DRAM
 250   1              WriteCMD(CSR_W);        //C1335=0x46;
 251   1              WriteDATA(0);           //D1335=0x00; 
 252   1              WriteDATA(0);           //D1335=0x00;
 253   1              WriteCMD(MEM_WRITE);//C1335=0x42;
 254   1      
 255   1              for(i=0;i<0x2800;i++)
 256   1              {
 257   2                      WriteDATA(0);           //D1335=0x20;
 258   2              }         
 259   1      
 260   1              WriteCMD(DISP_ON);      //cmd_write (LCDDISPON);
 261   1              WriteDATA(0x14);                //data_write (0x54);
 262   1      }                     
 263          //********************************************************************
 264          void ClearLCD(  unsigned char   ZoneBase,
 265                                          unsigned char   X,
 266                                          unsigned char   Y,
 267                                          unsigned char   XLength,
 268                                          unsigned char   YLength)
 269          {
 270   1              unsigned char   i,j;
 271   1              unsigned int   XYtemp;  
 272   1              
 273   1              WriteCMD(CSR_DIR_D);
 274   1              for(i=0;i<XLength;i++)
 275   1              { 
 276   2                  XYtemp  =  (Y) * 40 + X+i + ZoneBase*256;
 277   2                      WriteCMD(CSR_DIR_D);
 278   2                  WriteCMD(CSR_W);
 279   2                      WriteDATA((unsigned char)XYtemp);
 280   2                      WriteDATA((unsigned char)(XYtemp >> 8));
 281   2                      WriteCMD(MEM_WRITE);
 282   2                      for(j=0;j<YLength;j++)
 283   2                                      WriteDATA(0); 
 284   2          }
 285   1      }
 286          
 287          /*
 288          // 第一显示区向下滚动
 289          void RollDown( void ) 
 290          {
 291                  unsigned int    iTemp   =       paraP9*15*16+BasePart2*256;
 292                  unsigned char   jj              =       15;// 演示32次
 293          
 294          //      WriteCommand( DispOn );                 // 写入指令DISP ON/OFF代码,后续参数:
 295          //      WriteData( 0x44 );                              // 00 00 01 00显示1区开显示,其余层关闭
 296          
 297                  while(jj--) {
 298                          iTemp -= paraP9*16;
 299                          WriteCMD( SCROLL);              // 设定显示区域起始地址
 300                          WriteDATA( 0 );                 // 写入参数
 301                          WriteDATA( 0 );                 // 写入参数
 302                          WriteDATA( 0XF0 );                      // 写入参数
C51 COMPILER V7.50   C1335_DRIVER                                                          08/03/2007 15:37:15 PAGE 6   

 303                          WriteDATA( (unsigned char)(iTemp & 0xff) );                     // 写入参数
 304                          WriteDATA( (unsigned char)(iTemp /256) );                       // 写入参数
 305                          DelayMS(400);                                   // 调延时子程序
 306                  }
 307                  WriteCMD( SCROLL );             // 设定显示区域起始地址
 308                  WriteDATA( 0 );                 // 写入参数
 309                  WriteDATA( 0 );                 // 写入参数
 310                  DelayMS(60);
 311          }
 312          
 313          // 第二显示区向上滚动
 314          void RollUp( void ) 
 315          {
 316          
 317                  unsigned int    iTemp=BasePart2*256;
 318                  unsigned char   jj = 15;                                        // 演示30次
 319          
 320          //      WriteCommand( DispOn );                 // 写入指令DISP ON/OFF代码,后续参数:
 321          //      WriteData( 0x44 );                              // 00 00 01 00显示1区开显示,其余层关闭
 322          
 323                  while(jj--) 
 324                  {
 325                          iTemp += paraP9*16;
 326          
 327                          WriteCMD( SCROLL );             // 设定显示区域起始地址
 328                          WriteDATA( 0 );                 // 写入参数
 329                          WriteDATA( 0 );                 // 写入参数
 330                          WriteDATA( 0XF0 );                      // 写入参数
 331                          WriteDATA( (unsigned char)(iTemp & 0xff) );                     // 写入参数
 332                          WriteDATA( (unsigned char)(iTemp /256) );                       // 写入参数
 333          
 334                          DelayMS(400);                           // 调延时子程序
 335                  }
 336          }
 337          */
 338          /*=================================================================**
 339          **函 数 名:void PutPixel(unsigned int X,unsigned  char Y,unsigned char attr);**
 340          **功能介绍:在(x,y)坐标绘制一个点。x=[0,319],y=[0,239]                     **
 341          **传人参数:attr是 (1)画点,(0)消点                   **
 342          ===================================================================
 343          void PutPixel(unsigned int X,unsigned  char Y,unsigned char attr)
 344          {
 345              unsigned char  ucTemp;
 346              unsigned int   XYtemp;  
 347              XYtemp  =  (Y) * 40 + (unsigned char)(X >> 3) + BasePart2*256;
 348                  WriteCMD(CSR_DIR_D);
 349              WriteCMD(CSR_W);
 350                  WriteDATA((unsigned char)XYtemp);
 351                  WriteDATA((unsigned char)(XYtemp >> 8));
 352                  WriteCMD(MEM_READ);
 353              ucTemp  =  ReadDataLcm();
 354                  if(attr)
 355                  ucTemp  |=  OnlyBitTable[(unsigned char)X & 0x07];
 356                  else
 357                  ucTemp  &= ~OnlyBitTable[(unsigned char)X & 0x07];
 358          
 359                  WriteCMD(CSR_W);
 360                  WriteDATA((unsigned char)XYtemp);
 361                  WriteDATA((unsigned char)(XYtemp >> 8));
 362              WriteCMD(MEM_WRITE);
 363              WriteDATA(ucTemp);
 364          }*/
C51 COMPILER V7.50   C1335_DRIVER                                                          08/03/2007 15:37:15 PAGE 7   

 365          /*=================================================================**
 366          **函 数 名:void PutPixel(unsigned int X,unsigned  char Y,unsigned char attr);**
 367          **功能介绍:在(x,y)坐标绘制一个点。x=[0,319],y=[0,239]                     **
 368          **传人参数:attr是 (1)画点,(0)消点                   **
 369          ===================================================================
 370          void    DrawRect(unsigned int X,unsigned  char Y,unsigned char attr)
 371          {
 372                  unsigned char   i,j;
 373                  for(j=0;j<2;j++)
 374                          for(i=0;i<40;i++)
 375                                  PutPixel(X+i,Y+j,attr);
 376                  for(j=22;j<24;j++)
 377                          for(i=0;i<40;i++)
 378                                  PutPixel(X+i,Y+j,attr);
 379          
 380                  for(i=0;i<2;i++)
 381                          for(j=0;j<24;j++)
 382                                  PutPixel(X+i,Y+j,attr);
 383                  for(i=38;i<40;i++)
 384                          for(j=0;j<24;j++)
 385                                  PutPixel(X+i,Y+j,attr);
 386          }*/
 387          /*======================================================================**
 388          **函 数 名:void DispHZ_24_24(uchar *addr,uchar LineX,uchar RowY);      **
 389          **功能介绍:显示 2 区图形方式显示16*16汉字                              **
 390          **传人参数:汉字字符串地址 *addr,定位坐标LineX(0~239),RowY(0~39)       **
 391          **                                                                      **
 392          **======================================================================
 393          void DispHZ_24_24(      unsigned char *addr,
 394                                                  unsigned char Y0,
 395                                                  unsigned char X0,
 396                                                  unsigned char color) 
 397          {  
 398                  DispBitmap(addr,                Y0,             X0,             color,24);
 399                  DispBitmap(addr+24,             Y0,             X0+1,   color,24);
 400                  DispBitmap(addr+24+24,  Y0,             X0+2,   color,24);
 401          }*/
 402          
 403          /*======================================================================**
 404          **函 数 名:void DispBitmap(uchar *addr,uchar LineX,**
 405                                                                  uchar RowY,unsigned char Length);**
 406          **功能介绍:显示 3 区图形方式显示Length*8的位图                         **
 407          **传人参数:汉字字符串地址 *addr,定位坐标LineX(0~239),RowY(0~39)       **
 408          **                                                                      **
 409          **======================================================================*/ /*
 410          void DispBitmapZone1(   unsigned char *addr,
 411                                                          unsigned char Y,
 412                                                          unsigned char X,
 413                                                          unsigned char color, 
 414                                                          unsigned char Length) 
 415          {
 416                  unsigned char i; 
 417                  unsigned int XYtemp;
 418                  i = color;
 419                  XYtemp = Y * 40 + X+BasePart1*256;              //计算显示位置
 420                  WriteCMD(CSR_DIR_D);
 421                  WriteCMD(CSR_W);
 422                  WriteDATA((unsigned char)XYtemp);
 423                  WriteDATA((unsigned char)(XYtemp >> 8));
 424                  WriteCMD(MEM_WRITE);
 425                  for(i=0;i<Length;i++,addr++)
 426                  {                
C51 COMPILER V7.50   C1335_DRIVER                                                          08/03/2007 15:37:15 PAGE 8   

 427                  if(!color)      WriteDATA(*addr);
 428                          else        WriteDATA(~(*addr));
 429                  } 
 430          }*/
 431          /*======================================================================**
 432          **函 数 名:void DispHZ_24_24(uchar *addr,uchar LineX,uchar RowY);      **
 433          **功能介绍:显示 3 区图形方式显示16*16汉字                              **
 434          **传人参数:汉字字符串地址 *addr,定位坐标LineX(0~239),RowY(0~39)       **
 435          **                                                                      **
 436          **======================================================================*/ /*
 437          void DispHZ_24_24Zone1( unsigned char *addr,
 438                                                          unsigned char Y0,
 439                                                          unsigned char X0,
 440                                                          unsigned char color) 
 441          {  
 442                  DispBitmapZone1(addr,           Y0,             X0,             color,24);
 443                  DispBitmapZone1(addr+24,        Y0,             X0+1,   color,24);
 444                  DispBitmapZone1(addr+24+24,     Y0,             X0+2,   color,24);
 445          }
 446          /*======================================================================**
 447          **函 数 名:Disp_ASCII(uchar *addr,uchar LineX,uchar RowY,bit Inverse); **
 448          **功能介绍:显示 2 区图形方式显示ASCII,要求以'\0'结尾                   **
 449          **传人参数:ASCII字符串地址 *addr,定位坐标LineX(0~239),RowY(0~39)      **
 450          **              -----(bit)Inverse,正常显示(0),反白显示(1)  ---          **
 451          ========================================================================*
 452          void DispASCIIStr(      unsigned char *addr,
 453                                                  unsigned char X,
 454                                                  unsigned char Y,
 455                                                  unsigned char color)
 456          {     
 457                  unsigned int    p;
 458          
 459                  for ( ;*addr != 0;addr++,X++ )
 460                  {
 461                          p = (*addr - 0x20)*16 ;         
 462                          DispCHAR_16x8(ASCII_16+p,X,Y,color);    //DispCHAR_16x8(&Ascii_16[p],Y0,X0,color);   
 463                  }   
 464          }
 465          */
 466                   


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1051    ----
   CONSTANT SIZE    =   5210    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      76
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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