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

📄 remote51_new.lst

📁 最近开发的51单片机多功能 实验板
💻 LST
字号:
C51 COMPILER V8.02   REMOTE51_NEW                                                          02/12/2007 10:05:00 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE REMOTE51_NEW
OBJECT MODULE PLACED IN REMOTE51_NEW.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE REMOTE51_NEW.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <REGX52.H>
   2          #define  D45MS 2500
   3          #define  D09MS 450
   4          #define  D220U 0x90
   5          #define  D250U 0x06
   6          
   7          #define IRIN  P2_0 //红外输入引脚的定义
   8          //#define IRIN  P1_4 //红外输入引脚的定义
   9          //#define IRIN  P2_7
  10          //#define IRGND P2_6
  11          
  12          union myd{
  13                   unsigned long r;
  14                   unsigned char led[4];    
  15            }     ;
  16          union myd k;
  17          unsigned long readir(void);
  18          void delay1(unsigned int nms);
  19          void initTimer(unsigned char st0);
  20          void initTimer1(void); 
  21          unsigned long readir2(void);
  22          extern void lcd_init(void);
  23          extern void lcd_string(char *strpoint); /*在当前显示位置显示LCD 字符串*/
  24          
  25          
  26          unsigned char code remcode[]={0x12,0x90,0xb8,0xf8,0x98,0xd8,0x88,0xe8,0x48,0x68,//0,1-9
  27                                        0xb0,0xa8,0x99,0x00,0x08,0x60,0x02,0x20,
  28                                                                  //VOL+,VOL-,CH+,CH-,POWER,mute,recall,-/--
  29                                                                    0x40,0xa0,0x2a,0xb2,0x50,0x78,0x70,0x58,0x38,0x30};
  30                                                                          //  最后3排AV。。。Freeze。。。video。。。hide。。。panel等
  31          
  32          void int1(void) interrupt 2
  33          { EA = 0;
  34   1        k.r = readir();
  35   1        IE1 = 0;  
  36   1        EA = 1;
  37   1        IE1 = 0;
  38   1      }
  39          
  40          //UART init
  41          void initUart(void)
  42          {
  43   1       TMOD|=0x20;
  44   1       SCON=0x50;
  45   1       // PCON|=0x80;
  46   1       //TH1=0xfd; TL1=0xfd;//11.0592M 9600bps
  47   1      
  48   1       TH1=0xf3; TL1=0xf3;PCON|=0x80;//24M  9600bps
  49   1       TR1=1;
  50   1       ET1=0;
  51   1      }
  52          
  53          int main(void)
  54          { 
  55   1        union myd rdata; 
C51 COMPILER V8.02   REMOTE51_NEW                                                          02/12/2007 10:05:00 PAGE 2   

  56   1        bit IROLD=0; 
  57   1        bit IRNEW=0; 
  58   1        unsigned char m,n,i;
  59   1        unsigned char code seg[]={0x01,0x02,0x04,0x08,0x10,0x00,0x00,0x00};
  60   1        unsigned char code zxm[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
  61   1                    0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff, };
  62   1        unsigned int rekey;
  63   1        unsigned char key, str1[]="Code: --------      SYS:--   USER:--";
  64   1        unsigned char code str2[]="Please press any    key.....";
  65   1        unsigned char idata irdb[128];
  66   1        unsigned char leader[4];
  67   1        initTimer(0);
  68   1        initUart();
  69   1         TI=0;
  70   1         P1=0xff;
  71   1         SBUF = 0xee;while(!TI);TI=0;
  72   1         SBUF= 0x55;
  73   1         while(!TI);TI=0;  
  74   1        IT1=1;
  75   1        EX1=1;
  76   1        EA=0;rekey=0;
  77   1        key=0x10;
  78   1        //lcd_init();
  79   1        //lcd_string(str2);
  80   1        while(1){  
  81   2         IROLD=1;     TR0=0;
  82   2         while(IRIN);
  83   2         while(IROLD){
  84   3           IRIN =1;
  85   3           rekey=0;
  86   3           TR0=0;
  87   3               TH0=0;TL0=0;TR0=1;      
  88   3           while(!IRIN){rekey++;}
  89   3               TR0=0;leader[0]=TH0;leader[1]=TL0;
  90   3               TH0=0;TL0=0;TR0=1;
  91   3               if(rekey>500) {
  92   4                  IROLD=0;
  93   4                      }         
  94   3         }
  95   2                      while(IRIN);   //高电平
  96   2                      TR0=0;
  97   2                      leader[3]=TH0;leader[4]=TL0;
  98   2                      TL0=0x00; TH0=0x00; 
  99   2                      TR0=1;
 100   2         m=0;
 101   2         while(m<127){         
 102   3                      IRIN =1;
 103   3                      while(IRIN==0); //低电平
 104   3                      TR0=0;
 105   3                      irdb[m++]=TH0;
 106   3                      irdb[m++]=TL0;
 107   3                      TL0=0x00;TH0=0x00; 
 108   3                      TR0=1;
 109   3                      while(IRIN);   //高电平
 110   3                      TR0=0;
 111   3                      irdb[m++]=TH0;
 112   3                      irdb[m++]=TL0;            
 113   3                      TL0=0x00; TH0=0x00; 
 114   3                      TR0=1;
 115   3         }
 116   2                        
 117   2         TR0=0;
C51 COMPILER V8.02   REMOTE51_NEW                                                          02/12/2007 10:05:00 PAGE 3   

 118   2         
 119   2         rekey=0;
 120   2              m=0;
 121   2              while(m<4){           
 122   3      
 123   3                SBUF=leader[m++];while(!TI);TI=0;
 124   3                SBUF=leader[m++];while(!TI);TI=0;  
 125   3      
 126   3              } 
 127   2              m=0;
 128   2              while(m<127){         
 129   3      
 130   3                SBUF=irdb[m++];while(!TI);TI=0;
 131   3                SBUF=irdb[m++];while(!TI);TI=0;  
 132   3      
 133   3              }
 134   2         
 135   2         IROLD=0;
 136   2         while(IROLD){
 137   3           IRIN =1;
 138   3           rekey=0;
 139   3           while(IRIN){IRIN =1;rekey++;}
 140   3               if(rekey>500) IROLD=0; 
 141   3         } 
 142   2                TI=0;
 143   2                SBUF=0xaa;while(!TI);TI=0;
 144   2                SBUF=0xbb;while(!TI);TI=0;   
 145   2         rekey=0;
 146   2      
 147   2                        k.r=0;
 148   2        }
 149   1      }
*** WARNING C280 IN LINE 55 OF REMOTE51_NEW.C: 'rdata': unreferenced local variable
*** WARNING C280 IN LINE 58 OF REMOTE51_NEW.C: 'n': unreferenced local variable
*** WARNING C280 IN LINE 58 OF REMOTE51_NEW.C: 'i': unreferenced local variable
*** WARNING C280 IN LINE 59 OF REMOTE51_NEW.C: 'seg': unreferenced local variable
*** WARNING C280 IN LINE 60 OF REMOTE51_NEW.C: 'zxm': unreferenced local variable
*** WARNING C280 IN LINE 64 OF REMOTE51_NEW.C: 'str2': unreferenced local variable
 150          
 151          unsigned long readir2(void)
 152          {  static bit IROLD=0; 
 153   1         bit IRNEW;
 154   1         union myd rem;
 155   1         IRIN =1;
 156   1         IRNEW = IRIN; 
 157   1         if(IRNEW != IROLD)
 158   1         {
 159   2            rem.led[0]=TL0;
 160   2                rem.led[2]=TH0;
 161   2                TL0=0x00;
 162   2                TH0=0x00; 
 163   2                TR1=1;  
 164   2         }
 165   1         else
 166   1         {
 167   2                rem.r=0;
 168   2         }
 169   1         IROLD =IRNEW; 
 170   1         return rem.r;
 171   1      }
 172          
 173          void delay1(unsigned int nms)
C51 COMPILER V8.02   REMOTE51_NEW                                                          02/12/2007 10:05:00 PAGE 4   

 174          {
 175   1        while(nms--); 
 176   1      }
 177          
 178          // 24---220us, 06---250us
 179          void initTimer(unsigned char st0) 
 180          {
 181   1       TMOD=0x01;
 182   1       TH0=st0;
 183   1       TL0=st0; 
 184   1       TR0=0;
 185   1       ET0=0;
 186   1       ET1=0; 
 187   1      }
 188          
 189          void initTimer1(void) 
 190          {
 191   1       TMOD =0x10;
 192   1       TH1=0x00;
 193   1       TL1=0x00; 
 194   1       TR1=0;
 195   1       ET1=0;
 196   1       //ET1=0; 
 197   1      }
 198          
 199          unsigned long readir(void)
 200          {  unsigned char i;
 201   1         unsigned int delay;
 202   1         unsigned long rdata=0;
 203   1         union myd rem;
 204   1         IRIN = 1;   
 205   1         if(IRIN) return 0;
 206   1         EA=0;i=0;
 207   1         initTimer2();TF0=0;
*** WARNING C206 IN LINE 207 OF REMOTE51_NEW.C: 'initTimer2': missing function-prototype
 208   1         while(IRIN==0); 
 209   1       /*    {
 210   1                        while(TF0==0);
 211   1                        TF0=0;i++;
 212   1                        TH0=0xfc;TL0=0x18;  
 213   1               }
 214   1         TR0=0;
 215   1         if (i<6) return i;*/
 216   1         i=32;
 217   1         while(i--) //始接收
 218   1         {  
 219   2            delay =80;
 220   2                initTimer(D220U);
 221   2                while(delay--)  // 延时4.5ms~6.0ms
 222   2                  { 
 223   3                        while(TF0==0);
 224   3                        TF0=0;if(IRIN==0) delay = 0;
 225   3                      }
 226   2                TR0=0;                  
 227   2                while(IRIN==0) IRIN = 1; //等待高电平
 228   2            // 延时0.9ms      begin
 229   2                initTimer(D220U);
 230   2                delay=6;
 231   2                while(delay--)  
 232   2                  {while(TF0==0);TF0=0;}                
 233   2                TR0=0;
 234   2                // 延时0.9ms end
C51 COMPILER V8.02   REMOTE51_NEW                                                          02/12/2007 10:05:00 PAGE 5   

 235   2            rdata <<=1;
 236   2                IRIN =1;
 237   2                if(IRIN)
 238   2                   rdata |= 0x1;
 239   2         }
 240   1         rem.r = rdata;
 241   1         if(rem.r+1) {
 242   2             if (((rem.led[0]+ rem.led[1])== 0xff) &&((rem.led[2]+ rem.led[3])== 0xff)) return rdata;    
 243   2                 else return 0;
 244   2         }
 245   1         else return rdata;
 246   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    787    ----
   CONSTANT SIZE    =    119    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4      61
   IDATA SIZE       =   ----     128
   BIT SIZE         =      1       3
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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