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

📄 text1.lst

📁 proteus的一个小定时计时
💻 LST
字号:
C51 COMPILER V7.50   TEXT1                                                                 05/10/2007 17:54:59 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN D:\MYDOCU~1\333\TEXT1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D:\MYDOCU~1\333\TEXT1.C DB SB OE

line level    source

   1          #include <reg52.h>
   2          #include <stdio.h>
   3          
   4          unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,
   5          
   6                                         0x66,0x6d,0x7d,0x07,
   7          
   8                                         0x7f,0x6f,0x77,0x7c,
   9          
  10                                         0x39,0x5e,0x79,0x71,0x00};
  11          
  12          unsigned char dispbitcode[]={0xfe,0xfd,0xfb,0xf7,
  13          
  14                                       0xef,0xdf,0xbf,0x7f};
  15          
  16          unsigned char dispbuf[8]={0,0,16,0,0,16,0,0};
  17          
  18          unsigned char dispbitcnt;
  19          
  20          
  21          
  22          unsigned char second;
  23          
  24          unsigned char minite;
  25          
  26          unsigned char hour;
  27          
  28          unsigned int tcnt;
  29          
  30          unsigned char mstcnt;
  31          
  32          
  33          
  34          unsigned char i,j;
  35          
  36          
  37          
  38          void main(void)
  39          
  40          {
  41   1      
  42   1        TMOD=0x02;
  43   1      
  44   1        TH0=0x06;
  45   1      
  46   1        TL0=0x06;
  47   1      
  48   1        TR0=1;
  49   1      
  50   1        ET0=1;
  51   1      
  52   1        EA=1;
  53   1      
  54   1      
  55   1      
C51 COMPILER V7.50   TEXT1                                                                 05/10/2007 17:54:59 PAGE 2   

  56   1        while(1)
  57   1      
  58   1          {
  59   2      
  60   2            if(P0==0XFE)
  61   2      
  62   2              {
  63   3      
  64   3                for(i=5;i>0;i--)
  65   3      
  66   3                for(j=248;j>0;j--);
  67   3      
  68   3                if(P0==0XFE)
  69   3      
  70   3                  {
  71   4      
  72   4                    second++;
  73   4      
  74   4                    if(second==60)
  75   4      
  76   4                      {
  77   5      
  78   5                        second=0;
  79   5      
  80   5                      }
  81   4      
  82   4                    dispbuf[0]=second%10;
  83   4      
  84   4                    dispbuf[1]=second/10;
  85   4      
  86   4                    while(P0==0XFE);
  87   4      
  88   4                  }
  89   3      
  90   3              }
  91   2      
  92   2            if(P0==0XFD)
  93   2      
  94   2              {
  95   3      
  96   3                for(i=5;i>0;i--)
  97   3      
  98   3                for(j=248;j>0;j--);
  99   3      
 100   3                if(P0==0XFD)
 101   3      
 102   3                  {
 103   4      
 104   4                    minite++;
 105   4      
 106   4                    if(minite==60)
 107   4      
 108   4                      {
 109   5      
 110   5                        minite=0;
 111   5      
 112   5                      }
 113   4      
 114   4                    dispbuf[3]=minite%10;
 115   4      
 116   4                    dispbuf[4]=minite/10;
 117   4      
C51 COMPILER V7.50   TEXT1                                                                 05/10/2007 17:54:59 PAGE 3   

 118   4                    while(P0==0XFD);
 119   4      
 120   4                  }
 121   3      
 122   3              }
 123   2      
 124   2            if(P0==0XFB)
 125   2      
 126   2              {
 127   3      
 128   3                for(i=5;i>0;i--)
 129   3      
 130   3                for(j=248;j>0;j--);
 131   3      
 132   3                if(P0==0XFB)
 133   3      
 134   3                  {
 135   4      
 136   4                    hour++;
 137   4      
 138   4                    if(hour==24)
 139   4      
 140   4                      {
 141   5      
 142   5                        hour=0;
 143   5      
 144   5                      }
 145   4      
 146   4                    dispbuf[6]=hour%10;
 147   4      
 148   4                    dispbuf[7]=hour/10;
 149   4      
 150   4                    while(P0==0XFB);
 151   4      
 152   4                  }
 153   3      
 154   3              }
 155   2      
 156   2          }
 157   1      
 158   1      }
 159          
 160          void t0(void) interrupt 1 using 0
 161          
 162          {
 163   1      
 164   1        mstcnt++;
 165   1      
 166   1        if(mstcnt==8)
 167   1      
 168   1          {
 169   2      
 170   2            mstcnt=0;
 171   2      
 172   2            P1=dispcode[dispbuf[dispbitcnt]];
 173   2      
 174   2            P3=dispbitcode[dispbitcnt];
 175   2      
 176   2            dispbitcnt++;
 177   2      
 178   2            if(dispbitcnt==8)
 179   2      
C51 COMPILER V7.50   TEXT1                                                                 05/10/2007 17:54:59 PAGE 4   

 180   2              {
 181   3      
 182   3                dispbitcnt=0;
 183   3      
 184   3              }
 185   2      
 186   2          }
 187   1      
 188   1        tcnt++;
 189   1      
 190   1        if(tcnt==4000)
 191   1      
 192   1          {
 193   2      
 194   2            tcnt=0;
 195   2      
 196   2            second++;
 197   2      
 198   2            if(second==60)
 199   2      
 200   2              {
 201   3      
 202   3                second=0;
 203   3      
 204   3                minite++;
 205   3      
 206   3                if(minite==60)
 207   3      
 208   3                  {
 209   4      
 210   4                    minite=0;
 211   4      
 212   4                    hour++;
 213   4      
 214   4                    if(hour==24)
 215   4      
 216   4                      {
 217   5      
 218   5                        hour=0;
 219   5      
 220   5                      }
 221   4      
 222   4                  }
 223   3      
 224   3              }
 225   2      
 226   2            dispbuf[0]=second%10;
 227   2      
 228   2            dispbuf[1]=second/10;
 229   2      
 230   2            dispbuf[3]=minite%10;
 231   2      
 232   2            dispbuf[4]=minite/10;
 233   2      
 234   2            dispbuf[6]=hour%10;
 235   2      
 236   2            dispbuf[7]=hour/10;
 237   2      
 238   2          }
 239   1      
 240   1      }
C51 COMPILER V7.50   TEXT1                                                                 05/10/2007 17:54:59 PAGE 5   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


second . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
minite . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0001H  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
dispbitcode. . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0002H  8
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
mstcnt . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000AH  1
t0 . . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
tcnt . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    000BH  2
dispbitcnt . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000DH  1
hour . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000EH  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
TH0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008CH  1
dispcode . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0000H  17
TL0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008AH  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
i. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000FH  1
j. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0010H  1
dispbuf. . . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0011H  8
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    359    ----
   CONSTANT SIZE    =     17    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     25    ----
   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 + -