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

📄 lcd.lst

📁 51单片机驱动128*64液晶屏例程
💻 LST
字号:
C51 COMPILER V8.12   LCD                                                                   05/20/2009 00:11:09 PAGE 1   


C51 COMPILER V8.12, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcd.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <AT89X52.H>
   2          #include <lcd.h>
   3          #include <intrins.h>
   4          
   5          void delay(unsigned char ms)
   6          {
   7   1              unsigned char i,j;
   8   1              for(i=ms;i>0;i--)
   9   1                      for(j=100;j>0;j--);
  10   1      }
  11          
  12          void WriteCommandLCM(unsigned char comm,unsigned char bank)
  13          {  
  14   1              while (checkbusy(bank));
  15   1              RW = 0;
  16   1              RS = 0;
  17   1              if(1==bank)     {CS1=0; CS2=1;}
  18   1              if(2==bank) {CS1=1;     CS2=0;}
  19   1              if(3==bank) {CS1=0;     CS2=0;}         
  20   1              P0 = comm;
  21   1              EN = 1;
  22   1              EN = 0; 
  23   1      }
  24          void WriteDataLCM(unsigned char Data,unsigned char bank)
  25          {       
  26   1              while (checkbusy(bank));
  27   1              RS=1;
  28   1              RW=0;   
  29   1              if(1==bank)     {CS1=0; CS2=1;}
  30   1              if(2==bank) {CS1=1;     CS2=0;}
  31   1              if(3==bank) {CS1=0;     CS2=0;}
  32   1              P0=Data;
  33   1              EN=1;
  34   1              EN=0;
  35   1      }
  36          void LCMInit(void)
  37          {
  38   1              RST = 0;
  39   1              EN =0;
  40   1              delay(10);
  41   1              RST = 1;
  42   1              delay(10);
  43   1              CS1=0;
  44   1              CS2=0;
  45   1              WriteCommandLCM(0x3f,3);//打开显示功能;
  46   1              WriteCommandLCM(0x40,3);//设置Y地址为0;
  47   1              WriteCommandLCM(0xb8,3);//设置行地址为0;
  48   1              WriteCommandLCM(0xc0,3);//设置显示起始行为0;
  49   1      
  50   1      }
  51          unsigned char ReadStatusLCM(unsigned char bank)
  52          {
  53   1              unsigned char sta;
  54   1              RS=0;
  55   1              RW=1;
C51 COMPILER V8.12   LCD                                                                   05/20/2009 00:11:09 PAGE 2   

  56   1              if(1==bank)     {CS1=0; CS2=1;}
  57   1              if(2==bank)     {CS1=1; CS2=0;}
  58   1              if(3==bank)     {CS1=0; CS2=0;}
  59   1              P0=0xff;
  60   1              EN=1;
  61   1              EN=0;
  62   1              sta=P0;
  63   1              return sta;
  64   1      }
  65          
  66          unsigned char checkbusy(unsigned char bank)
  67          {
  68   1              return (ReadStatusLCM(bank)&0x80);
  69   1      }
  70          
  71          void writelcd(unsigned char x,unsigned char y,unsigned char *p)
  72          {
  73   1              unsigned char bank=1,row,i;
  74   1              row=y;
  75   1              if(y>4) {bank=2;row=y-4;}
  76   1              WriteCommandLCM(0xb6+x*2,bank);//设置行地址为X;
  77   1              WriteCommandLCM(0x30+row*16,bank);//设置列地址为y;
  78   1              for(i=0;i<16;i++) WriteDataLCM(p[i],bank);
  79   1              WriteCommandLCM(0xb7+x*2,bank);
  80   1              WriteCommandLCM(0x30+row*16,bank);
  81   1              for(i=0;i<16;i++) WriteDataLCM(p[i+16],bank);
  82   1      }       


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    339    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      11
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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