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

📄 interrupt.lst

📁 C51驱动nrf24l01无线发送
💻 LST
字号:
C51 COMPILER V9.00   INTERRUPT                                                             07/18/2012 19:53:59 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE INTERRUPT
OBJECT MODULE PLACED IN interrupt.obj
COMPILER INVOKED BY: G:\Keil_51\C51\BIN\C51.EXE User\interrupt.c BROWSE INCDIR(.\Define;.\MyDseign;.\nrf24l01;.\User) DE
                    -BUG OBJECTEXTEND PRINT(.\interrupt.lst) TABS(2) OBJECT(interrupt.obj)

line level    source

   1                                                //*************************************//
   2                                                //                                     //
   3                                                //     在该页添加所需要的中断任务      //
   4                                                //                                     //
   5                                                //*************************************//
   6          #include "define.h"
   7          /*********************************中断服务函数************************************/
   8          /*外部中断0*/
   9          void Input_Zero(void)         interrupt 0   using 1
  10          {    
  11   1        // TODO: 在此添加程序代码 
  12   1        Int_flag = 1;
  13   1      }
  14          
  15          /*TO定时中断器函数*/
  16          void TIMER_Zero(void)     interrupt 1   using 1
  17          {       
  18   1        static uchar aa = 0;
  19   1        uchar test;
  20   1        TH0 = 0x4C;
  21   1        TL0 = 0x00;                    
  22   1                     /*error*/
  23   1        //TH0 = (65536 - (unsigned int)(SYSTEMTIMERZERO / (float)(12 / SYSTEMFOSC))) / 256;       //给定时器赋初值
  24   1        //TL0 = (65536 - (unsigned int)(SYSTEMTIMERZERO / (float)(12 / SYSTEMFOSC))) % 256; 
  25   1                    /*error end*/
  26   1        // TODO: 在此添加程序代码 
  27   1        aa++;
  28   1        if(aa == 20)
  29   1        { 
  30   2          aa = 0;
  31   2          Time_flag = 1;
  32   2          miao++;
  33   2          TxBuf[0] = miao;
  34   2          TxBuf[1] = miao;
  35   2          P2 ^= BIT0;
  36   2        }
  37   1          
  38   1      }
*** WARNING C280 IN LINE 19 OF USER\INTERRUPT.C: 'test': unreferenced local variable
  39          
  40          /*外部中断1*/
  41          void Input_One(void)          interrupt 2   using 1
  42          {   
  43   1        // TODO: 在此添加程序代码 
  44   1          
  45   1      }
  46          
  47          /*T1定时中断器函数*/
  48          void TIMER_One(void)      interrupt 3   using 1
  49          {
  50   1                      /*error*/
  51   1        //TH1 = (65536 - (unsigned int)(SYSTEMTIMERZERO / (float)(12 / SYSTEMFOSC))) / 256;       //给定时器赋初值
  52   1        //TL1 = (65536 - (unsigned int)(SYSTEMTIMERZERO / (float)(12 / SYSTEMFOSC))) % 256; 
  53   1                    /*error end*/
C51 COMPILER V9.00   INTERRUPT                                                             07/18/2012 19:53:59 PAGE 2   

  54   1        // TODO: 在此添加程序代码 
  55   1            
  56   1      }
  57          
  58          /*串口中断函数*/
  59          void UART_Service(void)   interrupt 4   using 1           
  60          {     
  61   1        unsigned char R_Data;
  62   1        if(RI)
  63   1        {
  64   2          RI=0;
  65   2          R_Data=SBUF;
  66   2          Restart(R_Data);/*实时监测自定义下载命令*/
  67   2          /*下面为实际的串口接收中断处理*/
  68   2          // TODO: 在此添加程序代码 
  69   2      
  70   2        }
  71   1        else
  72   1        {
  73   2          //TI=0;
  74   2          /*下面为实际的串口发送中断处理*/
  75   2          // TODO: 在此添加程序代码 
  76   2          
  77   2        }
  78   1      }
  79          
  80          void Restart(unsigned char R_Data)
  81          {
  82   1        static unsigned char di = 0;
  83   1        if(R_Data == download[di])
  84   1        {
  85   2          di++;
  86   2          if(download[di] == '\0')
  87   2          {       
  88   3            EX0 = OFF;                //关闭外部中断0       
  89   3            ET0 = OFF;                //关闭T0定时器中断
  90   3            TR0 = OFF;                //关闭T0定时器
  91   3            EX1 = OFF;                //关闭外部中断1   
  92   3            ET1 = OFF;                //关闭T1定时器中断
  93   3            TR1 = OFF;                //关闭T1定时器
  94   3            ES  = OFF;                //关闭串口中断
  95   3            TR1 = OFF;                //关闭T1定时器  
  96   3            EA  = OFF;                //关闭总中断
  97   3      
  98   3                                     /*error*/
  99   3            //TH0 = (65536 - (unsigned int)(SYSTEMTIMERZERO / (float)(12 / SYSTEMFOSC))) / 256;       //给定时器赋初值
 100   3            //TL0 = (65536 - (unsigned int)(SYSTEMTIMERZERO / (float)(12 / SYSTEMFOSC))) % 256;
 101   3                                   /*error end*/
 102   3      
 103   3                          /*此处延时1ms左右再重启系统,姑且就用11.0592MHz的晶振作为系统时钟来计算*/
 104   3            TH0 = (65536 - SYSTEMRESTART) / 256; 
 105   3            TL0 = (65536 - SYSTEMRESTART) % 256;
 106   3            TR0 = ON;               //启动T0定时器
 107   3      
 108   3            //WDT_CONTR = 0x3f;   //最长看门狗定时,时间至少为1.25秒
 109   3            //while(!TF0);        //等待定时器溢出
 110   3            //IAP_CONTR = 0x60;   /*定时时间到软复位到ISP程序区*/
 111   3          }
 112   2        }
 113   1        else
 114   1          di=0;
 115   1      }
C51 COMPILER V9.00   INTERRUPT                                                             07/18/2012 19:53:59 PAGE 3   



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