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

📄 lcd.lst

📁 STC12C5410AD-是一款功能非常强大的且-兼容C51的单片机。本程序代码采用STC12C5410AD单片机驱动ICL7135双积分的高性能AD芯片。程序经几天调试通过。完全可用。
💻 LST
字号:
C51 COMPILER V8.02   LCD                                                                   04/05/2009 22:51:12 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN LCD.OBJ
COMPILER INVOKED BY: E:\应用软件\Keil\C51\BIN\C51.EXE LCD.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include"lcd.h"
   2          
   3          unsigned char bdata CS = 0;
   4          unsigned char LCDX=0;
   5          unsigned char LCDY=0;
   6          
   7          void BUSY_WAIT(void)
   8          {
   9   1              while(Read_Condition & 0x80 != 0);
  10   1      }
  11          
  12          
  13          void LCD_ON(void)
  14          {
  15   1              BUSY_WAIT();
  16   1              Write_comond = ON;
  17   1      }
  18          
  19          
  20          void LCD_OFF(void)
  21          {
  22   1              BUSY_WAIT();
  23   1              Write_comond = OFF;
  24   1      }
  25          
  26          
  27          void LCD_START_LINE(unsigned char line)
  28          {
  29   1              BUSY_WAIT();
  30   1              Write_comond = line | START_LINE;
  31   1      }
  32          
  33          
  34          void LCD_PAGE(unsigned char page)
  35          {
  36   1              BUSY_WAIT();
  37   1              Write_comond = (page & 0x07) | PAGE_ADD;
  38   1      }
  39          
  40          
  41          void LCD_X(unsigned char x)                     //设置列地址(0~63)
  42          {
  43   1              BUSY_WAIT();
  44   1              Write_comond = (x & 0x3F) | COL_ADD;
  45   1      }
  46          
  47          
  48          void LCD_WRITE_DATA(unsigned char dat)
  49          {
  50   1              BUSY_WAIT();
  51   1              Write_data = dat;
  52   1      }
  53          
  54          
  55          void CLEAR(void)
C51 COMPILER V8.02   LCD                                                                   04/05/2009 22:51:12 PAGE 2   

  56          {
  57   1              unsigned char i,j;
  58   1              for ( j=0; j<8; j++ )
  59   1              {
  60   2                      LCD_PAGE(j);
  61   2                      LCD_X(0);       
  62   2                      for ( i=0; i<64; i++ )
  63   2                      {
  64   3                              LCD_WRITE_DATA(0x00);
  65   3                      }
  66   2              }
  67   1      }
  68          
  69          
  70          void LCD_CLEAR(void)
  71          {
  72   1              CSA_ON();       
  73   1              CLEAR();
  74   1              CSA_OFF();
  75   1              CSB_ON();
  76   1              CLEAR();
  77   1              CSB_OFF();
  78   1      }
  79          
  80          
  81          void LcdInit(void)
  82          {
  83   1              CSA_ON();                               //设置左右半屏起始行
  84   1              LCD_START_LINE(0);
  85   1              CSA_OFF();
  86   1              CSB_ON();
  87   1              LCD_START_LINE(0);
  88   1              CSB_OFF();
  89   1      
  90   1              LCD_CLEAR();
  91   1      
  92   1              CSA_ON();
  93   1              LCD_ON();
  94   1              CSA_OFF();
  95   1              CSB_ON();
  96   1              LCD_ON();
  97   1              CSB_OFF();
  98   1      }
  99          
 100          
 101          void WRITE_HZ_16X16(unsigned char *hz,unsigned char x,unsigned char y)
 102          {
 103   1              unsigned char i,j;
 104   1              if(x<64)
 105   1              {
 106   2                      CSA_ON();
 107   2                      for(i=0;i<2;i++)
 108   2                      {
 109   3                              LCD_PAGE(y+i);
 110   3                              LCD_X(x);
 111   3                              for(j=0;j<16;j++)
 112   3                              {
 113   4                                      LCD_WRITE_DATA(*hz++);
 114   4                              }
 115   3                      }
 116   2                      CSA_OFF();
 117   2              }       
C51 COMPILER V8.02   LCD                                                                   04/05/2009 22:51:12 PAGE 3   

 118   1              else
 119   1              {
 120   2                      CSB_ON();
 121   2                      for(i=0;i<2;i++)
 122   2                      {
 123   3                              LCD_PAGE(y+i);
 124   3                              LCD_X(x-64);
 125   3                              for(j=0;j<16;j++)
 126   3                              {
 127   4                                      LCD_WRITE_DATA(*hz++);
 128   4                              }
 129   3                      }
 130   2                      CSB_OFF();
 131   2              }       
 132   1      }
 133          
 134          void WRITE_ASCII(unsigned Page, unsigned char x, unsigned char *ASCII)
 135          {
 136   1              unsigned char i,j;
 137   1      
 138   1              
 139   1              if(x<64)
 140   1              {
 141   2                      CSA_ON();
 142   2                      for(i=0;i<2;i++)
 143   2                      {
 144   3                              LCD_PAGE(Page+i);
 145   3                              LCD_X(x);
 146   3                              
 147   3                              for(j=0;j<8;j++)
 148   3                              {
 149   4                                      LCD_WRITE_DATA(*ASCII++);
 150   4                              }
 151   3                      }
 152   2                      CSA_OFF();      
 153   2              }       
 154   1              else
 155   1              {
 156   2                      CSB_ON();
 157   2                      for(i=0;i<2;i++)
 158   2                      {
 159   3                              LCD_PAGE(Page+i);
 160   3                              LCD_X(x-64);
 161   3                              
 162   3                              for(j=0;j<8;j++)
 163   3                              {
 164   4                                      LCD_WRITE_DATA(*ASCII++);
 165   4                              }
 166   3                      
 167   3                      }
 168   2                      CSB_OFF();      
 169   2              }
 170   1      } 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    490    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3      11
   IDATA SIZE       =   ----    ----
C51 COMPILER V8.02   LCD                                                                   04/05/2009 22:51:12 PAGE 4   

   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 + -