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

📄 24htimer.lst

📁 用单片机做的一个时钟
💻 LST
字号:
C51 COMPILER V7.00  24HTIMER                                                               08/12/2007 18:15:48 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE 24HTIMER
OBJECT MODULE PLACED IN 24HTimer.OBJ
COMPILER INVOKED BY: C:\Program Files\keil\C51\BIN\C51.EXE 24HTimer.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //单协第三次课Demo版
   2          //2006-5-19
   3          
   4          #include "AT89X51.H"
   5          
   6          typedef  struct TIME                              
   7          {                                                   
   8                          unsigned char Hour ;
   9                  unsigned char Minute ;
  10                  unsigned char Second ;
  11                  unsigned int mSecond ;
  12                  
  13          } TIME ;
  14          TIME Timer ;
  15          
  16          unsigned char DisBuff[ 8 ];
  17          unsigned char LedP;
  18          unsigned char code LedCode[]={
  19                                                          0x3f,0x06,0x5b,
  20                                                          0x4f,0x66,0x6d,
  21                                                          0x7d,0x07,0x7f,
  22                                                          0x6f,0x40
  23                                                                  } ;
  24          
  25          
  26          void DelayXms(unsigned int X)  {
  27   1              unsigned char n ;
  28   1              while( X-- )  {
  29   2                      for( n= 0; n< 124; n++ ) {
  30   3                      }
  31   2              }
  32   1      }
  33          
  34          
  35          //
  36          // 每2ms执行一回中断的中断程序, 实现LED数码管动态显示
  37          //
  38          void ISR_Timer0(void) interrupt 1   
  39          {                                
  40   1      
  41   1              TL0= ( 65536-2000 ) % 256 ;
  42   1              TH0= ( 65536-2000 ) / 256 ;
  43   1      
  44   1      
  45   1              P2= 1<<LedP ; 
  46   1      
  47   1              P0= LedCode[ DisBuff[ LedP ] ] ;
  48   1              LedP++ ;
  49   1              if( LedP ==8 ) LedP= 0;
  50   1      
  51   1              Timer.mSecond++ ;
  52   1      
  53   1              if( Timer.mSecond< 500 )
  54   1                      return ;
  55   1      
C51 COMPILER V7.00  24HTIMER                                                               08/12/2007 18:15:48 PAGE 2   

  56   1              Timer.mSecond= 0 ;
  57   1              Timer.Second++ ;
  58   1      
  59   1              if( Timer.Second< 60 )
  60   1                      return ;
  61   1      
  62   1              Timer.Second= 0 ;
  63   1              Timer.Minute++ ;
  64   1      
  65   1              if( Timer.Minute< 60 )
  66   1                      return ;
  67   1      
  68   1              Timer.Minute= 0 ;
  69   1              Timer.Hour++ ;
  70   1              if( Timer.Hour< 24 )
  71   1                      return;
  72   1      
  73   1              Timer.Hour= 0 ;
  74   1      }
  75          
  76          void LedShow( void )
  77          {
  78   1              DisBuff[0]= Timer.Second%10;
  79   1              DisBuff[1]= Timer.Second/10;
  80   1      
  81   1      
  82   1              DisBuff[3]= Timer.Minute%10 ;
  83   1              DisBuff[4]= Timer.Minute/10 ;
  84   1      
  85   1      
  86   1              DisBuff[6]= Timer.Hour%10 ;
  87   1              DisBuff[7]= Timer.Hour/10 ;
  88   1      }
  89          
  90          
  91          void InitSet(void)
  92          {
  93   1              DisBuff[ 2 ] = 10;
  94   1              DisBuff[ 5 ] = 10;      
  95   1      
  96   1              TMOD= 0x01 ;            // 模式配置,time0 16位计数方式
  97   1              TH0= ( 65536-2000 ) / 256 ;
  98   1              TL0= ( 65536-2000 ) % 256 ;
  99   1              TR0= 1 ;                        // time0 计数开始
 100   1              ET0= 1 ;                        // 允许产生中断
 101   1      
 102   1              EA= 1 ;                         // 总中断有效
 103   1      }
 104          
 105          
 106          
 107          void  main( void )
 108          {
 109   1              InitSet( );
 110   1              while(1)
 111   1              {       
 112   2                      LedShow( );
 113   2                      DelayXms( 50 );
 114   2      
 115   2              } 
 116   1      }
 117          
C51 COMPILER V7.00  24HTIMER                                                               08/12/2007 18:15:48 PAGE 3   



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    241    ----
   CONSTANT SIZE    =     11    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14    ----
   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 + -