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

📄 display.lst

📁 好东西与大家分享……关于单片机驱动微型打印机和液晶屏的程序!!已经测试过!绝对没有问题
💻 LST
字号:
C51 COMPILER V7.50   DISPLAY                                                               12/03/2005 12:09:14 PAGE 1   


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

line level    source

   1          #include <head.h> // SFR declarations
   2          void delay(unsigned int num)
   3          {
   4   1              while(num--)
   5   1              {
   6   2                      ;
   7   2              }
   8   1      
   9   1      }
  10          void lw(unsigned char x,unsigned char y,unsigned char dd)
  11          {
  12   1              if (x<61)
  13   1                      {       e1=e2=1;
  14   2                              di=rw=0;P1=0xb8|y;e1=1;delay(VA);e1=0;delay(VA);
  15   2                              e1=e2=1;
  16   2                              di=rw=0;P1=0x00|x;e1=1;delay(VA);e1=0;delay(VA);
  17   2                              e1=e2=1;
  18   2                              di=1;rw=0;P1=dd;e1=1;delay(VA);e1=0;delay(VA);
  19   2                              e1=e2=1;
  20   2                      }
  21   1               else
  22   1                      {
  23   2                              x=x-61;e1=e2=1;
  24   2                              di=rw=0;P1=0xb8|y;e2=1;delay(VA);e2=0;delay(VA);
  25   2                              e1=e2=1;
  26   2                              di=rw=0;P1=0x00|x;e2=1;delay(VA);e2=0;delay(VA);
  27   2                              e1=e2=1;
  28   2                              di=1;rw=0;P1=dd;e2=1;delay(VA);e2=0;delay(VA);
  29   2                              e1=e2=1;
  30   2                      }
  31   1              P1=0xff;
  32   1      }
  33          void clear_screen(unsigned char Row)
  34          {
  35   1              unsigned char x,y;
  36   1              for (y=0;y<Row;y++)
  37   1              {
  38   2                      for (x=0;x<122;x++)
  39   2                             lw(x,y,0x00);
  40   2              }
  41   1      }
  42          void ClearModTime(void)
  43          {
  44   1              unsigned char x;
  45   1              for (x=0x36;x<122;x++)
  46   1                      lw(x,2,0x00);
  47   1      }
  48          void write_chinese(UCHAR x,UCHAR y,UCHAR width,UCHAR code*array)
  49          {
  50   1              unsigned char j,dd;
  51   1          switch(width)
  52   1              {
  53   2                      case 0x02:
  54   2                              for(j=0;j<width*2;j++)
  55   2                              {
C51 COMPILER V7.50   DISPLAY                                                               12/03/2005 12:09:14 PAGE 2   

  56   3                                      dd=array[j];
  57   3                                      lw(x+j,y,dd);
  58   3                              }
  59   2                              break;
  60   2                      case 0x04:
  61   2                              for(j=0;j<width*2;j++)
  62   2                              {
  63   3                                      dd=array[j];
  64   3                                      if(j<width) lw(x+j,y,dd);
  65   3                                      else     lw(x+j-width,y+1,dd);
  66   3                              }
  67   2                              break;
  68   2                      case 0x08:
  69   2                              for(j=0;j<width*2;j++)
  70   2                              {
  71   3                                      dd=array[j];
  72   3                                      if(j<width) lw(x+j,y,dd);
  73   3                                      else     lw(x+j-width,y+1,dd);
  74   3                              }
  75   2                              break;
  76   2                      case 0x0e:
  77   2                              for(j=0;j<width*2;j++)
  78   2                              {
  79   3                                      dd=array[j];
  80   3                                      if(j<width) lw(x+j,y,dd);
  81   3                                      else     lw(x+j-width,y+1,dd);
  82   3                              }
  83   2                              break;
  84   2                      default:
  85   2                              for(j=0;j<0x20;j++)
  86   2                              {
  87   3                                      dd=array[j];
  88   3                                      if(j<0x10) lw(x+j,y,dd);
  89   3                                      else     lw(x+j-0x10,y+1,dd);
  90   3                              }
  91   2                              break;
  92   2              }
  93   1      }
  94          unsigned char code *number(unsigned char t)
  95          {
  96   1              unsigned char code*string;
  97   1              switch(t)
  98   1              {
  99   2                      case 0: string=num0;break;
 100   2                      case 1: string=num1;break;
 101   2                      case 2: string=num2;break;
 102   2                      case 3: string=num3;break;
 103   2                      case 4: string=num4;break;
 104   2                      case 5: string=num5;break;
 105   2                      case 6: string=num6;break;
 106   2                      case 7: string=num7;break;
 107   2                      case 8: string=num8;break;
 108   2                      case 9: string=num9;break;
 109   2                      default: string=num0;break;
 110   2              }
 111   1              return(string);
 112   1      }
 113          unsigned char code*SNumber(unsigned char t)
 114          {
 115   1              unsigned char *string;
 116   1              switch(t)
 117   1              {
C51 COMPILER V7.50   DISPLAY                                                               12/03/2005 12:09:14 PAGE 3   

 118   2                      case 0: string=snum0;break;
 119   2                      case 1: string=snum1;break;
 120   2                      case 2: string=snum2;break;
 121   2                      case 3: string=snum3;break;
 122   2                      case 4: string=snum4;break;
 123   2                      case 5: string=snum5;break;
 124   2                      case 6: string=snum6;break;
 125   2                      case 7: string=snum7;break;
 126   2                      case 8: string=snum8;break;
 127   2                      case 9: string=snum9;break;
 128   2                      default: string=snum0;break;
 129   2              }
 130   1              return(string);
 131   1      }
 132          void send_command(unsigned char cmd)
 133          {
 134   1              e1=e2=1;
 135   1              delay(VA);
 136   1              e1=e2=0;
 137   1              di=rw=0;
 138   1              P1=cmd;
 139   1              e1=e2=1;
 140   1              delay(VA);
 141   1              e1=e2=0;
 142   1              delay(VA);
 143   1              P1=0xff;
 144   1              e1=e2=1;
 145   1      }
 146          unsigned char read(void)
 147          {
 148   1              unsigned char status;
 149   1              e1=e2=1;
 150   1              delay(VA);
 151   1              e1=e2=0;
 152   1              di=0;rw=1;
 153   1              delay(VA);
 154   1              e1=e2=1;
 155   1              delay(VA);
 156   1              e1=e2=0;
 157   1              status=P1;
 158   1              delay(VA);
 159   1              e1=e2=1;
 160   1              return(status);
 161   1      }
 162          void lcd_init(void)
 163          {
 164   1              UCHAR   x;
 165   1              rst = 1;
 166   1              delay(VA);
 167   1              rst = 0;
 168   1              delay(VA);
 169   1              x=read();
 170   1              rst = 1;
 171   1              x=read();
 172   1      //      delay(50000);
 173   1      
 174   1              send_command(0xae);
 175   1              send_command(0xc0);
 176   1              send_command(0xa4);
 177   1              send_command(0x00);
 178   1              send_command(0xbb);
 179   1              send_command(0xa9);
C51 COMPILER V7.50   DISPLAY                                                               12/03/2005 12:09:14 PAGE 4   

 180   1              send_command(0xa0);
 181   1              send_command(0xee);
 182   1              send_command(0xaf);
 183   1              delay(60000);
 184   1      }
 185          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    960    ----
   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 + -