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

📄 红外.lst

📁 我自己编码的一个空调红外编码程序,使用的是C语言的精确定时
💻 LST
📖 第 1 页 / 共 2 页
字号:
 173   1                P3_2=0;
 174   1                
 175   1      //发送9ms发始码   
 176   1               for(p=0;p<680;p++)//3us 700*13=9100
 177   1                        {
 178   2                         dataout=!dataout;//1us
 179   2                         _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();//_nop_();_nop_();_nop_();_nop_();_nop_();//1
C51 COMPILER V8.02   红外                                                                  05/03/2007 18:27:29 PAGE 4   

             -2us
 180   2                        }  
 181   1                        
 182   1      //发送4.5ms结果 
 183   1               for(p=0;p<333;p++)//300*13=3900
 184   1                         {dataout=1;
 185   2                              _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();//_nop_();_nop_();_nop_();_nop_();_nop_();//12u
             -s
 186   2                              } 
 187   1                                        
 188   1         
 189   1       for(q=0;q<6;q++)         
 190   1               { showdata=send_data[q];
 191   2                
 192   2                for(n=0;n<=7;n++) //3us
 193   2                  { ACC=showdata;     //1us
 194   3                        if(ACC_7==1) //3us  发送1
 195   3                       {   int l;     //1us  
 196   4                                   for(l=0;l<42;l++)             
 197   4                                  {dataout=!dataout;//1
 198   5                                           _nop_();_nop_();_nop_();_nop_();//_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()
             -;//12us
 199   5                                           }                                                                                            
 200   4                       for(l=0;l<128;l++)//3us 
 201   4                                      {dataout=1;      //1us
 202   5                                           _nop_();_nop_();_nop_();_nop_();//_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()
             -;//12us
 203   5                                          } 
 204   4                            }
 205   3                   else                                         //调制38K信号,发送0;
 206   3                      {     int m;
 207   4                                 for(m=0;m<43;m++)//3us
 208   4                                    {
 209   5                                    dataout=!dataout;//1us
 210   5                                         _nop_();_nop_();_nop_();_nop_();//_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();/
             -/12us
 211   5                                        }  
 212   4      
 213   4                               for(m=0;m<42;m++)
 214   4                                    {dataout=1;
 215   5                                        _nop_();_nop_();_nop_();_nop_();//_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();//
             -12us
 216   5                                        } 
 217   4                              }
 218   3                       showdata=showdata<<1;//7us
 219   3                       }//10us
 220   2                                        
 221   2                       for(n=0;n<45;n++)//3us
 222   2                                    {
 223   3                                    dataout=!dataout;//1us
 224   3                                         _nop_();_nop_();_nop_();_nop_();//_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();/
             -/12us
 225   3                                        }  
 226   2                       P3_2=1;
 227   2                       P3_7=1;                  
 228   2      
 229   2                 }
 230   1              }
 231          /************************************************************
 232          键盘扫描及取键值程序
 233          unsigned char getkeyin(void)
 234          功能:键值放入keyin。
C51 COMPILER V8.02   红外                                                                  05/03/2007 18:27:29 PAGE 5   

 235          ************************************************************/
 236          void  getkeyin(void)
 237           {
 238   1         unsigned char temp;
 239   1         P1=0x0f; 
 240   1         temp=P1;
 241   1         if(temp==0x0f)
 242   1           {
 243   2            kbempty=0;
 244   2       //     keyin=0xff;
 245   2            }
 246   1         
 247   1       
 248   1        // if(kbempty==0&&temp!=0x0f)//按键有松开过 
 249   1        //   {          
 250   1        //     for(i=10;i>0;i--);     //键盘去抖延迟
 251   1      
 252   1      
 253   1         P1=0xef;         //P1^4=0
 254   1         temp=P1;
 255   1         temp=temp&0x0f;
 256   1         if (temp!=0x0f)
 257   1             {             
 258   2              switch(temp)
 259   2                 {
 260   3                  case 0x0e:keyin=3;send();break;   //keyin='3'
 261   3                  case 0x0d:keyin=7;send();break;   //keyin='7'
 262   3                  case 0x0b:keyin=11;send();break;   //keyin='11'
 263   3                  case 0x07:keyin=15;send();break;   //keyin='15'
 264   3                 // default:keyin=0xff;
 265   3                 }
 266   2              kbempty=1;
 267   2              //return(keyin) ;
 268   2             }
 269   1      
 270   1         P1=0xdf;         //P1^5=0
 271   1         temp=P1;
 272   1         temp=temp & 0x0f;
 273   1         if (temp!=0x0f)
 274   1            {
 275   2             switch(temp)
 276   2                    {
 277   3                 case 0x0e:keyin=2;break;    //keyin='2'
 278   3                 case 0x0d:keyin=6;break;    //keyin='6'
 279   3                 case 0x0b:keyin=10;break;    //keyin='10'
 280   3                 case 0x07:keyin=14;break;   //keyin='14'
 281   3               // default:keyin=0xff;
 282   3                }
 283   2            kbempty=1;
 284   2        
 285   2            //return(keyin) ;             
 286   2            }
 287   1      
 288   1         P1=0xbf;         //P1^6=0
 289   1         temp=P1;
 290   1         temp=temp & 0x0f;              
 291   1         if (temp!=0x0f)
 292   1            {
 293   2            switch(temp)
 294   2                    {
 295   3                 case 0x0e:keyin=1;break;    //keyin='1'
 296   3                 case 0x0d:keyin=5;break;    //keyin='5'
C51 COMPILER V8.02   红外                                                                  05/03/2007 18:27:29 PAGE 6   

 297   3                 case 0x0b:keyin=9;break;    //keyin='9'
 298   3                 case 0x07:keyin=13;break;       //keyin='13'
 299   3                // default:keyin=0xff;
 300   3                }
 301   2           kbempty=1;
 302   2        
 303   2           //return(keyin) ;              
 304   2          }
 305   1      
 306   1         P1=0x7f;         //P1^7=0
 307   1         temp=P1;
 308   1         temp=temp & 0x0f;
 309   1         if (temp!=0x0f)
 310   1             {
 311   2             switch(temp)
 312   2                     {
 313   3                  case 0x0e:keyin=0;break;    //keyin='0'
 314   3                  case 0x0d:keyin=4;break;    //keyin='4'      
 315   3                  case 0x0b:keyin=8;break;    //keyin='8'
 316   3                  case 0x07:keyin=12;break;   //keyin='12'
 317   3                //  default:keyin=0xff;
 318   3                 }             
 319   2            kbempty=1;
 320   2            }
 321   1         //return(keyin) ;
 322   1          }
 323          //  keyin=0xff;  
 324            //return(keyin);  
 325           //  }
 326          
 327          
 328          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    886    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     29       5
   IDATA SIZE       =      2    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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