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

📄 红外.lst

📁 一种空调的红外线解码源代码
💻 LST
字号:
C51 COMPILER V8.02   红外                                                                  05/05/2007 19:24:29 PAGE 1   


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

line level    source

   1          #include <at89x51.H>
   2          #define IR_SYSCODE 0x00
   3          #define SEGMENT P0
   4          #define BIT_LED P2
   5          
   6          void  delay_100us(void);
   7          void key_process(void);
   8          void ir_init(void) ;
   9          void display(void) ;
  10          void breakdata(void);
  11          void delay1s(void);
  12          
  13          unsigned char ir_data;
  14          bit ir_flag;
  15          unsigned char ir_repeat;
  16          
  17          unsigned char data display_bit,display_buffer[8];
  18          unsigned char data time0_h,time0_l;
  19          unsigned int idata time0_times;
  20          
  21          unsigned int showdata;
  22          unsigned char data TEMP;
  23          int *point;
  24          unsigned int shdata;
  25          unsigned int keyin;
  26          unsigned int kbempty;
  27          unsigned char dataIR[6];//dataIR 0:syscode0
  28          unsigned char width;    //       1:syscode1
  29          
  30          
  31          /**********************主程序********************************************************/
  32          void main( void)  
  33                {int q;
  34   1                 ir_init();
  35   1                 for(q=0;q<5;q++)
  36   1                  {   P0_7=1;
  37   2                         delay1s();
  38   2                         P0_7=0;
  39   2                         delay1s();
  40   2                      }
  41   1                 while(1)
  42   1                        {unsigned int l,m;
  43   2                         for(m=0;m<6;m++)
  44   2                            {for(l=0;l<2000;l++)
  45   3                               {showdata=dataIR[m];
  46   4                                       display();
  47   4                                    }
  48   3                                 }
  49   2                                        
  50   2                         //display();
  51   2                         
  52   2                         
  53   2                         /*1showdata=dataIR[1];
  54   2                 display();
  55   2                 delay1s();
C51 COMPILER V8.02   红外                                                                  05/05/2007 19:24:29 PAGE 2   

  56   2                         showdata=dataIR[2];
  57   2                         display();
  58   2                 delay1s();
  59   2                         showdata=dataIR[3];
  60   2                         display();
  61   2                 delay1s();
  62   2                         showdata=dataIR[4];
  63   2                         display();
  64   2                 delay1s();
  65   2                         showdata=dataIR[5];
  66   2                         display();
  67   2                         delay1s();*/
  68   2                        }
  69   1                          
  70   1                 }
  71          void ir_init(void)
  72                {
  73   1             IE = 0x00;
  74   1             EA = 1;
  75   1             IT1 = 1;
  76   1             EX1 = 1;    /* Enable External Interrupt1 INT1 */ 
  77   1             ir_flag = 0;   /* Initialize ir_flag, Receive success mark. */
  78   1             ir_repeat = 0;   /* Initialize ir_repeat, Repear mark. */
  79   1             ir_data = 0;
  80   1                 display_bit=1;
  81   1                 dataIR[6]=0X00;
  82   1             }
  83          /***************中断程序*****************************************/
  84          void ir_svr(void) interrupt 2
  85                 {
  86   1                 
  87   1             unsigned char i=0;      //       2:data
  88   1             EX1 = 0;                //       3:data negation
  89   1             width = 0x00;           //       4:oxoo end-mark     
  90   1      
  91   1            while(!P3_3) /* 计算引导电平的宽度 , 常规状态下INT1为高电平,由高电平跳变为低电平时(即下降沿)产生中

⌨️ 快捷键说明

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