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

📄 ra8806.lst

📁 Radio公司的最新控制器RA8806只要一条命令就可以实现硬件上90度的滚屏效果
💻 LST
📖 第 1 页 / 共 5 页
字号:
 289   1      #ifdef Parallel_8080_4bit
                     bRDZ = 1;
                     bWRZ = 1;
                     bCSZ = 0;
                     bA0  = 0;
                     bRDZ = 0;
                         Data = (DATA_BUS << 4) | 0x0f;
                     bRDZ = 1;
                         bCSZ = 1;
                              
                         DATA_BUS = 0xff;
                         bCSZ = 0;
                     bRDZ = 0;
                         Data = DATA_BUS & Data;
                         bRDZ = 1;
C51 COMPILER V7.50   RA8806                                                                03/31/2008 16:56:28 PAGE 6   

                     bCSZ = 1;
              #endif
 306   1      
 307   1      #ifdef Parallel_6800                            
                     bCSZ = 0;
                         bA0  = 0;
                         bRDZ = 1;                     
                         Data = DATA_BUS;
                         bRDZ = 0;
                         bCSZ = 1;
              #endif
 315   1      
 316   1      #ifdef Parallel_6800_4bit                               
                     bCSZ = 0;
                         bA0  = 0;
                         bRDZ = 1;                     
                         Data = (DATA_BUS << 4) | 0x0f;
                         bRDZ = 0;
                         bCSZ = 1;
              
                         bCSZ = 0;
                         bA0  = 0;
                         bRDZ = 1;                     
                         Data = DATA_BUS & Data;
                         bRDZ = 0;
                         bCSZ = 1;
              #endif
 331   1                 bA0  = 1;
 332   1      
 333   1              return Data;
 334   1      }
 335          //==============================================================================
 336          //Subroutine:   LCD_Initial
 337          //Function:             
 338          //==============================================================================
 339          void LCD_Initial(void)
 340          {
 341   1              LCD_CmdWrite(WLCR);             //[00H] , Default --> 0x00
 342   1              LCD_DataWrite(0x00);    
 343   1      
 344   1              LCD_CmdWrite(MISC);             //[01H] , Default --> 0x00
 345   1              LCD_DataWrite(0x00);
 346   1      
 347   1              LCD_CmdWrite(ADSR);             //[03H] , Default --> 0x00 
 348   1              LCD_DataWrite(0x00);
 349   1      
 350   1              LCD_CmdWrite(INTR);             //[0FH] , Default --> 0x00
 351   1              LCD_DataWrite(0x00);
 352   1      
 353   1              LCD_CmdWrite(WCCR);             //[10H] , Default --> 0x00
 354   1              LCD_DataWrite(0x00);
 355   1      
 356   1              LCD_CmdWrite(CHWI);             //[11H] , Default --> 0x00
 357   1              LCD_DataWrite(0x00);
 358   1      
 359   1              LCD_CmdWrite(MAMR);             //[12H] , Default --> 0x11 
 360   1              LCD_DataWrite(0x11);
 361   1      
 362   1              LCD_CmdWrite(AWRR);             //[20H] , Default --> 0x27
 363   1              LCD_DataWrite(0x27);
 364   1      
 365   1              LCD_CmdWrite(DWWR);             //[21H] , Default --> 0x27
C51 COMPILER V7.50   RA8806                                                                03/31/2008 16:56:28 PAGE 7   

 366   1              LCD_DataWrite(0x27);
 367   1      
 368   1              LCD_CmdWrite(AWBR);             //[30H] , Default --> 0xEF      
 369   1              LCD_DataWrite(0xef);
 370   1      
 371   1              LCD_CmdWrite(DWHR);             //[31H] , Default --> 0xEF
 372   1              LCD_DataWrite(0xef);
 373   1      
 374   1              LCD_CmdWrite(AWLR);             //[40H] , Default --> 0x00
 375   1              LCD_DataWrite(0x00);
 376   1      
 377   1              LCD_CmdWrite(AWTR);             //[50H] , Default --> 0x00
 378   1              LCD_DataWrite(0x00);
 379   1      
 380   1              LCD_CmdWrite(CURX);             //[60H] , Default --> 0x00 
 381   1              LCD_DataWrite(0x00);
 382   1      
 383   1              LCD_CmdWrite(BGSG);             //[61H] , Default --> 0x00
 384   1              LCD_DataWrite(0x00);
 385   1      
 386   1              LCD_CmdWrite(EDSG);             //[62H] , Default --> 0x00
 387   1              LCD_DataWrite(0x00);
 388   1      
 389   1              LCD_CmdWrite(CURY);             //[70H] , Default --> 0x00
 390   1              LCD_DataWrite(0x00);
 391   1      
 392   1              LCD_CmdWrite(BGCM);             //[71H] , Default --> 0x00
 393   1              LCD_DataWrite(0x00);
 394   1      
 395   1              LCD_CmdWrite(EDCM);             //[72H] , Default --> 0x00
 396   1              LCD_DataWrite(0x00);
 397   1      
 398   1              LCD_CmdWrite(BTMR);             //[80H] , Default --> 0x00
 399   1              LCD_DataWrite(0x00);
 400   1      
 401   1              LCD_CmdWrite(ITCR);             //[90H] , Default --> 0x00
 402   1              LCD_DataWrite(0x00);
 403   1      
 404   1              LCD_CmdWrite(KSCR1);    //[A0H] , Default --> 0x00
 405   1              LCD_DataWrite(0x00);
 406   1      
 407   1              LCD_CmdWrite(KSCR2);    //[A1H] , Default --> 0x00
 408   1              LCD_DataWrite(0x00);
 409   1      
 410   1              LCD_CmdWrite(KSDR0);    //[A2H] , Default --> 0x00
 411   1              LCD_DataWrite(0x00);
 412   1      
 413   1              LCD_CmdWrite(KSDR1);    //[A3H] , Default --> 0x00
 414   1              LCD_DataWrite(0x00);
 415   1      
 416   1              LCD_CmdWrite(KSDR2);    //[A3H] , Default --> 0x00
 417   1              LCD_DataWrite(0x00);
 418   1      
 419   1      //      LCD_CmdWrite(MWCR);             //[B0H] , Default --> NA 
 420   1      
 421   1      //      LCD_CmdWrite(MRCR);             //[B1H] , Default --> NA
 422   1      
 423   1      //      LCD_CmdWrite(TPCR);             //[C0H] , Default --> 0x00
 424   1      //      LCD_DataWrite(0x00);
 425   1      
 426   1      //      LCD_CmdWrite(TPXR);             //[C1H] , Default --> 0x00
 427   1      //      LCD_DataWrite(0x00);
C51 COMPILER V7.50   RA8806                                                                03/31/2008 16:56:28 PAGE 8   

 428   1      
 429   1      //      LCD_CmdWrite(TPYR);             //[C2H] , Default --> 0x00
 430   1      //      LCD_DataWrite(0x00);
 431   1      
 432   1      //      LCD_CmdWrite(TPZR);             //[C3H] , Default --> 0x00
 433   1      //      LCD_DataWrite(0x00);
 434   1      
 435   1              LCD_CmdWrite(PCR);              //[D0H] , Default --> 0x00
 436   1              LCD_DataWrite(0x00);
 437   1      
 438   1              LCD_CmdWrite(PDCR);             //[D1H] , Default --> 0x00
 439   1              LCD_DataWrite(0x00);
 440   1      
 441   1              LCD_CmdWrite(PNTR);             //[E0H] , Default --> 0x00
 442   1              LCD_DataWrite(0x00);
 443   1      
 444   1              LCD_CmdWrite(FNCR);             //[F0H] , Default --> 0x00
 445   1              LCD_DataWrite(0x00);
 446   1      
 447   1              LCD_CmdWrite(FVHT);             //[F1H] , Default --> 0x00
 448   1              LCD_DataWrite(0x00);
 449   1      }
 450          
 451          //==============================================================================
 452          //Subroutine:   LCD_SleepMode
 453          //Function:             
 454          //==============================================================================
 455          void LCD_SleepMode(void)
 456          {
 457   1              uchar temp;
 458   1              
 459   1              LCD_CmdWrite(WLCR);
 460   1              temp = LCD_DataRead();
 461   1              temp |= cSetb7;
 462   1              LCD_CmdWrite(WLCR);
 463   1              LCD_DataWrite(temp);
 464   1      }
 465          
 466          //==============================================================================
 467          //Subroutine:   LCD_ChkBusy
 468          //Function:             
 469          //==============================================================================
 470          void LCD_ChkBusy(void)
 471          {
 472   1              uchar temp;
 473   1              
 474   1              do
 475   1              {
 476   2                      temp = LCD_CmdRead();
 477   2              }while(temp & 0xc0);
 478   1      }
 479          
 480          //==============================================================================
 481          //Subroutine:   LCD_On
 482          //Function:
 483          //==============================================================================
 484          void LCD_ON(void)
 485          {
 486   1              uchar temp;
 487   1      
 488   1              LCD_CmdWrite(WLCR);
 489   1              temp = LCD_DataRead();
C51 COMPILER V7.50   RA8806                                                                03/31/2008 16:56:28 PAGE 9   

 490   1              temp |= cSetb2;
 491   1              LCD_CmdWrite(WLCR);
 492   1              LCD_DataWrite(temp);
 493   1      }
 494          
 495          void LCD_OFF(void)
 496          {
 497   1              uchar temp;
 498   1              
 499   1              LCD_CmdWrite(WLCR);
 500   1              temp = LCD_DataRead();
 501   1              temp &= cClrb2;
 502   1              LCD_CmdWrite(WLCR);
 503   1              LCD_DataWrite(temp);
 504   1      }
 505          
 506          //==============================================================================
 507          //Subroutine:   LCD_GotoXY
 508          //Function:             LCD Cursor X-Y
 509          //==============================================================================
 510          void LCD_GotoXY(uchar x, uchar y)
 511          {
 512   1              LCD_CmdWrite(CURX);
 513   1              LCD_DataWrite((x & B0011_1111));
 514   1      Delay2us(1);
 515   1              LCD_CmdWrite(CURY);
 516   1              LCD_DataWrite((y & B1111_1111));
 517   1      Delay2us(1);
 518   1      }
 519          //==============================================================================
 520          //Subroutine:   LCD_Graphic
 521          //Function:
 522          //==============================================================================
 523          void LCD_Graphic(void)
 524          {
 525   1              uchar temp;
 526   1              
 527   1              LCD_CmdWrite(WLCR);
 528   1              temp = LCD_DataRead();
 529   1              temp &= cClrb3;
 530   1              LCD_CmdWrite(WLCR);
 531   1              LCD_DataWrite(temp);
 532   1      }
 533          
 534          void LCD_Text(void)
 535          {
 536   1              uchar temp;
 537   1              
 538   1              LCD_CmdWrite(WLCR);
 539   1              temp = LCD_DataRead();
 540   1              temp |= cSetb3;
 541   1              LCD_CmdWrite(WLCR);
 542   1              LCD_DataWrite(temp);
 543   1      }
 544          
 545          //==============================================================================
 546          //Subroutine:   LCD_Cursor_Inc
 547          //Function:
 548          //==============================================================================
 549          void LCD_Cursor_Inc(void)
 550          {
 551   1              uchar temp;
C51 COMPILER V7.50   RA8806                                                                03/31/2008 16:56:28 PAGE 10  

 552   1              
 553   1              LCD_CmdWrite(WCCR);
 554   1              temp = LCD_DataRead();
 555   1              temp &= cClrb7;
 556   1              LCD_CmdWrite(WCCR);
 557   1              LCD_DataWrite(temp);    
 558   1      }
 559          
 560          void LCD_Cursor_No_Inc(void)
 561          {
 562   1              uchar temp;
 563   1              
 564   1              LCD_CmdWrite(WCCR);
 565   1              temp = LCD_DataRead();
 566   1              temp |= cSetb7;
 567   1              LCD_CmdWrite(WCCR);
 568   1              LCD_DataWrite(temp);    
 569   1      }
 570          
 571          //==============================================================================
 572          //Subroutine:   LCD_Cursor_Inc
 573          //Function:
 574          //==============================================================================
 575          void LCD_GB_Sel(void)
 576          {
 577   1              uchar temp;
 578   1              
 579   1              LCD_CmdWrite(WLCR);
 580   1              temp = LCD_DataRead();
 581   1              temp |= cSetb4;
 582   1              LCD_CmdWrite(WLCR);
 583   1              LCD_DataWrite(temp);    

⌨️ 快捷键说明

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