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

📄 t0_test.lst

📁 单片机定时器应用程序,可以帮助初学者学习定时器的应用
💻 LST
字号:
C51 COMPILER V7.08   T0_TEST                                                               05/23/2004 23:11:10 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE T0_TEST
OBJECT MODULE PLACED IN T0_TEST.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE T0_TEST.C BROWSE DEBUG OBJECTEXTEND CODE NOCOND

line level    source

   1          //author: zzwj5120
   2          //email:  zzwj5120@sina.com
   3          //date:   2004/5/19
   4          
   5          #include <reg52.h>
   6          
   7          sbit led1=P1^0;
   8          sbit led2=P1^1;
   9          sbit led3=P1^2;
  10          sbit led4=P1^3;
  11          
  12          #define LED_ON   0
  13          #define LED_OFF  1
  14          
  15          unsigned char count;
  16          unsigned char delay1;
  17          unsigned char delay2;
  18          unsigned char delay3;
  19          unsigned char delay4;
  20          
  21          void timer0(void) interrupt 1 using 0
  22          {
  23   1              TL0=0x06;
  24   1              TH0=0xf8;
  25   1              if (++count > 200){
  26   2                      count = 0;
  27   2              }
  28   1      }
  29          void serial() interrupt 4 using 3
  30          {
  31   1      
  32   1      }
  33          
  34          main(){
  35   1              EA = 1;         //开总中断
  36   1              ET0 = 1;        //允许定时器0中断
  37   1      
  38   1              TMOD = 1;       //定时器工作方式选择
  39   1              TL0 = 0x06;     
  40   1              TH0 = 0xf8;     //定时器赋予初值
  41   1      
  42   1              TR0 = 1;        //启动定时器
  43   1      
  44   1              delay1 = 4;
  45   1              delay2 = 2;
  46   1              delay3 = 4;
  47   1              delay4 = 2;
  48   1      
  49   1              while(1){
  50   2                      if (count == 0){
  51   3                              if (++delay1 > 4){
  52   4                                      delay1 = 0;
  53   4                              }
  54   3                              if (++delay2 > 4){
  55   4                                      delay2 = 0;
C51 COMPILER V7.08   T0_TEST                                                               05/23/2004 23:11:10 PAGE 2   

  56   4                              }
  57   3                              if (++delay3 > 4){
  58   4                                      delay3 = 0;
  59   4                              }
  60   3                              if (++delay4 > 4){
  61   4                                      delay4 = 0;
  62   4                              }
  63   3                      }
  64   2                      if (delay1 < 2){
  65   3                              led1 = LED_OFF;
  66   3                      }
  67   2                      else {
  68   3                              led1 = LED_ON;
  69   3                      }
  70   2                      if (delay2 < 2){
  71   3                              led2 = LED_OFF;
  72   3                      }
  73   2                      else {
  74   3                              led2 = LED_ON;
  75   3                      }
  76   2                      if (delay3 < 2){
  77   3                              led3 = LED_OFF;
  78   3                      }
  79   2                      else {
  80   3                              led3 = LED_ON;
  81   3                      }
  82   2                      if (delay4 < 2){
  83   3                              led4 = LED_OFF;
  84   3                      }
  85   2                      else {
  86   3                              led4 = LED_ON;
  87   3                      }
  88   2              }
  89   1      }
  90          
C51 COMPILER V7.08   T0_TEST                                                               05/23/2004 23:11:10 PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION timer0 (BEGIN)
0000 C0E0              PUSH    ACC
0002 C0D0              PUSH    PSW
                                           ; SOURCE LINE # 21
                                           ; SOURCE LINE # 23
0004 758A06            MOV     TL0,#06H
                                           ; SOURCE LINE # 24
0007 758CF8            MOV     TH0,#0F8H
                                           ; SOURCE LINE # 25
000A 0500        R     INC     count
000C E500        R     MOV     A,count
000E D3                SETB    C
000F 94C8              SUBB    A,#0C8H
0011 4003              JC      ?C0002
                                           ; SOURCE LINE # 26
0013 750000      R     MOV     count,#00H
                                           ; SOURCE LINE # 27
                                           ; SOURCE LINE # 28
0016         ?C0002:
0016 D0D0              POP     PSW
0018 D0E0              POP     ACC
001A 32                RETI    
             ; FUNCTION timer0 (END)

             ; FUNCTION serial (BEGIN)
                                           ; SOURCE LINE # 29
                                           ; SOURCE LINE # 32
0000 32                RETI    
             ; FUNCTION serial (END)

             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 34
                                           ; SOURCE LINE # 35
0000 D2AF              SETB    EA
                                           ; SOURCE LINE # 36
0002 D2A9              SETB    ET0
                                           ; SOURCE LINE # 38
0004 758901            MOV     TMOD,#01H
                                           ; SOURCE LINE # 39
0007 758A06            MOV     TL0,#06H
                                           ; SOURCE LINE # 40
000A 758CF8            MOV     TH0,#0F8H
                                           ; SOURCE LINE # 42
000D D28C              SETB    TR0
                                           ; SOURCE LINE # 44
000F 750004      R     MOV     delay1,#04H
                                           ; SOURCE LINE # 45
0012 750002      R     MOV     delay2,#02H
                                           ; SOURCE LINE # 46
0015 750004      R     MOV     delay3,#04H
                                           ; SOURCE LINE # 47
0018 750002      R     MOV     delay4,#02H
001B         ?C0004:
                                           ; SOURCE LINE # 49
                                           ; SOURCE LINE # 50
001B E500        R     MOV     A,count
001D 7030              JNZ     ?C0006
                                           ; SOURCE LINE # 51
001F 0500        R     INC     delay1
C51 COMPILER V7.08   T0_TEST                                                               05/23/2004 23:11:10 PAGE 4   

0021 E500        R     MOV     A,delay1
0023 D3                SETB    C
0024 9404              SUBB    A,#04H
0026 4003              JC      ?C0007
                                           ; SOURCE LINE # 52
0028 E4                CLR     A
0029 F500        R     MOV     delay1,A
                                           ; SOURCE LINE # 53
002B         ?C0007:
                                           ; SOURCE LINE # 54
002B 0500        R     INC     delay2
002D E500        R     MOV     A,delay2
002F D3                SETB    C
0030 9404              SUBB    A,#04H
0032 4003              JC      ?C0008
                                           ; SOURCE LINE # 55
0034 E4                CLR     A
0035 F500        R     MOV     delay2,A
                                           ; SOURCE LINE # 56
0037         ?C0008:
                                           ; SOURCE LINE # 57
0037 0500        R     INC     delay3
0039 E500        R     MOV     A,delay3
003B D3                SETB    C
003C 9404              SUBB    A,#04H
003E 4003              JC      ?C0009
                                           ; SOURCE LINE # 58
0040 E4                CLR     A
0041 F500        R     MOV     delay3,A
                                           ; SOURCE LINE # 59
0043         ?C0009:
                                           ; SOURCE LINE # 60
0043 0500        R     INC     delay4
0045 E500        R     MOV     A,delay4
0047 D3                SETB    C
0048 9404              SUBB    A,#04H
004A 4003              JC      ?C0006
                                           ; SOURCE LINE # 61
004C E4                CLR     A
004D F500        R     MOV     delay4,A
                                           ; SOURCE LINE # 62
                                           ; SOURCE LINE # 63
004F         ?C0006:
                                           ; SOURCE LINE # 64
004F E500        R     MOV     A,delay1
0051 C3                CLR     C
0052 9402              SUBB    A,#02H
0054 5004              JNC     ?C0011
                                           ; SOURCE LINE # 65
0056 D290              SETB    led1
                                           ; SOURCE LINE # 66
0058 8002              SJMP    ?C0012
005A         ?C0011:
                                           ; SOURCE LINE # 67
                                           ; SOURCE LINE # 68
005A C290              CLR     led1
                                           ; SOURCE LINE # 69
005C         ?C0012:
                                           ; SOURCE LINE # 70
005C E500        R     MOV     A,delay2
005E C3                CLR     C
005F 9402              SUBB    A,#02H
C51 COMPILER V7.08   T0_TEST                                                               05/23/2004 23:11:10 PAGE 5   

0061 5004              JNC     ?C0013
                                           ; SOURCE LINE # 71
0063 D291              SETB    led2
                                           ; SOURCE LINE # 72
0065 8002              SJMP    ?C0014
0067         ?C0013:
                                           ; SOURCE LINE # 73
                                           ; SOURCE LINE # 74
0067 C291              CLR     led2
                                           ; SOURCE LINE # 75
0069         ?C0014:
                                           ; SOURCE LINE # 76
0069 E500        R     MOV     A,delay3
006B C3                CLR     C
006C 9402              SUBB    A,#02H
006E 5004              JNC     ?C0015
                                           ; SOURCE LINE # 77
0070 D292              SETB    led3
                                           ; SOURCE LINE # 78
0072 8002              SJMP    ?C0016
0074         ?C0015:
                                           ; SOURCE LINE # 79
                                           ; SOURCE LINE # 80
0074 C292              CLR     led3
                                           ; SOURCE LINE # 81
0076         ?C0016:
                                           ; SOURCE LINE # 82
0076 E500        R     MOV     A,delay4
0078 C3                CLR     C
0079 9402              SUBB    A,#02H
007B 5004              JNC     ?C0017
                                           ; SOURCE LINE # 83
007D D293              SETB    led4
                                           ; SOURCE LINE # 84
007F 809A              SJMP    ?C0004
0081         ?C0017:
                                           ; SOURCE LINE # 85
                                           ; SOURCE LINE # 86
0081 C293              CLR     led4
                                           ; SOURCE LINE # 87
                                           ; SOURCE LINE # 88
0083 8096              SJMP    ?C0004
             ; FUNCTION main (END)



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