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

📄 interrupt.lst

📁 C51驱动nrf24l01无线发送
💻 LST
字号:
C51 COMPILER V9.00   INTERRUPT                                                             07/18/2012 17:58:49 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;.\1
                    -2864液晶) DEBUG 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        }
  33   1          
  34   1      }
*** WARNING C280 IN LINE 19 OF USER\INTERRUPT.C: 'test': unreferenced local variable
  35          
  36          /*外部中断1*/
  37          void Input_One(void)          interrupt 2   using 1
  38          {   
  39   1        // TODO: 在此添加程序代码 
  40   1          
  41   1      }
  42          
  43          /*T1定时中断器函数*/
  44          void TIMER_One(void)      interrupt 3   using 1
  45          {
  46   1                      /*error*/
  47   1        //TH1 = (65536 - (unsigned int)(SYSTEMTIMERZERO / (float)(12 / SYSTEMFOSC))) / 256;       //给定时器赋初值
  48   1        //TL1 = (65536 - (unsigned int)(SYSTEMTIMERZERO / (float)(12 / SYSTEMFOSC))) % 256; 
  49   1                    /*error end*/
  50   1        // TODO: 在此添加程序代码 
  51   1            
  52   1      }
  53          
C51 COMPILER V9.00   INTERRUPT                                                             07/18/2012 17:58:49 PAGE 2   

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


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    115    ----
C51 COMPILER V9.00   INTERRUPT                                                             07/18/2012 17:58:49 PAGE 3   

   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 + -