1030.lst

来自「单片机红外解码及无线解码的应用」· LST 代码 · 共 237 行

LST
237
字号
C51 COMPILER V7.01  1030                                                                   12/12/2005 21:45:26 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE 1030
OBJECT MODULE PLACED IN 1030.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1030.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //xing 2005/12/11
   2          
   3          #include <YAOKONG.h>
   4          
   5          uchar message=0;
   6          uchar serior[4]={0xAA,0X55,0XA5,0X00};
   7          uchar VT=0;
   8          uchar data1,data2,time;
   9          
  10          void delay(void)
  11          {
  12   1      uchar j,k;
  13   1      //for(i=0;i<1;i++)
  14   1      for (j=0;j<50;j++)
  15   1      for (k=0;k<50;k++);
  16   1      }
  17          
  18          void openTimer0(void)
  19          {
  20   1      time=0;
  21   1      TH0=0x3C;
  22   1      TL0=0xB0;
  23   1      TR0=1;
  24   1      }
  25          
  26          
  27          
  28          void int0 (void) interrupt 0
  29          {
  30   1      if (message==waitedata1) 
  31   1      {
  32   2      data1=dataBUS;
  33   2      
  34   2      message=waitedata2;
  35   2      openTimer0();
  36   2      }
  37   1      else
  38   1      if (message==waitedata2) 
  39   1      {
  40   2      data2=dataBUS;
  41   2      TR0=0;//closeTimer0();
  42   2      message=receiveOver;
  43   2      }
  44   1      }
  45          
  46          void timer0 (void) interrupt 1
  47          {
  48   1      if (time<40) time++;
  49   1      else
  50   1      {
  51   2      time=0;
  52   2      message=waitedata1;
  53   2      TR0=0;
  54   2      }
  55   1      }
C51 COMPILER V7.01  1030                                                                   12/12/2005 21:45:26 PAGE 2   

  56          
  57          void receive (void) interrupt 4
  58          {
  59   1      if (TI==1)
  60   1      TI=0;
  61   1      else
  62   1      RI=0;
  63   1      }
  64          
  65          
  66          
  67          
  68          
  69          initial ()
  70          {
  71   1      P0=0X00;
  72   1      P1&=0XC0;
  73   1      data1=0;
  74   1      data2=0;
  75   1      SCON=0X50;
  76   1      TMOD=0x21;
  77   1      TH1=0xF3;//0xF3;2400
  78   1      TL1=0xF3;
  79   1      TR1=1;
  80   1      IT0=1;//下降沿
  81   1      PX0=1;
  82   1      EA=1;
  83   1      ES=1;
  84   1      EX0=1;
  85   1      ET0=1;
  86   1      }
  87          
  88          
  89          void sendstring (uchar *p ,uchar len)
  90          {
  91   1      uchar i;
  92   1      for (i=0;i<len;i++)
  93   1      {
  94   2      SBUF=*(p++);
  95   2      delay();
  96   2      }
  97   1      }
  98          
  99          void delay1(void)
 100          {
 101   1      uchar j,k;
 102   1      for (j=0;j<200;j++)
 103   1      for (k=0;k<250;k++);
 104   1      }
 105          
 106          void action(void)
 107                  {
 108   1              data1&=0X0F;
 109   1              data2&=0X0F;
 110   1              data2=data2+(data1<<4);
 111   1              switch (data2)
 112   1                              {
 113   2                              case 0x31:      
 114   2                                                      JK12=!JK12;                             
 115   2                                                      break;          
 116   2                              case 0x34:      
 117   2                                                      JK11=!JK11;                             
C51 COMPILER V7.01  1030                                                                   12/12/2005 21:45:26 PAGE 3   

 118   2                                                      break;
 119   2                              case 0x32:      
 120   2                                                      serior[3]=0x04; 
 121   2                                                      sendstring (serior,4);
 122   2                                                      while(NOT_VT==0)
 123   2                                                      {
 124   3                                                      delay1();
 125   3                                                      sendstring (serior,4);
 126   3                                                      }
 127   2                                                      JK12=!JK12;
 128   2                                                      break;
 129   2                              case 0x38:      
 130   2                                                      /*serior[3]=0x02;       
 131   2                                                      sendstring (serior,4);
 132   2                                                      while(NOT_VT==0)
 133   2                                                      {
 134   2                                                      delay1();
 135   2                                                      sendstring (serior,4);
 136   2                                                      }*/
 137   2                                                      JK13=!JK13;
 138   2                                                      break;
 139   2                              case 0x01:      
 140   2                                                      JK14=1; 
 141   2                                                      while(NOT_VT==0);
 142   2                                                      JK14=0;                         
 143   2                                                      break;
 144   2      
 145   2                              default :   //JK9=!JK9;
 146   2                                                      break;
 147   2                              }       
 148   1                      message=waitedata1;
 149   1                      }
 150          
 151          void temperature(void)
 152          {
 153   1              unsigned int  temper ;
 154   1              uchar tempture;
 155   1              uchar giveout ;
 156   1              temper=0;
 157   1              giveout=0;
 158   1      while(temperBit==1)
 159   1              {
 160   2              if (message==receiveOver)
 161   2                      {
 162   3                      action();
 163   3                      giveout=1;
 164   3                      }
 165   2              }
 166   1      while(temperBit==0)
 167   1              {
 168   2              if (message==receiveOver)
 169   2                      {
 170   3                      action();
 171   3                      giveout=1;
 172   3                      }
 173   2              }
 174   1      while(temperBit==1) 
 175   1              {
 176   2              if (message==receiveOver)
 177   2                      {
 178   3                      action();
 179   3                      giveout=1;
C51 COMPILER V7.01  1030                                                                   12/12/2005 21:45:26 PAGE 4   

 180   3                      }       
 181   2              else
 182   2              temper++;
 183   2              }
 184   1      if (temper>300) temper=300;
 185   1      else
 186   1      if (temper<175) temper=175;
 187   1      temper-=175;
 188   1      tempture=temperatur[temper];
 189   1      }
 190          
 191          void main(void)
 192          {
 193   1      initial();
 194   1      while(1)
 195   1      {
 196   2      if (message==receiveOver)
 197   2                      {
 198   3                      action();       
 199   3                      }
 200   2      else            
 201   2              temperature();  
 202   2              
 203   2      }
 204   1      
 205   1      }
 206          
 207                          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    409    ----
   CONSTANT SIZE    =    127    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      9       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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