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

📄 txt.lst

📁 keil uvision 写24c02
💻 LST
字号:
C51 COMPILER V7.07   TXT                                                                   11/02/2007 15:52:50 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE TXT
OBJECT MODULE PLACED IN txt.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE txt.c ROM(SMALL) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /************************************************/
   2          
   3          /************************************************/
   4          #include <REG52.H>
   5          #include <stdio.h>
   6          
   7          #ifdef MONITOR51                         /* Debugging with Monitor-51 needs   */
              char code reserve [3] _at_ 0x23;         /* space for serial interrupt if     */
              #endif                                   /* Stop Exection with Serial Intr.   */
  10                                                   /* is enabled                        */
  11          const char Ledbuf[18]=/*digit convert table*//* 共阴*/
  12                  { 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,           
  13                  /* 0     1     2     3     4     5     6     7     8     9 */
  14                   0x77, 0x7C, 0x39, 0x500E, 0x79, 0x71, 0x00, 0x40 };
  15                  /* a    b     c     d     e     f           - */
  16          
  17          
  18          sbit P10=P1^0;
  19          sbit P11=P1^1;
  20          sbit P12=P1^2;
  21          sbit P13=P1^3;
  22          sbit P14=P1^4;
  23          sbit P15=P1^5;
  24          sbit sda=P1^6;
  25          sbit cclk=P1^7;
  26          sbit P33=P3^3;
  27          sbit P32=P3^2;
  28          sbit din=P3^0;
  29          sbit aclk=P3^1;
  30          unsigned int kl=0,kh=0;
  31          
  32          unsigned char ATdata;
  33          
  34          unsigned int retdate;
  35          
  36          
  37          void Delay(unsigned int DelayTime)
  38          {
  39   1              if (DelayTime == 0)return;
  40   1                      while(DelayTime != 0)
  41   1                              {DelayTime--; }
  42   1      }
  43          
  44          void display(ledtim)
  45                          char ledtim[4];
  46          { if(ledtim[3]==0x3F)
  47   1                               {      P0=ledtim[0];
  48   2                                      P2=0x01;
  49   2                                      Delay(500);
  50   2                                      P0=ledtim[1];
  51   2                                      P2=0x02;
  52   2                                      Delay(500);
  53   2                                      P0=ledtim[2];
  54   2                                      P2=0x04;
  55   2                                      Delay(500);
C51 COMPILER V7.07   TXT                                                                   11/02/2007 15:52:50 PAGE 2   

  56   2                                      P0=0x00;
  57   2                                      P2=0x08;
  58   2                                      Delay(500);
  59   2                                      }
  60   1                       else{P0=ledtim[0];
  61   2                                      P2=0x01;
  62   2                                      Delay(500);
  63   2                                      P0=ledtim[1];
  64   2                                      P2=0x02;
  65   2                                      Delay(500);
  66   2                                      P0=ledtim[2];
  67   2                                      P2=0x04;
  68   2                                      Delay(500);
  69   2                                      P0=ledtim[3];
  70   2                                      P2=0x08;
  71   2                                      Delay(500);}
  72   1      }
  73          
  74          void computer(unsigned int dt)
  75          {       char cledtim[4];
  76   1                      int dth,dtm,dtl;
  77   1                       dth=dt%10000;
  78   1                       cledtim[3]=Ledbuf[dth/1000];
  79   1                       dtm=dth%1000;
  80   1                       cledtim[2]=Ledbuf[dtm/100];
  81   1                       cledtim[2]|=0x80;
  82   1                       dtl=dtm%100;
  83   1                       cledtim[1]=Ledbuf[dtl/10];
  84   1                       cledtim[0]=Ledbuf[dtl%10];
  85   1                       display(cledtim);
  86   1      }
  87          
  88          static void ATStart(void)
  89          {
  90   1      sda=1;
  91   1      cclk=0;
  92   1      cclk=1;
  93   1      sda=0;
  94   1      cclk=0;
  95   1      }
  96          
  97          static void ATStop(void) 
  98          {
  99   1      sda=0;
 100   1      cclk=1;
 101   1      sda=1;
 102   1      }
 103          
 104          void ATsWrite(unsigned char ch) 
 105          {         
 106   1            unsigned char i;
 107   1                unsigned char temp;
 108   1            ATdata=ch;
 109   1                temp=ATdata;
 110   1            for (i=0;i<8;i++)
 111   1                              {       temp&=0x80;
 112   2                                      if(temp==0x80)
 113   2                                              {sda=1;}
 114   2                                      else {sda=0;}
 115   2                      cclk=1; 
 116   2                      cclk=0;
 117   2                                      temp=ATdata;
C51 COMPILER V7.07   TXT                                                                   11/02/2007 15:52:50 PAGE 3   

 118   2                      temp<<=1;
 119   2                                      ATdata=temp;
 120   2               }
 121   1               cclk=1;
 122   1               cclk=0;
 123   1      }
 124          
 125          unsigned char ATsRead(void) 
 126          {
 127   1              unsigned char i;
 128   1              unsigned char temp;
 129   1              ATdata=0x00;
 130   1                      temp=0x00;
 131   1                                      cclk=0;
 132   1              for (i=0;i<8;i++) 
 133   1                                      {cclk=1;
 134   2                       if(sda==1){temp|=0x01;}
 135   2                                       else {temp|=0x00;}
 136   2                      ATdata=temp;
 137   2                                  temp<<=1;
 138   2                      cclk=0;   
 139   2              }
 140   1                       sda=0;
 141   1                       cclk=1;
 142   1                       cclk=0;
 143   1                       sda=1;
 144   1      return ATdata;
 145   1      }
 146          
 147          unsigned int ATRead(unsigned char add,unsigned char cou)  
 148          {
 149   1      unsigned int ret;
 150   1      unsigned char rtim[2];
 151   1      unsigned char i;
 152   1      
 153   1      ATStart();
 154   1      ATsWrite(0xA0);       
 155   1      ATsWrite(add);
 156   1      ATStart();
 157   1      ATsWrite(0xA1);
 158   1      for(i=0;i<cou;i++){
 159   2      rtim[i]=ATsRead();}
 160   1      ATStop();
 161   1      
 162   1      ret=rtim[1];
 163   1      ret<<=8;
 164   1      ret|=rtim[0];
 165   1      return ret;
 166   1      }
 167          
 168          void ATWrite(unsigned char addr,unsigned int dat) 
 169          {
 170   1      unsigned char subaddr;
 171   1      unsigned char wdat,i;
 172   1      unsigned int ATtemp,ATtemp1;
 173   1      unsigned char tim[2];
 174   1      
 175   1               ATtemp=dat;
 176   1               ATtemp1=ATtemp;
 177   1               tim[0]=ATtemp1;
 178   1               ATtemp1&=0xff00;
 179   1               ATtemp1>>=8;
C51 COMPILER V7.07   TXT                                                                   11/02/2007 15:52:50 PAGE 4   

 180   1               tim[1]=ATtemp1;        
 181   1               subaddr=addr;
 182   1      for(i=0;i<2;i++){
 183   2      wdat=tim[i];
 184   2      ATStart();
 185   2      ATsWrite(0xA0);       //0xa1
 186   2      ATsWrite(subaddr);
 187   2      
 188   2      ATsWrite(wdat);
 189   2      ATStop();
 190   2      Delay(10000); 
 191   2      subaddr+=1;}
 192   1      
 193   1      }
 194          
 195          void DA()
 196          {       unsigned int i;
 197   1              unsigned int temp;
 198   1              unsigned int dad;
 199   1                       P33=1;
 200   1                       dad=0x0BB8;
 201   1                       temp=dad;
 202   1                       for(i=0;i<16;i++)
 203   1                       {P33=0;
 204   2                        aclk=0;
 205   2                        temp=temp&0x8000;
 206   2                        if (temp==0x8000)
 207   2                              {din=1;}
 208   2                          else{din=0;}
 209   2                              temp=dad;
 210   2              temp=temp<<1;
 211   2                      aclk=1;
 212   2                      dad=temp;
 213   2                              }
 214   1                        Delay(500);
 215   1      }       
 216          
 217          void main()
 218                  {unsigned char ad;
 219   1                       unsigned int da;
 220   1                              P1=0x00;
 221   1                              ad=0x00;
 222   1                              da=0x2592;
 223   1                      ATWrite(ad,da);
 224   1                      retdate=ATRead(ad,0x02);
 225   1      
 226   1                      DA();
 227   1                      for(;;)
 228   1                      {
 229   2                      
 230   2                      
 231   2                      computer(retdate);
 232   2                      }
 233   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    485    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     25       8
C51 COMPILER V7.07   TXT                                                                   11/02/2007 15:52:50 PAGE 5   

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