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

📄 interrupt.lst

📁 全国大学生电子竞赛专用的51单片机最小系统原理图与源程序
💻 LST
字号:
C51 COMPILER V7.50   INTERRUPT                                                             11/06/2006 17:46:30 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              TaskMode++;
  11   1              if(TaskMode>3) TaskMode=1;
  12   1      
  13   1              Menu1 = 1;
  14   1              Menu2 = 1;
  15   1              Menu3 = 1;
  16   1      }
  17          
  18          //INT1_InterruptService                                           
  19          //=====================
  20          void INT1_InterruptService(void) interrupt 2 using 1
  21          {
  22   1      }
  23          
  24          //Timer0_InterruptService
  25          //=======================
  26          void Timer0_InterruptService(void) interrupt 1 using 1
  27          {
  28   1              TH0 = 0x00;//重置定时器0计数初值
  29   1              TL0 = 0x00;
  30   1      }
  31          
  32          //Timer1_InterruptService
  33          //=======================
  34          void Timer1_InterruptService(void) interrupt 3 using 1
  35          {
  36   1      }
  37          
  38          
  39          UNINT Counter_1s = 0;//产生1秒信号的计数器
  40          UNINT Counter_Flash = 0;//控制闪烁计数器
  41          //Timer2_InterruptService
  42          //=======================
  43          void Timer2_InterruptService(void) interrupt 5 using 3
  44          {
  45   1              if(TF2)
  46   1              {
  47   2                      //秒信号控制
  48   2                      //==========
  49   2                      Counter_1s++;
  50   2                      if(Counter_1s>=400)
  51   2                      {//1秒时间到
  52   3                              Counter_1s = 0;
  53   3      
  54   3                              SecondFlag = 1;//设置时钟秒信号标志
  55   3                      }
C51 COMPILER V7.50   INTERRUPT                                                             11/06/2006 17:46:30 PAGE 2   

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

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION INT0_InterruptService (BEGIN)
0000 C0E0              PUSH    ACC
0002 C0D0              PUSH    PSW
                                           ; SOURCE LINE # 6
                                           ; SOURCE LINE # 10
0004 0500        E     INC     TaskMode
                                           ; SOURCE LINE # 11
0006 E500        E     MOV     A,TaskMode
0008 D3                SETB    C
0009 9403              SUBB    A,#03H
000B 4003              JC      ?C0001
000D 750001      E     MOV     TaskMode,#01H
0010         ?C0001:
                                           ; SOURCE LINE # 13
0010 750001      E     MOV     Menu1,#01H
                                           ; SOURCE LINE # 14
0013 750001      E     MOV     Menu2,#01H
                                           ; SOURCE LINE # 15
0016 750001      E     MOV     Menu3,#01H
                                           ; SOURCE LINE # 16
0019 D0D0              POP     PSW
001B D0E0              POP     ACC
001D 32                RETI    
             ; FUNCTION INT0_InterruptService (END)

             ; FUNCTION INT1_InterruptService (BEGIN)
                                           ; SOURCE LINE # 20
                                           ; SOURCE LINE # 22
0000 32                RETI    
             ; FUNCTION INT1_InterruptService (END)

             ; FUNCTION Timer0_InterruptService (BEGIN)
                                           ; SOURCE LINE # 26
                                           ; SOURCE LINE # 28
0000 758C00            MOV     TH0,#00H
                                           ; SOURCE LINE # 29
0003 758A00            MOV     TL0,#00H
                                           ; SOURCE LINE # 30
0006 32                RETI    
             ; FUNCTION Timer0_InterruptService (END)

             ; FUNCTION Timer1_InterruptService (BEGIN)
                                           ; SOURCE LINE # 34
                                           ; SOURCE LINE # 36
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 # 43
                                           ; SOURCE LINE # 45
000D 30CF45            JNB     TF2,?C0006
                                           ; SOURCE LINE # 46
                                           ; SOURCE LINE # 49
C51 COMPILER V7.50   INTERRUPT                                                             11/06/2006 17:46:30 PAGE 4   

0010 0500        R     INC     Counter_1s+01H
0012 E500        R     MOV     A,Counter_1s+01H
0014 7002              JNZ     ?C0016
0016 0500        R     INC     Counter_1s
0018         ?C0016:
                                           ; SOURCE LINE # 50
0018 C3                CLR     C
0019 9490              SUBB    A,#090H
001B E500        R     MOV     A,Counter_1s
001D 9401              SUBB    A,#01H
001F 4008              JC      ?C0007
                                           ; SOURCE LINE # 51
                                           ; SOURCE LINE # 52
0021 750000      R     MOV     Counter_1s,#00H
0024 750000      R     MOV     Counter_1s+01H,#00H
                                           ; SOURCE LINE # 54
0027 D200        E     SETB    SecondFlag
                                           ; SOURCE LINE # 55
0029         ?C0007:
                                           ; SOURCE LINE # 59
0029 0500        R     INC     Counter_Flash+01H
002B E500        R     MOV     A,Counter_Flash+01H
002D 7002              JNZ     ?C0017
002F 0500        R     INC     Counter_Flash
0031         ?C0017:
                                           ; SOURCE LINE # 60
0031 64C8              XRL     A,#0C8H
0033 4500        R     ORL     A,Counter_Flash
0035 7005              JNZ     ?C0008
                                           ; SOURCE LINE # 61
                                           ; SOURCE LINE # 62
0037 750002      E     MOV     FlashControl,#02H
                                           ; SOURCE LINE # 63
003A 8014              SJMP    ?C0009
003C         ?C0008:
                                           ; SOURCE LINE # 64
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      ?C0009
                                           ; SOURCE LINE # 65
                                           ; SOURCE LINE # 66
0047 750001      E     MOV     FlashControl,#01H
                                           ; SOURCE LINE # 67
004A 750000      R     MOV     Counter_Flash,#00H
004D 750000      R     MOV     Counter_Flash+01H,#00H
                                           ; SOURCE LINE # 68
0050         ?C0009:
                                           ; SOURCE LINE # 72
0050 120000      E     LCALL   DisplayKeyboardControl
                                           ; SOURCE LINE # 74
0053 C2CF              CLR     TF2
                                           ; SOURCE LINE # 75
0055         ?C0006:
                                           ; SOURCE LINE # 77
0055 30CE02            JNB     EXF2,?C0012
                                           ; SOURCE LINE # 78
                                           ; SOURCE LINE # 79
0058 C2CE              CLR     EXF2
                                           ; SOURCE LINE # 80
C51 COMPILER V7.50   INTERRUPT                                                             11/06/2006 17:46:30 PAGE 5   

                                           ; SOURCE LINE # 81
005A         ?C0012:
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 # 85
                                           ; SOURCE LINE # 87
0000 309802            JNB     RI,?C0013
                                           ; SOURCE LINE # 88
                                           ; SOURCE LINE # 89
0003 C298              CLR     RI
                                           ; SOURCE LINE # 90
0005         ?C0013:
                                           ; SOURCE LINE # 92
0005 309902            JNB     TI,?C0015
                                           ; SOURCE LINE # 93
                                           ; SOURCE LINE # 94
0008 C299              CLR     TI
                                           ; SOURCE LINE # 95
                                           ; SOURCE LINE # 96
000A         ?C0015:
000A 32                RETI    
             ; FUNCTION SerialPort_InterruptService (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    151    ----
   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 + -