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

📄 text1.lst

📁 用 keil 实现 的一个 时钟
💻 LST
字号:
C51 COMPILER V7.20   TEXT1                                                                 09/28/2008 07:28:59 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <REG51.H>
   2          #include <INTRINS.H>
   3          
   4          sbit row = P3 ^ 4;
   5          sbit col1 = P3 ^ 0;
   6          sbit col2 = P3 ^ 1;
   7          
   8          unsigned char i=0,j=0;
   9          unsigned char a[8]={0,0,19,0,0,19,0,0};
  10          unsigned char DISPTABLE[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E
             -,0x8C,0xC1,0xFF,0xBF};//加了一横杠0xbf
  11          
  12          void Delay(unsigned int count)
  13          {
  14   1              unsigned char i;                
  15   1      
  16   1              while(--count != 0)
  17   1              for(i = 0; i < 125; i++);           
  18   1      }
  19          
  20          unsigned char KeyDown(void)
  21          {
  22   1              row=0;
  23   1              if((col1==0) || (col2==0))     
  24   1              {
  25   2              Delay(80);                                              
  26   2              if((col1==0) || (col2==0))      
  27   2                      return 1;                                                               
  28   2              else
  29   2                      return 0;                                                               
  30   2              } 
  31   1              else 
  32   1              return 0;     
  33   1      }
  34          
  35          unsigned char  KeyNum(void)
  36          {
  37   1      
  38   1              unsigned char KeyTemp;
  39   1          KeyTemp=0;
  40   1      
  41   1              if(KeyDown()==1)                                                // 若键盘被按下
  42   1              {
  43   2              while(1)
  44   2                      {
  45   3                              col1=col2=1;
  46   3                              row=0;
  47   3           
  48   3                      if (col1==0) {KeyTemp=0; break;}                                        // 若列线1读回状态为低,则表明按键0被按下
  49   3                      if (col2==0) {KeyTemp=1; break;}                        // 若列线2读回状态为低,则表明按键1被按下
  50   3              }       
  51   2              
  52   2                      return KeyTemp;
  53   2          }
  54   1              else
C51 COMPILER V7.20   TEXT1                                                                 09/28/2008 07:28:59 PAGE 2   

  55   1              return 0x55;
  56   1      }
  57          
  58          void DisPlay(unsigned char seg,unsigned char dat)
  59          {
  60   1              unsigned char i;
  61   1      
  62   1              P0=DISPTABLE[dat];
  63   1              switch(seg)
  64   1              {
  65   2                      case 1: i=0x7F; break;
  66   2                      case 2: i=0xBF; break;
  67   2                      case 3: i=0xDF; break;
  68   2                      case 4: i=0xEF; break;
  69   2                      case 5: i=0xF7; break;
  70   2                      case 6: i=0xFB; break;
  71   2                      case 7: i=0xFD; break;
  72   2                      case 8: i=0xFE; break;
  73   2                      default: break;
  74   2              }
  75   1              
  76   1              P2=i;   
  77   1      }
  78          
  79          void timer1( )interrupt 3 using 1
  80          {
  81   1              /*DisPlay(8-i,a[i]);
  82   1              i++;
  83   1              if(i>7)i=0;*/
  84   1      
  85   1      /*      for(i=0;i<8;i++)
  86   1              {
  87   1                      DisPlay(8-i,a[i]);
  88   1              }*/
  89   1              
  90   1              DisPlay(8,a[0]);
  91   1              DisPlay(7,a[1]);
  92   1              DisPlay(6,a[2]);
  93   1              DisPlay(5,a[3]);
  94   1              DisPlay(4,a[4]);
  95   1              DisPlay(3,a[5]);
  96   1              DisPlay(2,a[6]);
  97   1              DisPlay(1,a[7]);
  98   1      
  99   1              if(j>90)
 100   1              {
 101   2                      a[0]++;
 102   2                      if(a[0]>9)
 103   2                      {
 104   3                              a[0]=0;
 105   3                              a[1]++;
 106   3                              if(a[1]>5)
 107   3                              {
 108   4                                      a[1]=0;
 109   4                                      a[3]++;
 110   4                                      if(a[3]>9)
 111   4                                      {
 112   5                                              a[3]=0;
 113   5                                              a[4]++;
 114   5                                              if(a[4]>5)
 115   5                                              {
 116   6                                                      a[4]=0;
C51 COMPILER V7.20   TEXT1                                                                 09/28/2008 07:28:59 PAGE 3   

 117   6                                                      a[6]++;
 118   6                                                      if(a[7]==1 && a[6]>9)
 119   6                                                      {
 120   7                                                              a[7]++;
 121   7                                                      }
 122   6                                                      else if(a[7]==2 && a[6]>3)
 123   6                                                      {
 124   7                                                              a[0]=a[1]=a[3]=a[4]=a[6]=a[7]=0;
 125   7                                                      }
 126   6                                                      else
 127   6                                                      {
 128   7                                                              a[7]++;
 129   7                                                      }
 130   6                                              }
 131   5                                      }
 132   4                              }
 133   3                      }
 134   2                      j=0;
 135   2              }
 136   1              else
 137   1              {
 138   2                      j++;
 139   2              }
 140   1      }
 141          
 142          void main(void)
 143          {
 144   1              unsigned char key;
 145   1              TMOD = 0X20;
 146   1          TH1= - 120000/256;                  
 147   1          TL1= - 120000%256;
 148   1      
 149   1          EA=1;                                       
 150   1          ET1=1;                              
 151   1          TR1=1;
 152   1      //    a[2]=a[5]=19;                     
 153   1              while(1)
 154   1              {
 155   2              /*      row=col1=col2=1;
 156   2                      key=KeyNum();
 157   2      
 158   2                      if(key==0)
 159   2                      {
 160   2                          EA=0;                                       
 161   2                          ET1=0;                              
 162   2                              TR1=0;
 163   2                      }
 164   2                      else if(key==1)
 165   2                      {
 166   2                          EA=1;                                       
 167   2                  ET1=1;                              
 168   2                              TR1=1;
 169   2                      }*/
 170   2      
 171   2              }
 172   1      }
*** WARNING C280 IN LINE 144 OF TEXT1.C: 'key': unreferenced local variable
 173          
 174          


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V7.20   TEXT1                                                                 09/28/2008 07:28:59 PAGE 4   

   CODE SIZE        =    372    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     30       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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