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

📄 time.lst

📁 电子时钟
💻 LST
字号:
C51 COMPILER V7.02a   TIME                                                                 09/30/2004 14:28:54 PAGE 1   


C51 COMPILER V7.02a, COMPILATION OF MODULE TIME
OBJECT MODULE PLACED IN time.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE time.c OMF2 BROWSE VARBANKING(1) DEBUG

stmt level    source

   1                                          /***********************time**********************/
   2                                          
   3                                          #include        "ADUC812.h"
   4                                          #include        "stdio.h"
   5                                          #include        "absacc.h"
   6                                          #include        "plcd_bus.c"
   7                                          #include        "i2c.c"
   8                                          
   9                                          unsigned char buffer[8],p;
  10                                          
  11                                          void delayms(int n)
  12                                          {
  13   1                                              int i,j;
  14   1                                              for(i=0;i<n;i++)
  15   1                                              {
  16   2                                                      for(j=0;j<50;j++);
  17   2                                              }
  18   1                                      }
  19                                          
  20                                  
  21                                          
  22                                          
  23                                          
  24                                          void readtime(void)
  25                                          {                                               
  26   1                                              unsigned char i;
  27   1                                              
  28   1                                              I2C_start();
  29   1                                              I2C_Send_byte(0x65);
  30   1                                              if(I2C_Cack()==1)
  31   1                                              {
  32   2                                                      I2C_stop();
  33   2                                              }
  34   1                                                      
  35   1                                              for(i=0;i<8;i++)
  36   1                                              {
  37   2                                                      buffer[i]=I2C_Receive_byte();
  38   2                                                      if(i!=8)
  39   2                                                      { 
  40   3                                                              I2C_ack();
  41   3                                                      }
  42   2                                                      else
  43   2                                                      {
  44   3                                                              I2C_nack();
  45   3                                                      }
  46   2                                              }
  47   1                                              
  48   1                                              I2C_stop();
  49   1                                      }       
  50                                          
  51                                          
  52                                          void load (void)
  53                                          {
  54   1                                              unsigned char i;
  55   1                                              
C51 COMPILER V7.02a   TIME                                                                 09/30/2004 14:28:54 PAGE 2   

  56   1                                              I2C_start();
  57   1                                              I2C_Send_byte(0x64);
  58   1                                              if(I2C_Cack()==1)
  59   1                                              {
  60   2                                                      I2C_stop();
  61   2                                              }
  62   1                                              I2C_Send_byte(0xe0);
  63   1                                              if(I2C_Cack()==1)
  64   1                                              {
  65   2                                                      I2C_stop();
  66   2                                              }
  67   1                                              I2C_Send_byte(0x00);
  68   1                                              if(I2C_Cack()==1)
  69   1                                              {
  70   2                                                      I2C_stop();
  71   2                                              }
  72   1                                              I2C_Send_byte(0x30);
  73   1                                              if(I2C_Cack()==1)
  74   1                                              {
  75   2                                                      I2C_stop();
  76   2                                              }
  77   1                                                                                                                                      
  78   1                                              for(i=1;i<8;i++)
  79   1                                              {
  80   2                                                      I2C_Send_byte(buffer[i]);
  81   2                                                      if(I2C_Cack()==1)
  82   2                                                      {
  83   3                                                              I2C_stop();
  84   3                                                      }
  85   2                                              }
  86   1                                              
  87   1                                              I2C_stop();
  88   1                                              
  89   1                                      }
  90          
  91                                          
  92                                          
  93                                          
  94                                                                  
  95                                          void time0(void) interrupt 1
  96                                          {
  97   1                                              TH0  = 100;
  98   1                                              TL0  = 0;
  99   1                                              p++;
 100   1                                              
 101   1                                              readtime();
 102   1                                              if(buffer[7] != 0xff)
 103   1                                              {
 104   2                                                      display_data(2,0,buffer[7]);    //year//
 105   2                                                      display_data(7,0,buffer[6]);    //month//
 106   2                                                      display_data(12,0,buffer[5]);   //day//
 107   2                                                      display_data(14,2,buffer[4]);   //week//
 108   2                                                      display_data(4,4,buffer[3]);    //hour//
 109   2                                                      display_data(7,4,buffer[2]);    //min//
 110   2                                                      display_data(10,4,buffer[1]);   //sec//
 111   2                                              }
 112   1                                              
 113   1                                              
 114   1                                      }
 115                                          
 116                                                  
 117                                          void main(void)
C51 COMPILER V7.02a   TIME                                                                 09/30/2004 14:28:54 PAGE 3   

 118                                          {
 119   1                                              char    far dumy;
 120   1                                      
 121   1                                              //unsigned char year,month,day,week,hour,min,sec;
 122   1                                              
 123   1                                              SCON = 0x52;
 124   1                                                      TMOD=0x21;      
 125   1                                                      TH1=0xfd;
 126   1                                                      TL1=0xfd;                                       //** 9600 baud **//
 127   1                                                      TR1=1;                                          //** start timer 1 **//
 128   1                                                      TI=1;
 129   1                                                      EA=1;   
 130   1                                              
 131   1                                              TMOD = 0x21;
 132   1                                              TH0  = 100;
 133   1                                              TL0  = 0;
 134   1                                              ET0  = 1;
 135   1                                              EA   = 1;
 136   1                                              
 137   1                                                                                      
 138   1                                              left_command(lcd_off);
 139   1                                              right_command(lcd_off);
 140   1                                                      
 141   1                                              lcd_left_clear();
 142   1                                              lcd_right_clear();
 143   1                                                      
 144   1                                              left_command(lcd_on);
 145   1                                              right_command(lcd_on);
 146   1                                              
 147   1                                              display_ascii(0,0,"20   Y    M    D");
 148   1                                              display_ascii(9,2,"Week  1");
 149   1                                              display_ascii(4,4,"  :  :  ");
 150   1                                              
 151   1                                              
 152   1                                              TR0 = 1;
 153   1                                      
 154   1                                              while(1)
 155   1                                              {
 156   2                                                      if( RI == 1 )
 157   2                                                      {
 158   3                                                              TR0 = 0;
 159   3                                                              
 160   3                                                              
 161   3                                                                      buffer[7]=0x03;         //year
 162   3                                                                      buffer[6]=0x11; //mon
 163   3                                                                      buffer[5]=0x28; //day
 164   3                                                                      buffer[4]=0x05; //week
 165   3                                                                      buffer[3]=0x17; //hour
 166   3                                                                      buffer[2]=0x08; //min
 167   3                                                                      buffer[1]=0x00; //sec
 168   3                                                                      load();
 169   3                                                              
 170   3                                                      }
 171   2                                                      TR0 = 1;
 172   2                                              }
 173   1                                      }
*** WARNING C280 IN LINE 119 OF TIME.C: 'dumy': unreferenced local variable
 174                                          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1702    ----
C51 COMPILER V7.02a   TIME                                                                 09/30/2004 14:28:54 PAGE 4   

   CONSTANT SIZE    =   1570    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      9      22
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       2
   EDATA SIZE       =   ----    ----
   HDATA SIZE       =      1    ----
   XDATA CONST SIZE =   ----    ----
   FAR CONST SIZE   =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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