ir.lst

来自「红外代码」· LST 代码 · 共 92 行

LST
92
字号
C51 COMPILER V9.01   IR                                                                    07/19/2012 20:38:48 PAGE 1   


C51 COMPILER V9.01, COMPILATION OF MODULE IR
OBJECT MODULE PLACED IN ir.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE ir.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "ir.h"
   2          
   3          unsigned char irtime = 0;
   4          unsigned char irdata[33] = "";          //缓存,存储“时间”
   5          unsigned char ircode[4] = "";
   6          bit irok = 0;
   7          void ir_init()
   8          {
   9   1              EX0 = 1;
  10   1              IT0 = 1;
  11   1              
  12   1              TMOD = 0x02;
  13   1              TH0 = 0;
  14   1              TL0 = 0;
  15   1              ET0 = 1;
  16   1              TR0 = 1;
  17   1              EA = 1; 
  18   1      }
  19          
  20          void it0_isr() interrupt 0
  21          {
  22   1              static char i = 0;              //数据
  23   1              int temp = irtime;
  24   1              irtime = 0;
  25   1              if((temp>30) && (temp < 35))
  26   1                      i = 0;
  27   1              irdata[i] = temp;
  28   1              i++;
  29   1              if(i == 33)
  30   1              {
  31   2                      irok = 1;       
  32   2              }
  33   1      }
  34          
  35          void timer0_isr() interrupt 1
  36          {
  37   1              irtime++;
  38   1      }
  39          
  40          void ir_pro()
  41          {
  42   1              char i = 0;
  43   1              char j = 0;
  44   1              char k = 1;
  45   1              for(i=0; i<4; i++)
  46   1              {
  47   2                      char temp_code = 0;
  48   2                      for(j=0; j<8; j++)        //irtime = 4 (0)
  49   2                      {                                         //irtime = 8 (1)
  50   3                              temp_code >>= 1;
  51   3                              if(irdata[k] >= 7)
  52   3                              {
  53   4                                      temp_code = temp_code | 0x80;
  54   4                              }
  55   3                              k++;
C51 COMPILER V9.01   IR                                                                    07/19/2012 20:38:48 PAGE 2   

  56   3                      }
  57   2                      ircode[i] = temp_code;
  58   2              }
  59   1                      
  60   1      }
  61          /*
  62          temp_code
  63          byte7 byte6 ... byte0 
  64          1 0 0 0 0 0 0 0
  65          1 1 1 1 1 1 1 1
  66          */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    133    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     39       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?