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

📄 remote.lst

📁 NEC遥控器解码实验
💻 LST
字号:
C51 COMPILER V8.08   REMOTE                                                                03/16/2009 17:17:18 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE REMOTE
OBJECT MODULE PLACED IN remote.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE remote.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <AT89X52.H>
   2          #define uchar unsigned char
   3          sbit check=P2^2;
   4          sbit beep=P2^1;
   5          uchar irdata[2],irtype,ircount;
   6          uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};
   7          bit endflag;
   8          void init()
   9          {
  10   1      irdata[0]=0;
  11   1      irdata[1]=0;
  12   1      
  13   1      irtype=0;
  14   1      ircount=0;
  15   1      endflag=0;
  16   1      check=1;
  17   1      P3=0xfe;
  18   1      }
  19           void delay_50ms(unsigned int t)
  20          {
  21   1       unsigned int j;   
  22   1       for(;t>0;t--) 
  23   1             for(j=6245;j>0;j--) 
  24   1      {;}
  25   1      }
  26          
  27          void tim0() interrupt 1 using 0
  28          {
  29   1      bit in=~check;
  30   1      TH0=(65536-1688)/256;
  31   1      TL0=(65536-1688)%256;
  32   1      irdata[irtype]=irdata[irtype]|in;
  33   1      ircount++;
  34   1      if(ircount==3)
  35   1      {
  36   2      irtype=1;
  37   2      }
  38   1      else if(ircount==12)
  39   1      {
  40   2      irtype=2;
  41   2      }
  42   1      
  43   1      else if(irtype==2)
  44   1       {
  45   2        endflag=1;
  46   2        ircount=0;
  47   2        irtype=0;
  48   2        TR0=0;
  49   2        return;
  50   2        }
  51   1        else
  52   1      {
  53   2      
  54   2       irdata[irtype]=irdata[irtype]<<1;
  55   2        }
C51 COMPILER V8.08   REMOTE                                                                03/16/2009 17:17:18 PAGE 2   

  56   1         }
  57          void delay()
  58           {
  59   1        uchar a,b;
  60   1        for(a=20;a!=0;a--)
  61   1        for(b=248;b!=0;b--);
  62   1        }
  63          void display()
  64           {
  65   1        uchar i;
  66   1        switch(irdata[1])
  67   1       {
  68   2        case 0x20:i=0;break;
  69   2        case 0x10:i=1;break;
  70   2        case 0x08:i=2;break;
  71   2        case 0x04:i=3;break;
  72   2        case 0x02:i=4;break;
  73   2        case 0x01:i=5;break;
  74   2        case 0xa0:i=6;break;
  75   2        case 0x90:i=7;break;
  76   2        case 0x88:i=8;break;
  77   2        case 0x82:i=9;break;
  78   2      
  79   2        }
  80   1         P0=table[i];
  81   1         delay();
  82   1         }
  83          void main()
  84          {
  85   1       TMOD=0x81;
  86   1       IE=0x82;
  87   1       P0=table[0];
  88   1       check=1;
  89   1       while(1)
  90   1       {
  91   2        init();
  92   2        TH0=(65536-844)/256;
  93   2        TL0=(65536-844)%256;
  94   2        while(check);
  95   2        TR0=1;
  96   2        while(!endflag);
  97   2        display();
  98   2        beep=0;
  99   2        delay_50ms(1);
 100   2        beep=1;
 101   2        }
 102   1         }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    280    ----
   CONSTANT SIZE    =     11    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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