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

📄 ir_america_recieve.lst

📁 红外对射dfgdhfghfghfhh 矗二直矸直
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V6.23a  IR_AMERICA_RECIEVE                                                    04/29/2006 17:18:19 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE IR_AMERICA_RECIEVE
OBJECT MODULE PLACED IN Ir_America_Recieve.OBJ
COMPILER INVOKED BY: D:\soft\Keil\C51\BIN\C51.EXE Ir_America_Recieve.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include "AT892051.H"
   2          #define uchar unsigned char
   3          #define uint  unsigned int
   4          bit wave_flag = 1;
   5          bit alarm;
   6          bit led_flash_switch = 0;
   7          bit delay_one_flag = 0;
   8          bit one_two_pulse;
   9          bit beam_pulse_switch;
  10          
  11          uchar state_pulse;
  12          uchar led_count = 0;
  13          uchar syn_alarm;
  14          uchar syn_timer;
  15          uchar beam_num;
  16          uchar beam_num_tmp;
  17          uint recieve_flag = 0;
  18          uint recieve_flag_tmp;
  19          uchar one_two_timer;
  20          uchar one_two_timer_value = 30;
  21          uchar beam_pulse_counter = 1;
  22          
  23          uint  double_alarm_flag[9] = {0x00ff,0x027f,0x033f,0x039f,0x03cf,0x03e7,0x03f3,
  24                                                                0x03f9,0x03fc};
  25          void timer1(void) interrupt 3
  26          {
  27   1              wave_flag = 0;
  28   1              alarm = 1;
  29   1      }
  30          void delay_200us(void)
  31          {
  32   1      }
  33          void delay_decode(void)
  34          {
  35   1              uint i;
  36   1              for(i = 0;i<58;i++) {}
  37   1      }
  38          void recieve_fun(void)
  39          {
  40   1               //uint i;
  41   1               //for(i = 0;i<6700;i++) {} // ~33.5ms
  42   1               //PORTD |= BIT1;
  43   1               // 1
  44   1               /*PORTD &=~BIT1;
  45   1                        delay_200us();
  46   1                        PORTD |= BIT1;*/
  47   1               //P1 = 0xff;
  48   1               //P3 |= 0xfc;
  49   1               if(P1_6 == 0)
  50   1               {
  51   2                P3_1 = 0;
  52   2                        delay_200us();
  53   2                        P3_1 = 1;
  54   2                        recieve_flag = (recieve_flag <<1);    // debug 
  55   2                        recieve_flag |= 0x01;
C51 COMPILER V6.23a  IR_AMERICA_RECIEVE                                                    04/29/2006 17:18:19 PAGE 2   

  56   2               }
  57   1               else
  58   1               {
  59   2                  delay_200us();
  60   2                      recieve_flag = (recieve_flag <<1);
  61   2                      recieve_flag |= 0x00;
  62   2               }
  63   1               delay_decode();
  64   1               // 2
  65   1              /*PORTD &=~BIT1;
  66   1                        delay_200us();
  67   1                       PORTD |= BIT1;*/
  68   1               if(P1_7 == 0)
  69   1               {
  70   2               P3_1 = 0;
  71   2                        delay_200us();
  72   2                        P3_1 = 1;
  73   2                        recieve_flag = (recieve_flag <<1);     
  74   2                        recieve_flag |= 0x01;
  75   2               }
  76   1               else
  77   1               {
  78   2                    delay_200us();
  79   2                        recieve_flag = (recieve_flag <<1);     
  80   2                        recieve_flag |= 0x00;
  81   2               }
  82   1                       delay_decode();
  83   1              // 3
  84   1                   /*PORTD &=~BIT1;
  85   1                        delay_200us();
  86   1                        PORTD |= BIT1;*/
  87   1               //P3_5 = 1;
  88   1               if(P3_5 == 0)
  89   1               {
  90   2                P3_1 = 0;
  91   2                        delay_200us();
  92   2                        P3_1 = 1;
  93   2                        recieve_flag = (recieve_flag <<1);     
  94   2                        recieve_flag |= 0x01;
  95   2               }
  96   1               else
  97   1               {
  98   2                    delay_200us();
  99   2                        recieve_flag = (recieve_flag <<1);     
 100   2                        recieve_flag |= 0x00;
 101   2               }
 102   1                       delay_decode();
 103   1      // 4
 104   1                   /*PORTD &=~BIT1;
 105   1                        delay_200us();
 106   1                        PORTD |= BIT1;*/
 107   1               if(P1_1 == 0)
 108   1               {
 109   2                P3_1 = 0;
 110   2                        delay_200us();
 111   2                        P3_1 = 1;
 112   2                        recieve_flag = (recieve_flag <<1);     
 113   2                        recieve_flag |= 0x01;
 114   2               }
 115   1               else
 116   1               {
 117   2                    delay_200us();
C51 COMPILER V6.23a  IR_AMERICA_RECIEVE                                                    04/29/2006 17:18:19 PAGE 3   

 118   2                        recieve_flag = (recieve_flag <<1);     
 119   2                        recieve_flag |= 0x00;
 120   2               }
 121   1                       delay_decode();
 122   1      // 5
 123   1                   /*PORTD &=~BIT1;
 124   1                        delay_200us();
 125   1                        PORTD |= BIT1;*/
 126   1               if(P1_0 == 0)
 127   1               {
 128   2                P3_1 = 0;
 129   2                        delay_200us();
 130   2                        P3_1 = 1;
 131   2                        recieve_flag = (recieve_flag <<1);     
 132   2                        recieve_flag |= 0x01;
 133   2               }
 134   1               else
 135   1               {
 136   2                    delay_200us();
 137   2                        recieve_flag = (recieve_flag <<1);     
 138   2                        recieve_flag |= 0x00;
 139   2               }
 140   1                       delay_decode();        
 141   1      // 6
 142   1                   /*PORTD &=~BIT1;
 143   1                        delay_200us();
 144   1                        PORTD |= BIT1;*/
 145   1               if(P3_7 == 0)
 146   1               {
 147   2                P3_1 = 0;
 148   2                        delay_200us();
 149   2                        P3_1 = 1;
 150   2                        recieve_flag = (recieve_flag <<1);     
 151   2                        recieve_flag |= 0x01;
 152   2               }
 153   1               else
 154   1               {
 155   2                    delay_200us();
 156   2                        recieve_flag = (recieve_flag <<1);     
 157   2                        recieve_flag |= 0x00;
 158   2               }
 159   1                       delay_decode();                
 160   1      // 7
 161   1                   /*PORTD &=~BIT1;
 162   1                        delay_200us();
 163   1                        PORTD |= BIT1;*/
 164   1               if(P1_2 == 0)
 165   1               {
 166   2                P3_1 = 0;
 167   2                        delay_200us();
 168   2                        P3_1 = 1;
 169   2                        recieve_flag = (recieve_flag <<1);     
 170   2                        recieve_flag |= 0x01;
 171   2               }
 172   1               else
 173   1               {
 174   2                    delay_200us();
 175   2                        recieve_flag = (recieve_flag <<1);     
 176   2                        recieve_flag |= 0x00;
 177   2               }
 178   1                       delay_decode();                  
 179   1      // 8
C51 COMPILER V6.23a  IR_AMERICA_RECIEVE                                                    04/29/2006 17:18:19 PAGE 4   

 180   1                   /*PORTD &=~BIT1;
 181   1                        delay_200us();
 182   1                        PORTD |= BIT1;*/
 183   1               if(P1_3 == 0)
 184   1               {
 185   2                P3_1 = 0;
 186   2                        delay_200us();
 187   2                        P3_1 = 1;
 188   2                        recieve_flag = (recieve_flag <<1);     
 189   2                        recieve_flag |= 0x01;
 190   2               }
 191   1               else
 192   1               {
 193   2                    delay_200us();
 194   2                        recieve_flag = (recieve_flag <<1);     
 195   2                        recieve_flag |= 0x00;
 196   2               }
 197   1                       delay_decode();        
 198   1      // 9
 199   1                   /*PORTD &=~BIT1;
 200   1                        delay_200us();
 201   1                        PORTD |= BIT1;*/
 202   1               if(P1_4 == 0)
 203   1               {
 204   2                P3_1 = 0;
 205   2                        delay_200us();
 206   2                        P3_1 = 1;
 207   2                        recieve_flag = (recieve_flag <<1);     
 208   2                        recieve_flag |= 0x01;
 209   2               }
 210   1               else
 211   1               {
 212   2                    delay_200us();
 213   2                        recieve_flag = (recieve_flag <<1);     
 214   2                        recieve_flag |= 0x00;
 215   2               }
 216   1                       delay_decode();                         
 217   1      // 10
 218   1                   /*PORTD &=~BIT1;
 219   1                        delay_200us();
 220   1                        PORTD |= BIT1;*/
 221   1               if(P1_5 == 0)
 222   1               {
 223   2                P3_1 = 0;
 224   2                        delay_200us();
 225   2                        P3_1 = 1;
 226   2                        recieve_flag = (recieve_flag <<1);     
 227   2                        recieve_flag |= 0x01;
 228   2               }
 229   1               else
 230   1               {
 231   2                    delay_200us();
 232   2                        recieve_flag = (recieve_flag <<1);     
 233   2                        recieve_flag |= 0x00;
 234   2               }
 235   1                       delay_decode();                         
 236   1      }
 237          
 238          void syn_judge(void)
 239          {
 240   1               //uint i; 
 241   1               uint count_value_tmp;
C51 COMPILER V6.23a  IR_AMERICA_RECIEVE                                                    04/29/2006 17:18:19 PAGE 5   

 242   1               uint timer1_count_value;
 243   1               //********************************************
 244   1      state_channel:TR1 = 0;
 245   1               TH1 = 0x00;
 246   1               TL1 = 0x00;
 247   1               TF1 = 0;
 248   1               TR1 = 1;
 249   1               syn_timer = 0;
 250   1               state_pulse = 0;
 251   1               one_two_pulse = 0;
 252   1               one_two_timer = 0;
 253   1               // test start
 254   1               do
 255   1               {
 256   2                syn_timer = 0;
 257   2                TR0 = 0;
 258   2                TH0 = 0x00;
 259   2                TL0 = 0x00;
 260   2                TF0 = 0;
 261   2                TR0 = 1;
 262   2            
 263   2                
 264   2              // P1_6 = 1;
 265   2               while(!((P1_6 == 1) && (P1_7 == 1))) {}
 266   2               while(!((P1_6 == 0) || (P1_7 == 0))) 
 267   2               {
 268   3                      if(TF0 == 1) 
 269   3                      {
 270   4                              TF0 = 0;
 271   4                              syn_timer++;
 272   4                              if(syn_timer == 2)
 273   4                              {
 274   5                                      alarm = 1;
 275   5                                      TR0 = 0;

⌨️ 快捷键说明

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