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

📄 lcm12864driver.lst

📁 多功能数字钟,内含I2C驱动
💻 LST
字号:
C51 COMPILER V8.08   LCM12864DRIVER                                                        06/28/2008 15:24:33 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE LCM12864DRIVER
OBJECT MODULE PLACED IN LCM12864driver.OBJ
COMPILER INVOKED BY: E:\Program Files\Keil\C51\BIN\C51.EXE LCM12864driver.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          #include  <Reg52.h>
   3          #include <intrins.h>
   4          #include <LCM12864driver.H>
   5          
   6          sbit    LCM_RST= P1^4;
   7          
   8          void Delay(int num)
   9          {
  10   1          while(num--) ;
  11   1      }
  12          
  13          void Delay12864(unsigned int t)//
  14          {
  15   1          unsigned int i,j;
  16   1          for(i=0;i<t;i++)
  17   1          {
  18   2              for(j=0;j<10;j++);
  19   2          }
  20   1      }
  21          
  22          /******************************************************************************/
  23          void write_com(unsigned char cmdcode)//左屏写命令到LCD
  24          {
  25   1          LCMCS1W_COM = cmdcode;
  26   1          
  27   1      }
  28          void write1_com(unsigned char cmdcode)//右屏写命令到LCD
  29          {
  30   1          LCMCS2W_COM = cmdcode;
  31   1          
  32   1      }
  33          /******************************************************************************/
  34          void write_data(unsigned char Dispdata)//左屏写数据到LCD
  35          {
  36   1          LCMCS1W_DAT = Dispdata;
  37   1      }
  38          
  39          void write1_data(unsigned char Dispdata)//右屏写数据到LCD
  40          {
  41   1          LCMCS2W_DAT = Dispdata;
  42   1      }
  43          /******************************************************************************/
  44          /*******************************************************************************
  45          void frame(void)//显示边框
  46          {
  47              unsigned char i;
  48              Mcs = 1;
  49              Scs = 1;
  50              write_com(Page_Add+0);
  51              write_com(Col_Add+0);
  52              for(i=0;i<64;i++) 
  53              {
  54                  write_data(0x01);
  55              }
C51 COMPILER V8.08   LCM12864DRIVER                                                        06/28/2008 15:24:33 PAGE 2   

  56              write_com(Page_Add+7);
  57              write_com(Col_Add+0);
  58              for(i=0;i<64;i++)
  59              {
  60                  write_data(0x80);
  61              }
  62              for(i=0;i<8;i++)
  63              {
  64                  Mcs=0;
  65                  Scs=1;
  66                  write_com(Page_Add+i);
  67                  write_com(Col_Add+63);
  68                  write_data(0xff);
  69                  Mcs=1;
  70                  Scs=0;
  71                  write_com(Page_Add+i);
  72                  write_com(Col_Add+0);
  73                  write_data(0xff);
  74              }
  75          }
  76          
  77          /***************************清除内存***************************************************/
  78          void Clr_Scr(void)//
  79          {
  80   1          unsigned char j,k;
  81   1          for(k=0;k<8;k++)
  82   1          {
  83   2              
  84   2              Delay(10);
  85   2              write_com(Page_Add+k);
  86   2              write_com(Col_Add+0);
  87   2              for(j=0;j<64;j++) 
  88   2              {
  89   3                  write_data(0x00);
  90   3              }
  91   2              
  92   2              Delay(10);
  93   2              write1_com(Page_Add+k);
  94   2              write1_com(Col_Add+0);
  95   2              for(j=64;j<128;j++)
  96   2              {
  97   3                  write1_data(0x00);
  98   3              }
  99   2          }
 100   1      }
 101          
 102          /**********************************显示12864图片*********************************************/
 103          void Disp_Img(unsigned char code *img)//
 104          { 
 105   1          unsigned char j,k;
 106   1          for(k=0;k<8;k++)
 107   1          {
 108   2              
 109   2              Delay(10);
 110   2              write_com(Page_Add+k);
 111   2              write_com(Col_Add+0);
 112   2              for(j=0;j<64;j++) 
 113   2              {
 114   3                  write_data(img[k*128+j]);
 115   3              }
 116   2              
 117   2              Delay(10);
C51 COMPILER V8.08   LCM12864DRIVER                                                        06/28/2008 15:24:33 PAGE 3   

 118   2              write1_com(Page_Add+k);
 119   2              write1_com(Col_Add+0);
 120   2              for(j=64;j<128;j++)
 121   2              {
 122   3                  write1_data(img[k*128+j]);
 123   3              }
 124   2          }
 125   1      }
 126          
 127          /***************************指定位置显示汉字16*16****************************************************/
 128          void Disp_Chinese(unsigned char pag,unsigned char col,  char code *hzk)
 129          {
 130   1          unsigned char j=0,i=0;   
 131   1          for(j=0;j<2;j++)
 132   1          {
 133   2              write_com(Page_Add+pag+j);
 134   2              write_com(Col_Add+col);
 135   2              for(i=0;i<16;i++) 
 136   2              {
 137   3                  write_data(hzk[16*j+i]);
 138   3              }
 139   2          }
 140   1      }
 141          
 142          void Disp1_Chinese(unsigned char pag,unsigned char col,  char code *hzk)
 143          {
 144   1          unsigned char j=0,i=0;   
 145   1          for(j=0;j<2;j++)
 146   1          {
 147   2              write1_com(Page_Add+pag+j);
 148   2              write1_com(Col_Add+col);
 149   2              for(i=0;i<16;i++) 
 150   2              {
 151   3                  write1_data(hzk[16*j+i]);
 152   3              }
 153   2          }
 154   1      }
 155          
 156          /**************************指定位置显示字母或数字8*16*****************************************************
             -/                        
 157          void Disp_Digit(unsigned char pag,unsigned char col, unsigned char code *hzk)
 158          {
 159   1          unsigned char j=0, i=0;
 160   1          
 161   1          for(j=0;j<2;j++)
 162   1          {
 163   2              write_com(Page_Add+pag+j);
 164   2              write_com(Col_Add+col);
 165   2              for(i=0;i<8;i++) 
 166   2              {
 167   3                  write_data(hzk[8*j+i]);
 168   3              }
 169   2          }
 170   1      }
 171          void Disp1_Digit(unsigned char pag,unsigned char col, unsigned char code *hzk)
 172          {
 173   1          unsigned char j=0, i=0;
 174   1          
 175   1          for(j=0;j<2;j++)
 176   1          {
 177   2              write1_com(Page_Add+pag+j);
 178   2              write1_com(Col_Add+col);
C51 COMPILER V8.08   LCM12864DRIVER                                                        06/28/2008 15:24:33 PAGE 4   

 179   2              for(i=0;i<8;i++) 
 180   2              {
 181   3                  write1_data(hzk[8*j+i]);
 182   3              }
 183   2          }
 184   1      }
 185          
 186          /**************************初始化LCD屏******************************************************/
 187          void Init_lcd(void)
 188          {
 189   1          LCM_RST=0;
 190   1          Delay12864(100);
 191   1          LCM_RST=1;
 192   1          Delay12864(100);
 193   1          write_com(Disp_Off);
 194   1          write_com(Page_Add+0);
 195   1          write_com(Start_Line+0);
 196   1          write_com(Col_Add+0);
 197   1          write_com(Disp_On);
 198   1          
 199   1          write1_com(Disp_Off);
 200   1          write1_com(Page_Add+0);
 201   1          write1_com(Start_Line+0);
 202   1          write1_com(Col_Add+0);
 203   1          write1_com(Disp_On);
 204   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    530    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      14
   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 + -