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

📄 irq.lst

📁 用89c54单片机开发的32键扫描键盘程序。
💻 LST
字号:
C51 COMPILER V7.20   IRQ                                                                   09/21/2001 13:13:04 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE IRQ
OBJECT MODULE PLACED IN IRQ.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE IRQ.C LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          #pragma large
   3          #include "public.h"
   4          sfr WDT_CONTR = 0xE1;//看门狗
   5          UCHAR xdata gUartRxBuf[UART_RX_SIZE];   //串口接收缓冲区
   6          UCHAR xdata gUartTxBuf[UART_TX_SIZE];   //串口发送缓冲区
   7          unsigned char xdata gUartTxWrite;
   8          unsigned char xdata gUartTxRead;
   9          UCHAR  gUart_Send_Busy;
  10          
  11          UCHAR gMainLoopTimeOut;
  12          UINT   gDogCounter;             //看门狗计数器
  13          
  14          
  15          /*
  16          
  17          
  18            中断表          索引
  19            /INT0                 0
  20            TIMER0                1
  21            /INT1                 2
  22            TIMER1                3
  23            UART                  4
  24            TIMER2                5
  25            /INT2                 6
  26            /INT3                 7
  27          
  28          
  29          
  30          
  31          */
  32          
  33          
  34          void Timer2Int(void)  interrupt 5  using 0
  35          {
  36   1              
  37   1      }
  38          void Ex0Int(void)  interrupt 0 using 0
  39          {
  40   1      }
  41          void Ex1Int(void)  interrupt 2  using 0
  42          {
  43   1      }
  44          void Ex2Int(void)  interrupt 6 using 0
  45          {
  46   1      }
  47          void Ex3Int(void)  interrupt 7  using 0
  48          {
  49   1      }
  50          
  51          
  52          
  53          
  54          
  55          /**************************时钟中断处理函数*******************************
C51 COMPILER V7.20   IRQ                                                                   09/21/2001 13:13:04 PAGE 2   

  56          入口参数:      无
  57          
  58          出口参数:      无
  59          
  60          返 回 值:      无
  61          
  62          功    能:      时钟中断处理函数
  63          
  64          描    述:  50ms中断一次  公式:初值=65535-921600*s
  65          /**********************************************************************/
  66          void Timer1Int(void)  interrupt 3  using 2
  67          {
  68   1          TR1=0;       //禁止计数
  69   1          TH1=0x00;
  70   1          TL1=0x0C;
  71   1          TR1=1;       //允许计数
  72   1              
  73   1          gDogCounter ++ ;
  74   1      
  75   1          if(gDogCounter>20)//500ms
  76   1          {
  77   2                      
  78   2                      gDogCounter=0;
  79   2                      //主循环超时处理
  80   2              if(gMainLoopTimeOut>0)
  81   2                      gMainLoopTimeOut --;
  82   2                      if(gMainLoopTimeOut ==0)  //当程序陷入死循环或跑飞时,进行软件狗复位
  83   2                      {
  84   3                              gMainLoopTimeOut = 1;
  85   3                              return ;
  86   3                      }
  87   2                      
  88   2              //喂狗
  89   2              WDT_CONTR=0x37;
  90   2                              if(P3_5==0)
  91   2                              P3_5=1;
  92   2                      else
  93   2                              P3_5=0; 
  94   2      
  95   2            
  96   2            
  97   2          }
  98   1      
  99   1      }  
 100          /**************************用户串口中断处理函数*******************************
 101          入口参数:      无
 102          
 103          出口参数:      无
 104          
 105          返 回 值:      无
 106          
 107          功    能:      用户串口中断处理函数
 108          
 109          描    述:
 110          /**********************************************************************/
 111          void SerialDte(void) interrupt 4 using 1
 112          {
 113   1              UCHAR  ch;
 114   1      
 115   1              //UCHAR  ch;
 116   1              if(RI==1)
 117   1              {
C51 COMPILER V7.20   IRQ                                                                   09/21/2001 13:13:04 PAGE 3   

 118   2                      
 119   2                              ch=SBUF&0x7f;
 120   2                      
 121   2                      
 122   2              RI=0;
 123   2              }
 124   1          if(TI==1)
 125   1          {
 126   2                      /*if(gUartTxRead!=gUartTxWrite)
 127   2                      {
 128   2                              gUartTxRead=gUartTxRead+1;
 129   2                              gUartTxRead%=UART_TX_SIZE;
 130   2                              SBUF=gUartTxBuf[gUartTxRead];    //发送一个字符后设置标志位空闲在主循环中进行发送
 131   2                      }*/
 132   2              TI=0;
 133   2          }
 134   1      }
 135          
 136          
 137          unsigned char WriteTxBuf(unsigned char mData)
 138          {
 139   1              gUartTxWrite=gUartTxWrite+1;
 140   1              gUartTxWrite%=UART_TX_SIZE;
 141   1              gUartTxBuf[gUartTxWrite]=mData;
 142   1              //if(TI==1)
 143   1      }
*** WARNING C173 IN LINE 143 OF IRQ.C: missing return-expression


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