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

📄 51xx.lst

📁 Keil中文版
💻 LST
字号:
C51 COMPILER V3.20,  SN-0  51XX                                                            10/28/02  12:10:54  PAGE 1   


DOS C51 COMPILER V3.20, COMPILATION OF MODULE 51XX
OBJECT MODULE PLACED IN 51XX.O
COMPILER INVOKED BY: C:\OMF51\BIN\C51.EXE C:\KEIL\TEST\51XX.CQD DB OE RB(0) OT(5) SM PR(51XX.LST) OJ(51XX.O) 

stmt level    source

   1          #include <ldy.h>
   2          #define rs p34
   3          #define r_w p35
   4          #define e p33
   5          #define T 0x54
   6          #define E 0x45
   7          #define S 0x53
   8          #define equal 0x3d
   9          #define Y 0x59
  10          #define J 0x4a
  11          #define I 0x49
  12          #define N 0x4e
  13          #define G 0x47
  14          #define O 0x4f
  15          #define K 0x4b
  16          #define D 0x44
  17          #define V 0x56
  18          #define L 0x4c
  19          #define M 0x4d
  20          #define R 0x52
  21          #define zero 0x30
  22          #define two 0x32
  23          #define three 0x33
  24          #define four 0x34
  25          #define nine 0x39
  26          #define P 0x50
  27          #define A 0x41
  28          #define B 0x42
  29          #define D 0x44
  30          #define space 0x20
  31          
  32          #define uchar unsigned char
  33          #define uint unsigned int 
  34          #define ulong unsigned long
  35          
  36          uchar  number[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
  37          uchar  led[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90,0x88,0x8c};
  38          void delay(unsigned long v)
  39           {
  40   1        while(v!=0)v--;
  41   1       }
  42          void dlms()
  43           {
  44   1       uchar i;
  45   1          for(i=200;i>0;i--){}
  46   1       }
  47          uchar bf_and_ac() //read busy and adrss counter
  48           {
  49   1        uchar x;
  50   1        r_w=0;
  51   1         rs=0;
  52   1          e=0;
  53   1              delay(100);
  54   1        r_w=1;
  55   1          e=1;
C51 COMPILER V3.20,  SN-0  51XX                                                            10/28/02  12:10:54  PAGE 2   

  56   1              delay(100);
  57   1          x=p1;
  58   1          e=0;
  59   1        r_w=0;
  60   1              return(0);
  61   1       }
  62          void w_code(uchar order)
  63           {
  64   1        uchar x;
  65   1          x=bf_and_ac();
  66   1        while((x&0x80)==0x80)
  67   1           {
  68   2            x=bf_and_ac();
  69   2           }
  70   1          r_w=0;
  71   1            e=1;
  72   1           p1=order;
  73   1            e=0;
  74   1          r_w=0;
  75   1       }
  76          void w_data(uchar su)
  77           {
  78   1         uchar x;
  79   1         x=bf_and_ac();
  80   1         while((x&0x80)==0x80)
  81   1          {
  82   2           x=bf_and_ac();
  83   2          }
  84   1         r_w=0;
  85   1          rs=1;
  86   1           e=1;
  87   1          p1=su;
  88   1           e=0;
  89   1         r_w=0;
  90   1       }
  91          uchar r_data()
  92           {
  93   1         uchar x;
  94   1          x=bf_and_ac();
  95   1          while((x&0x80)==0x80)
  96   1           {
  97   2             x=bf_and_ac();
  98   2           }
  99   1          r_w=0;
 100   1           rs=1;
 101   1            e=1;
 102   1            x=p1;
 103   1            e=0;
 104   1          r_w=0;
 105   1           return(x);
 106   1       }
 107          void w_ram(uchar adrss,uchar su,uchar length)
 108           {
 109   1          uchar i;
 110   1          w_code(adrss);
 111   1          for(i=0;i<length;i++)
 112   1          w_data(su);
 113   1       }
 114          void init()
 115           {
 116   1         w_code(0x38);
 117   1         delay(1000);
C51 COMPILER V3.20,  SN-0  51XX                                                            10/28/02  12:10:54  PAGE 3   

 118   1         w_code(0x01);
 119   1         delay(1000);
 120   1         w_code(0x06);
 121   1         delay(1000);
 122   1         w_code(0x0e);
 123   1       }
 124          void display_good(unsigned long num_good)
 125           {
 126   1         uchar y=0;
 127   1         unsigned long y1=0;
 128   1           p31=0;
 129   1         w_ram(0x85,space,0x01);
 130   1         w_ram(0x86,O,0x01);
 131   1         w_ram(0x87,K,0x01);
 132   1            y=num_good/10000;
 133   1           y1=num_good%10000;
 134   1         w_ram(0xc3,number[y],0x01);
 135   1            y=y1/1000;
 136   1           y1=y1%1000;
 137   1         w_ram(0xc4,number[y],0x01);
 138   1            y=y1/100;
 139   1           y1=y1%100;
 140   1         w_ram(0xc5,number[y],0x01);
 141   1            y=y1/10;
 142   1         w_ram(0xc6,number[y],0x01);
 143   1            y=y1%10;
 144   1         w_ram(0xc7,number[y],0x01);
 145   1       }
 146          void display_bad(unsigned int num_bad)
 147           {
 148   1         uchar y=0;
 149   1         unsigned long y1=0;
 150   1             p31=1;
 151   1         w_ram(0x85,B,0x01);
 152   1         w_ram(0x86,A,0x01);
 153   1         w_ram(0x87,D,0x01);
 154   1               y=num_bad/100;
 155   1              y1=num_bad%100;
 156   1         w_ram(0xcd,number[y],0x01);
 157   1               y=y1/10;
 158   1         w_ram(0xce,number[y],0x01);
 159   1               y=y1%10;
 160   1         w_ram(0xcf,number[y],0x01);
 161   1       }
 162          uchar kbscan()
 163           {
 164   1          uchar lie4=0;
 165   1          uchar hang2=0;
 166   1                   p3=0xf0;
 167   1          if((p3&0xf0)!=0xf0)
 168   1            {
 169   2              dlms();
 170   2              if((p3&0xf0)!=0xf0)
 171   2               {
 172   3                 lie4=~(p3|0x0f);
 173   3                   p3=0xfe;
 174   3                            if((p3&0xf0)!=0xf0)hang2=0x01;
 175   3                   p3=0xfd;
 176   3                            if((p3&0xf0)!=0xf0)hang2=0x02;
 177   3                   p3=0xfb;
 178   3                            if((p3&0xf0)!=0xf0)hang2=0x04;
 179   3                   p3=0xf7;
C51 COMPILER V3.20,  SN-0  51XX                                                            10/28/02  12:10:54  PAGE 4   

 180   3                            if((p3&0xf0)!=0xf0)hang2=0x08;
 181   3                            if(hang2!=0)return(lie4+hang2);
 182   3              else return(0);
 183   3                }
 184   2             }
 185   1           else return(0);
 186   1       } 
 187          void main()
 188           {
 189   1          uchar l0,l1,l2;
 190   1          bit flag;
 191   1          uint led_number=0;
 192   1          uchar lcd_value=0;
 193   1          uint number_replace=0;
 194   1          unsigned long good=0;
 195   1          unsigned int error=0;
 196   1          init();
 197   1         while(1)
 198   1           {
 199   2             l1=kbscan();
 200   2             if(l1==0x21){led_number=1;lcd_value=1;p3=p2=p1=led[0];p0=led[1];delay(10000);}
 201   2             else if(l1==0x41){led_number=2;lcd_value=2;p3=p2=p1=led[0];p0=led[2];delay(10000);}
 202   2             else if(l1==0x81){led_number=3;lcd_value=3;p3=p2=p1=led[0];p0=led[3];delay(10000);}
 203   2             else if(l1==0x22){led_number=4;lcd_value=4;p3=p2=p1=led[0];p0=led[4];delay(10000);}
 204   2             else if(l1==0x42){led_number=5;lcd_value=5;p3=p2=p1=led[0];p0=led[5];delay(10000);}
 205   2             else if(l1==0x82){led_number=6;lcd_value=6;p3=p2=p1=led[0];p0=led[6];delay(10000);}
 206   2             else if(l1==0x24){led_number=7;lcd_value=7;p3=p2=p1=led[0];p0=led[7];delay(10000);}
 207   2             else if(l1==0x44){led_number=8;lcd_value=8;p3=p2=p1=led[0];p0=led[8];delay(10000);}
 208   2             else if(l1==0x84){led_number=9;lcd_value=9;p3=p2=p1=led[0];p0=led[9];delay(10000);}
 209   2             else if(l1==0x28){led_number=0x0a;lcd_value=0x2a;p3=p2=p1=led[0];p0=led[10];delay(10000);}
 210   2             else if(l1==0x48){led_number=0;lcd_value=0;p3=p2=p1=led[0];p0=led[0];delay(10000);}
 211   2             else if(l1==0x88){led_number=0x0b;lcd_value=0x23;p3=p2=p1=led[0];p0=led[11];delay(10000);}
 212   2             else dlms();
 213   2                         l0=led_number/1000;
 214   2                           number_replace=led_number%1000;
 215   2             p3=led[l0];
 216   2                         l0=number_replace/100;
 217   2                           number_replace=number_replace%100;
 218   2             p2=led[l0];
 219   2                         l0=number_replace/10;
 220   2             p1=led[l0];
 221   2                         l0=number_replace%10;
 222   2             p0=led[l0];
 223   2                         if(led_number>9999)led_number=0;
 224   2                         else led_number=led_number+1;
 225   2                  delay(3000);
 226   2      }
 227   1      
 228   1      
 229   1      
 230   1      
 231   1      
 232   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1553    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     22      35
   IDATA SIZE       =   ----    ----
C51 COMPILER V3.20,  SN-0  51XX                                                            10/28/02  12:10:54  PAGE 5   

   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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