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

📄 lcd_19264_driver.lst

📁 19264时间控制 画图功能 19264时间控制 画图功能
💻 LST
📖 第 1 页 / 共 2 页
字号:
 256   1              P0=LCD_JHD19264A_DISPLAY_ON;    //开显示
 257   1              LCD_JHD19264A_E=0;                              //指令有效
 258   1      
 259   1              LCD_JHD19264A_CSB=0;
 260   1              LCD_JHD19264A_CSA=1;                    //开片选10
 261   1              LCD_JHD19264A_Busy();
 262   1              LCD_JHD19264A_RS=0;
 263   1              LCD_JHD19264A_RW=0;                             //送指令
 264   1              LCD_JHD19264A_E=1;
 265   1              P0=LCD_JHD19264A_DISPLAY_ON;    //开显示
 266   1              LCD_JHD19264A_E=0;                              //指令有效
 267   1      }
 268          
 269          //*******************************************
 270          //函数名称:void LCD_JHD19264A_Write(uchar adress,uchar page,uchar count,uchar *pTAB)
 271          //函数功能:在液晶上绘制(宽*高=count*8)图形函数.切记:count代表宽!!!!!
 272          //形式参数:uchar adress,uchar page,uchar count,uchar *pTAB
 273          //行参说明:
 274          //                      adress: 列地址(bit0-5:adressY;bit6-7:CS)
 275          //                       page : 行地址,取值范围0~7
 276          //                      count : 列的点阵个数
 277          //                      *pTAB : 图形点阵表首地址
 278          //返回参数:无
 279          //使用说明:无
 280          //*******************************************
 281          void LCD_JHD19264A_Write(uchar adress,uchar page,uchar count,uchar DATA)
 282          {
*** WARNING C235 IN LINE 282 OF LCD_19264_DRIVER.C: parameter 4: different types
 283   1              uchar dcode;
 284   1      
 285   1              dcode = adress & 0x80;                          //根据地址DB7设置片选
 286   1      
 287   1              if(dcode)
 288   1                      LCD_JHD19264A_CSA = 1;
 289   1              else
 290   1                      LCD_JHD19264A_CSA = 0;
 291   1      
 292   1              dcode = adress&0x40;
 293   1      
 294   1              if(dcode)                                                       //根据地址DB6设置片选
 295   1                      LCD_JHD19264A_CSB = 1;
 296   1              else
 297   1                      LCD_JHD19264A_CSB = 0;
 298   1                      
 299   1              page |= 0xb8;                                           //设置页地址
 300   1              LCD_JHD19264A_Busy();
C51 COMPILER V7.20   LCD_19264_DRIVER                                                      09/20/2008 06:44:13 PAGE 6   

 301   1              LCD_JHD19264A_RS = 0;
 302   1              LCD_JHD19264A_RW = 0;                           //送指令
 303   1              LCD_JHD19264A_E  = 1;
 304   1              P0 = page;
 305   1              LCD_JHD19264A_E=0;                                      //指令有效
 306   1      
 307   1              dcode  = adress & 0x3f;                         //根据DB5~DB0设置起始Y地址
 308   1              dcode |= 0x40;                                          //设置Y地址指令的标志位
 309   1              LCD_JHD19264A_Busy();
 310   1              LCD_JHD19264A_RS = 0;
 311   1              LCD_JHD19264A_RW = 0;
 312   1              LCD_JHD19264A_E  = 1;
 313   1              P0 = dcode;
 314   1              LCD_JHD19264A_E  = 0;                           //指令有效
 315   1      
 316   1              for( ; count ; count--)                         //发送显示数据
 317   1              {
 318   2                      dcode = ~DATA;
 319   2                      LCD_JHD19264A_Busy();
 320   2                      LCD_JHD19264A_RS = 1;
 321   2                      LCD_JHD19264A_RW = 0;                   //写数据                
 322   2                      LCD_JHD19264A_E  = 1;
 323   2                      P0 = dcode;
 324   2                      LCD_JHD19264A_E  = 0;                   //数据有效
 325   2              }
 326   1      }
 327          
 328          //*******************************************
 329          //函数名称:void LCD_JHD19264A_Clear(void)
 330          //函数功能:清屏
 331          //形式参数:
 332          //行参说明:
 333          //返回参数:无
 334          //使用说明:无
 335          //*******************************************
 336          void LCD_JHD19264A_Clear(void)
 337          {
 338   1              uchar i;        
 339   1              for(i=0;i<8;i++)
 340   1              {
 341   2                      LCD_JHD19264A_Write(0,i,64,0x00);
 342   2              }
 343   1              for(i=0;i<8;i++)
 344   1              {
 345   2                      LCD_JHD19264A_Write(0x40,i,64,0x00);
 346   2              }
 347   1              for(i=0;i<8;i++)
 348   1              {
 349   2                      LCD_JHD19264A_Write(0x80,i,64,0x00);
 350   2              }       
 351   1      }
 352          
 353          //*******************************************
 354          //函数名称:void LCD_JHD19264A_Draw_miki(void)
 355          //函数功能:画一幅192*64图,米老鼠
 356          //形式参数:专业取模软件,纵向取模,字节倒序
 357          //行参说明:
 358          //返回参数:无
 359          //使用说明:无
 360          //*******************************************
 361          void LCD_JHD19264A_Draw(uchar *Tab)
 362          {
C51 COMPILER V7.20   LCD_19264_DRIVER                                                      09/20/2008 06:44:13 PAGE 7   

 363   1              uint m=0;
 364   1              uchar i,j,k=0;
 365   1              
 366   1                      {
 367   2                      for(k=0;k<8;)
 368   2                              {
 369   3                              i = *Tab;
 370   3                              LCD_JHD19264A_Write(k,2,1,i);
 371   3                              k++;
 372   3                              Tab++;
 373   3                              }
 374   2                      for(k=0;k<8;)
 375   2                              {
 376   3                              i = *Tab;
 377   3                              LCD_JHD19264A_Write(k,1,1,i);
 378   3                              k++;
 379   3                              Tab++;
 380   3                              }
 381   2                      for(k=8;k<16;)
 382   2                              {
 383   3                              i = *Tab;
 384   3                              LCD_JHD19264A_Write(k,2,1,i);
 385   3                              k++;
 386   3                              Tab++;
 387   3                              }
 388   2                      for(k=8;k<16;)
 389   2                              {
 390   3                              i = *Tab;
 391   3                              LCD_JHD19264A_Write(k,1,1,i);
 392   3                              k++;
 393   3                              Tab++;
 394   3                              }
 395   2              Tab=Tab-32;
 396   2                      }
 397   1      }
*** WARNING C280 IN LINE 364 OF LCD_19264_DRIVER.C: 'j': unreferenced local variable
 398          
 399          
 400          //从flash中读32字节并转换
 401          void getto()
 402          {
 403   1      uint i = 0;
 404   1      ulong adre = 0x1dbc0,buff;
 405   1      while(adre < 0x7ffff)
 406   1                      {
 407   2                      buff = adre;
 408   2                      P3 = buff;
 409   2                      buff >>= 8;
 410   2                      P7 = buff;
 411   2                      buff >>= 5;     
 412   2                      P2 = buff;
 413   2                      adre ++;
 414   2                      
 415   2                      C29040_OE = 0;
 416   2                      C29040_OE = 0;
 417   2                      TAB_274001_1[i] = P6;
 418   2                      i++;
 419   2                      if(i==4096)
 420   2                      adre = 0x7ffff; 
 421   2                      C29040_OE = 1;
 422   2      
 423   2                      LCD_JHD19264A_Draw(TAB_274001_1);
C51 COMPILER V7.20   LCD_19264_DRIVER                                                      09/20/2008 06:44:13 PAGE 8   

 424   2                      }
 425   1      
 426   1      }
 427          
 428          
 429          //以下为测试用例
 430          
 431          void main(void)
 432          {
 433   1              
 434   1              uint i = 16,m,n;
 435   1      ulong adre = 0x1dbc0,buff;
 436   1      
 437   1              Init_Device();
 438   1              LCD_JHD19264A_Init();
 439   1              LCD_JHD19264A_Clear();
 440   1      /*      A16 = 0;
 441   1              A17 = 0;
 442   1              A18 = 0;
 443   1              P3 = 0x00;
 444   1              P7 = 0x00;
 445   1              C29040_CE = 1;
 446   1              C29040_OE = 1;
 447   1      //      getto();
 448   1              LCD_JHD19264A_Draw(TAB_01);
 449   1              while(1);
 450   1      */
 451   1              
 452   1      /*
 453   1      
 454   1      
 455   1      while(i)
 456   1                      {
 457   1                      buff = adre;
 458   1                      P3 = i;
 459   1                      buff >>= 8;
 460   1                      P7 = 0x00;
 461   1                      buff >>= 5;     
 462   1                      P2 = buff;
 463   1                      adre ++;
 464   1                      
 465   1                      C29040_OE = 0;
 466   1                      C29040_OE = 0;
 467   1                      TAB_274001_1[i] = P6;
 468   1                      i++;
 469   1                      if(i==12287)
 470   1                      i=0;    
 471   1                      C29040_OE = 1;
 472   1      
 473   1                      LCD_JHD19264A_Draw(TAB_274001_2);
 474   1              if(i==48)
 475   1              {i=0;break;
 476   1                }
 477   1                      }
 478   1      while(1)
 479   1      {
 480   1      LCD_JHD19264A_Draw(TAB_274001_2);
 481   1      }
 482   1      */
 483   1              while(1)
 484   1              {       
 485   2              LCD_JHD19264A_Draw(TAB_01);
C51 COMPILER V7.20   LCD_19264_DRIVER                                                      09/20/2008 06:44:13 PAGE 9   

 486   2              for(m=0;m<65535;m++)
 487   2              for(n=0;n<25;n++);
 488   2              LCD_JHD19264A_Draw(TAB_02);
 489   2              for(m=0;m<65535;m++)
 490   2              for(n=0;n<30;n++);
 491   2              LCD_JHD19264A_Draw(TAB_03);
 492   2              for(m=0;m<65535;m++)
 493   2              for(n=0;n<30;n++);
 494   2              LCD_JHD19264A_Draw(TAB_04);
 495   2              for(m=0;m<65535;m++)
 496   2              for(n=0;n<30;n++);
 497   2              
 498   2              }
 499   1      }
*** WARNING C280 IN LINE 435 OF LCD_19264_DRIVER.C: 'buff': unreferenced local variable
 500          
 501          
 502          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    940    ----
   CONSTANT SIZE    =   6144    ----
   XDATA SIZE       =   1537    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      34
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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