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

📄 lcd_data.lst

📁 液晶屏显示程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   LCD_DATA                                                              02/05/2005 09:08:16 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE LCD_DATA
OBJECT MODULE PLACED IN lcd_data.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcd_data.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include        <reg52.h>
   2          #include        <ctype.h>
   3          #include        <stdlib.h>
   4          #include        <stdio.h>
   5          #include        <math.h>
   6          #include    <intrins.h>
   7          #include    "define.h"
   8          //#include    "val.h"
   9          //#include    "function.h"
  10          #define         START_LINE      0xc0
  11          #define         DIS_ON          0x3f
  12          #define         DIS_OFF         0x3e
  13          #define         X_ADDRESS       0xb8
  14          #define         Y_ADDRESS       0x40
  15          extern unsigned char dms100;
  16          bit flash_bit;
  17          
  18          void write_com(unsigned char byte)
  19          {
  20   1      //   E=0;
  21   1       //   W_R=0;
  22   1          DI=0;
  23   1          P0=byte;
  24   1          _nop_();
  25   1          _nop_();
  26   1          _nop_();
  27   1          E=1;
  28   1          _nop_();
  29   1          _nop_();
  30   1          _nop_();
  31   1          E=0;
  32   1      }
  33          
  34          void write_data(unsigned char byte)
  35          {
  36   1      //    E=0;
  37   1          DI=1;
  38   1      //    W_R=0;
  39   1          P0=byte;
  40   1      //    _nop_();   // 11 月 17 日修改
  41   1          E=1;
  42   1      //    _nop_();
  43   1          E=0;   
  44   1      }
  45          
  46          /*void close_display(void)
  47          {
  48              CS1=1;
  49              CS2=1;
  50              W_R=0;
  51              DI=0;
  52              write_com(DIS_OFF);
  53          }*/
  54          
  55          
C51 COMPILER V7.06   LCD_DATA                                                              02/05/2005 09:08:16 PAGE 2   

  56          void open_display(void)
  57          {
  58   1          CS1=1;
  59   1          CS2=1;
  60   1          W_R=0;
  61   1          DI=0;
  62   1          write_com(START_LINE);
  63   1          write_com(DIS_ON);
  64   1      }
  65          //-------------------------------------------------
  66          //    display word right left
  67          //-------------------------------------------------
  68          
  69          void display_l_word(unsigned char x,unsigned char y,unsigned char code *Rom_address)
  70          {
  71   1          unsigned char i;
  72   1          unsigned char code *p;
  73   1          CS1=1;
  74   1          CS2=0;
  75   1          E=0;
  76   1          W_R=0;
  77   1          DI=0;
  78   1          write_com(x|X_ADDRESS);
  79   1          write_com(y|Y_ADDRESS);
  80   1          p=Rom_address;
  81   1          i=16;
  82   1          DI=1;
  83   1          while(i--)    write_data(*p++);
  84   1          DI=0;
  85   1          write_com((x+1)|X_ADDRESS);
  86   1          write_com(y|Y_ADDRESS);
  87   1          i=16;
  88   1          DI=1;
  89   1          while(i--)    write_data(*p++);
  90   1      }
  91          
  92          void display_r_word(unsigned char x,unsigned char y,unsigned char code *Rom_address)
  93          {
  94   1          unsigned char i;
  95   1          unsigned char code *p;
  96   1          CS1=0;
  97   1          CS2=1;
  98   1          E=0;
  99   1          W_R=0;
 100   1          DI=0;
 101   1          write_com(x|X_ADDRESS);
 102   1          write_com(y|Y_ADDRESS);
 103   1          p=Rom_address;
 104   1          i=16;
 105   1          DI=1;
 106   1          while(i--)    write_data(*p++);
 107   1          DI=0;
 108   1          write_com((x+1)|X_ADDRESS);
 109   1          write_com(y|Y_ADDRESS);
 110   1          i=16;
 111   1          DI=1;
 112   1          while(i--)    write_data(*p++);
 113   1      }
 114          
 115          //-------------------------------------------------
 116          //    display line
 117          //-------------------------------------------------
C51 COMPILER V7.06   LCD_DATA                                                              02/05/2005 09:08:16 PAGE 3   

 118          void display_line(unsigned char x,unsigned char y,unsigned char code *Rom_address)
 119          {
 120   1          unsigned char i;
 121   1          unsigned char code *p;
 122   1          E=0;
 123   1          W_R=0;
 124   1          CS1=1;
 125   1          CS2=0;
 126   1          DI=0;
 127   1          write_com(x|X_ADDRESS);
 128   1          write_com(y|Y_ADDRESS);
 129   1          p=Rom_address;
 130   1          i=64;
 131   1          DI=1;
 132   1          while(i--) write_data(*p++);        // left
 133   1      
 134   1          CS1=0;
 135   1          CS2=1;
 136   1          DI=0;
 137   1          write_com(x|X_ADDRESS);
 138   1          write_com(y|Y_ADDRESS);
 139   1          i=64;
 140   1          DI=1;
 141   1          while(i--) write_data(*p++);      // right
 142   1      
 143   1          // next page
 144   1          CS1=1;
 145   1          CS2=0;
 146   1          DI=0;
 147   1          write_com((x+1)|X_ADDRESS);
 148   1          write_com(y|Y_ADDRESS);
 149   1          i=64;
 150   1          DI=1;
 151   1          while(i--) write_data(*p++);   // left
 152   1      
 153   1          CS1=0;
 154   1          CS2=1;
 155   1          DI=0;
 156   1          write_com((x+1)|X_ADDRESS);
 157   1          write_com(y|Y_ADDRESS);
 158   1          i=64;
 159   1          DI=1;
 160   1          while(i--) write_data(*p++);
 161   1      
 162   1      }
 163          
 164          /*void display_wb_line(unsigned char x,unsigned char y,unsigned char code *Rom_address)
 165          {
 166              unsigned char i;
 167              unsigned char code *p;
 168              E=0;
 169              W_R=0;
 170              CS1=1;
 171              CS2=0;
 172              DI=0;
 173              write_com(x|X_ADDRESS);
 174              write_com(y|Y_ADDRESS);
 175              p=Rom_address;
 176              i=64;
 177              DI=1;
 178              while(i--) write_data(~(*p++));        // left
 179          
C51 COMPILER V7.06   LCD_DATA                                                              02/05/2005 09:08:16 PAGE 4   

 180              CS1=0;
 181              CS2=1;
 182              DI=0;
 183              write_com(x|X_ADDRESS);
 184              write_com(y|Y_ADDRESS);
 185              i=64;
 186              DI=1;
 187              while(i--) write_data(~(*p++));      // right
 188          
 189              // next page
 190              CS1=1;
 191              CS2=0;
 192              DI=0;
 193              write_com((x+1)|X_ADDRESS);
 194              write_com(y|Y_ADDRESS);
 195              i=64;
 196              DI=1;
 197              while(i--) write_data(~(*p++));   // left
 198          
 199              CS1=0;
 200              CS2=1;
 201              DI=0;
 202              write_com((x+1)|X_ADDRESS);
 203              write_com(y|Y_ADDRESS);
 204              i=64;
 205              DI=1;
 206              while(i--) write_data(~(*p++));
 207          
 208          }*/
 209          
 210          //-------------------------------------------------
 211          //    display byte right left
 212          //-------------------------------------------------
 213          
 214          
 215          /*void display_L_byte(unsigned char x,unsigned char y,unsigned char code *Rom_address)
 216          {
 217              unsigned char i;
 218              unsigned char code *p;
 219              CS1=1;
 220              CS2=0;
 221              E=0;
 222              W_R=0;
 223              DI=0;
 224              write_com(x|X_ADDRESS);
 225              write_com(y|Y_ADDRESS);
 226              p=Rom_address;
 227              i=8;
 228              DI=1;
 229              while(i--)    write_data(*p++);
 230              DI=0;
 231              write_com((x+1)|X_ADDRESS);

⌨️ 快捷键说明

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