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

📄 interrupt.lst

📁 KEILC51的始终程序,显示年月日
💻 LST
字号:
C51 COMPILER V7.50   INTERRUPT                                                             11/12/2006 10:31:35 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE INTERRUPT
OBJECT MODULE PLACED IN Interrupt.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE Interrupt.c BROWSE DEBUG OBJECTEXTEND CODE

line level    source

   1          #include "Global.H"
   2          #include "ClockTask.H"
   3          
   4          //INT0_InterruptService                                           
   5          //=====================
   6          void INT0_InterruptService(void) interrupt 0 using 1
   7          {
   8   1              //请求切换任务
   9   1              //============
  10   1              TaskChangeFlag = 1;
  11   1      }
  12          
  13          //INT1_InterruptService                                           
  14          //=====================
  15          void INT1_InterruptService(void) interrupt 2 using 1
  16          {
  17   1      }
  18          
  19          //Timer0_InterruptService
  20          //=======================
  21          void Timer0_InterruptService(void) interrupt 1 using 1
  22          {
  23   1              TH0 = 0x00;//重置定时器0计数初值
  24   1              TL0 = 0x00;
  25   1      }
  26          
  27          //Timer1_InterruptService
  28          //=======================
  29          void Timer1_InterruptService(void) interrupt 3 using 1
  30          {
  31   1      }
  32          
  33          
  34          UNINT Counter_1s = 0;//产生1秒信号的计数器
  35          UNINT Counter_Flash = 0;//控制闪烁计数器
  36          //Timer2_InterruptService
  37          //=======================
  38          void Timer2_InterruptService(void) interrupt 5 using 3
  39          {
  40   1              if(TF2)
  41   1              {
  42   2                      //秒信号控制
  43   2                      //==========
  44   2                      Counter_1s++;
  45   2                      if(Counter_1s>=400)
  46   2                      {//1秒时间到
  47   3                              Counter_1s = 0;
  48   3      
  49   3                              SecondFlag = 1;//设置时钟秒信号标志
  50   3                      }
  51   2      
  52   2                      //字符闪烁频率控制
  53   2                      //================
  54   2                      Counter_Flash++;
  55   2                      if(Counter_Flash == 200)
C51 COMPILER V7.50   INTERRUPT                                                             11/12/2006 10:31:35 PAGE 2   

  56   2                      {
  57   3                              FlashControl = 2;//让闪烁字符消隐
  58   3                      }
  59   2                      else if(Counter_Flash>300)
  60   2                      {
  61   3                              FlashControl = 1;//让闪烁字符显示
  62   3                              Counter_Flash = 0;
  63   3                      }
  64   2      
  65   2                      //显示键盘控制
  66   2                      //============
  67   2                      DisplayKeyboardControl();
  68   2      
  69   2                      TF2 = 0;//清TF2中断标志
  70   2              }//End of TF2
  71   1      
  72   1              if(EXF2)
  73   1              {//处理外部中断INT2
  74   2                      EXF2 = 0;//清EXF2中断标志
  75   2              }
  76   1      }
  77          
  78          //SerialPort_InterruptService
  79          //===========================
  80          void SerialPort_InterruptService(void) interrupt 4 using 2
  81          {
  82   1              if(RI)
  83   1              {//处理接收缓冲区满中断
  84   2                      RI = 0;//清RI中断标志
  85   2              }
  86   1      
  87   1              if(TI)
  88   1              {//处理发送缓冲区空中断
  89   2                      TI = 0;//清TI中断标志
  90   2              }
  91   1      }
  92          
C51 COMPILER V7.50   INTERRUPT                                                             11/12/2006 10:31:35 PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION INT0_InterruptService (BEGIN)
                                           ; SOURCE LINE # 6
                                           ; SOURCE LINE # 10
0000 D200        E     SETB    TaskChangeFlag
                                           ; SOURCE LINE # 11
0002 32                RETI    
             ; FUNCTION INT0_InterruptService (END)

             ; FUNCTION INT1_InterruptService (BEGIN)
                                           ; SOURCE LINE # 15
                                           ; SOURCE LINE # 17
0000 32                RETI    
             ; FUNCTION INT1_InterruptService (END)

             ; FUNCTION Timer0_InterruptService (BEGIN)
                                           ; SOURCE LINE # 21
                                           ; SOURCE LINE # 23
0000 758C00            MOV     TH0,#00H
                                           ; SOURCE LINE # 24
0003 758A00            MOV     TL0,#00H
                                           ; SOURCE LINE # 25
0006 32                RETI    
             ; FUNCTION Timer0_InterruptService (END)

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

             ; FUNCTION Timer2_InterruptService (BEGIN)
0000 C0E0              PUSH    ACC
0002 C0F0              PUSH    B
0004 C083              PUSH    DPH
0006 C082              PUSH    DPL
0008 C0D0              PUSH    PSW
000A 75D018            MOV     PSW,#018H
                                           ; SOURCE LINE # 38
                                           ; SOURCE LINE # 40
000D 30CF45            JNB     TF2,?C0005
                                           ; SOURCE LINE # 41
                                           ; SOURCE LINE # 44
0010 0500        R     INC     Counter_1s+01H
0012 E500        R     MOV     A,Counter_1s+01H
0014 7002              JNZ     ?C0015
0016 0500        R     INC     Counter_1s
0018         ?C0015:
                                           ; SOURCE LINE # 45
0018 C3                CLR     C
0019 9490              SUBB    A,#090H
001B E500        R     MOV     A,Counter_1s
001D 9401              SUBB    A,#01H
001F 4008              JC      ?C0006
                                           ; SOURCE LINE # 46
                                           ; SOURCE LINE # 47
0021 750000      R     MOV     Counter_1s,#00H
0024 750000      R     MOV     Counter_1s+01H,#00H
                                           ; SOURCE LINE # 49
0027 D200        E     SETB    SecondFlag
C51 COMPILER V7.50   INTERRUPT                                                             11/12/2006 10:31:35 PAGE 4   

                                           ; SOURCE LINE # 50
0029         ?C0006:
                                           ; SOURCE LINE # 54
0029 0500        R     INC     Counter_Flash+01H
002B E500        R     MOV     A,Counter_Flash+01H
002D 7002              JNZ     ?C0016
002F 0500        R     INC     Counter_Flash
0031         ?C0016:
                                           ; SOURCE LINE # 55
0031 64C8              XRL     A,#0C8H
0033 4500        R     ORL     A,Counter_Flash
0035 7005              JNZ     ?C0007
                                           ; SOURCE LINE # 56
                                           ; SOURCE LINE # 57
0037 750002      E     MOV     FlashControl,#02H
                                           ; SOURCE LINE # 58
003A 8014              SJMP    ?C0008
003C         ?C0007:
                                           ; SOURCE LINE # 59
003C D3                SETB    C
003D E500        R     MOV     A,Counter_Flash+01H
003F 942C              SUBB    A,#02CH
0041 E500        R     MOV     A,Counter_Flash
0043 9401              SUBB    A,#01H
0045 4009              JC      ?C0008
                                           ; SOURCE LINE # 60
                                           ; SOURCE LINE # 61
0047 750001      E     MOV     FlashControl,#01H
                                           ; SOURCE LINE # 62
004A 750000      R     MOV     Counter_Flash,#00H
004D 750000      R     MOV     Counter_Flash+01H,#00H
                                           ; SOURCE LINE # 63
0050         ?C0008:
                                           ; SOURCE LINE # 67
0050 120000      E     LCALL   DisplayKeyboardControl
                                           ; SOURCE LINE # 69
0053 C2CF              CLR     TF2
                                           ; SOURCE LINE # 70
0055         ?C0005:
                                           ; SOURCE LINE # 72
0055 30CE02            JNB     EXF2,?C0011
                                           ; SOURCE LINE # 73
                                           ; SOURCE LINE # 74
0058 C2CE              CLR     EXF2
                                           ; SOURCE LINE # 75
                                           ; SOURCE LINE # 76
005A         ?C0011:
005A D0D0              POP     PSW
005C D082              POP     DPL
005E D083              POP     DPH
0060 D0F0              POP     B
0062 D0E0              POP     ACC
0064 32                RETI    
             ; FUNCTION Timer2_InterruptService (END)

             ; FUNCTION SerialPort_InterruptService (BEGIN)
                                           ; SOURCE LINE # 80
                                           ; SOURCE LINE # 82
0000 309802            JNB     RI,?C0012
                                           ; SOURCE LINE # 83
                                           ; SOURCE LINE # 84
0003 C298              CLR     RI
C51 COMPILER V7.50   INTERRUPT                                                             11/12/2006 10:31:35 PAGE 5   

                                           ; SOURCE LINE # 85
0005         ?C0012:
                                           ; SOURCE LINE # 87
0005 309902            JNB     TI,?C0014
                                           ; SOURCE LINE # 88
                                           ; SOURCE LINE # 89
0008 C299              CLR     TI
                                           ; SOURCE LINE # 90
                                           ; SOURCE LINE # 91
000A         ?C0014:
000A 32                RETI    
             ; FUNCTION SerialPort_InterruptService (END)



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