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

📄 main.lst

📁 SMC162S实现时钟
💻 LST
字号:
C51 COMPILER V7.20   MAIN                                                                  07/31/2008 15:19:38 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          #include "../SMC162/SMC162.h"
   3          
   4          
   5          
   6          typedef struct data1
   7          {
   8          unsigned char dath;
   9          unsigned char datl;
  10          }DATA2;
  11          unsigned char data mscond,second,minute,hour;
  12          
  13          bit flag;
  14          //DATA2 char tmp;
  15          DATA2 data tmp;
  16          unsigned char *clocksr="  00-00-00  ";
  17          void Init();
  18          void Hex(unsigned char hex);
  19          unsigned char Hexa(unsigned char hex);
  20          void time();
  21          void main()
  22          {
  23   1      
  24   1      
  25   1      Init();
  26   1      time();
  27   1      LcdInit();
  28   1      PutStr(0,0,"CLOCK test");
  29   1      PutStr(0,1,clocksr);
  30   1      
  31   1      
  32   1      //while(1);
  33   1      //TR2=1;
  34   1      //EA=1;
  35   1      TR1=1;
  36   1      
  37   1      while(1)
  38   1      {
  39   2      if(flag==1)
  40   2      {
  41   3      second+=1;
  42   3      if(second!=60)
  43   3      {
  44   4      goto display_second;
  45   4      }
  46   3      else
  47   3      {
  48   4      second=0;
  49   4      minute++;
  50   4      if(minute!=60)
  51   4      {
  52   5      goto display_minute;
  53   5      }
  54   4      else
  55   4      {
C51 COMPILER V7.20   MAIN                                                                  07/31/2008 15:19:38 PAGE 2   

  56   5      minute=0;
  57   5      hour++;
  58   5      if(hour==24)
  59   5      hour=0;
  60   5      }
  61   4      }
  62   3      Hex(hour);
  63   3      clocksr[3]= Hexa(tmp.dath);
  64   3      clocksr[4]= Hexa(tmp.datl);
  65   3      
  66   3      display_minute:
  67   3      Hex(minute);
  68   3      clocksr[6]= Hexa(tmp.dath);
  69   3      clocksr[7]= Hexa(tmp.dath);
  70   3      
  71   3      display_second:
  72   3      Hex(second);
  73   3      clocksr[9]= Hexa(tmp.dath);
  74   3      clocksr[10]= Hexa(tmp.dath);
  75   3      
  76   3      PutStr(0,1,clocksr);
  77   3      flag=0;
  78   3      }
  79   2      }
  80   1      }
  81          
  82          void Init()
  83          {
  84   1      mscond=0;
  85   1      second=0;
  86   1      minute=0;
  87   1      hour=0;
  88   1      flag=0;
  89   1      }
  90          
  91          void Hex(unsigned char hex)
  92          {
  93   1      tmp.dath=hex/10;
  94   1      tmp.datl=hex%10;
  95   1      }
  96          
  97          unsigned char Hexa(unsigned char hex)
  98          {
  99   1      if(hex>9)
 100   1      return' ';
 101   1      else
 102   1      return hex;
 103   1      //return(hex+' ');
 104   1      }
 105          
 106          void time()
 107          {
 108   1      TMOD=0X90;
 109   1      
 110   1      //TH2=0X3C;
 111   1      //TL2=0XB0;
 112   1      TH1=0Xef;
 113   1      TL1=0Xff;
 114   1      //RCAP2H=0x3c;
 115   1      //RCAP2L=0XB0;
 116   1      //ET2=1;
 117   1      EA=1;
C51 COMPILER V7.20   MAIN                                                                  07/31/2008 15:19:38 PAGE 3   

 118   1      ET1=1;
 119   1      }
 120          
 121          void TIMER1ISP() interrupt 3 using 2
 122          {
 123   1      TH1=0Xef;
 124   1      TL1=0Xff;
 125   1      TF1=0;
 126   1      //TF2=0;
 127   1      //mscond++;
 128   1      if(mscond==100)
 129   1      {
 130   2      mscond=0;
 131   2      flag=1;
 132   2      }
 133   1      else
 134   1      mscond++;
 135   1      if(mscond<1)
 136   1      P1=0X00;
 137   1      else
 138   1      P1=0X01;
 139   1      }
 140          
 141          
 142          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    292    ----
   CONSTANT SIZE    =     24    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      9    ----
   IDATA SIZE       =   ----    ----
   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 + -