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

📄 switch.lst

📁 车库的接受和发送代码
💻 LST
字号:
C51 COMPILER V7.50   SWITCH                                                                09/30/2007 10:34:12 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE SWITCH
OBJECT MODULE PLACED IN switch.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE switch.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //unsigned char code key[4][4]={{0xff,0xff,0x33,0xcc},{0xff,0xff,0xcc,0x33},{0xff,0xff,0x66,0x99},{0xff,0x
             -ff,0x99,0x66}}
   2          #include<reg767.h>
   3          #include "mydefine.h"
   4          
   5          #define UP_KEY       _CMPREF
   6          #define DOWN_KEY     _CMP1
   7          
   8          
   9          unsigned char Command=0;
  10          unsigned int  Time=65535;
  11          unsigned char Current_ad=0;
  12          unsigned char Light_Ray_ad=0;
  13          
  14          unsigned char Receive_State=0;
  15          unsigned char Back_Receive_char;
  16          unsigned char Up_Key_read_count=0;
  17          unsigned char Down_Key_read_count=0;
  18          unsigned char Msec=0;
  19          
  20          //**************************************************************************//
  21          //                        Comm Interrupt
  22          //**************************************************************************//
  23          void Comm(void) interrupt 4 using 1
  24          {
  25   1              unsigned char Receive_char;
  26   1              if(RI)
  27   1              {
  28   2                  
  29   2                      Receive_char=SBUF;
  30   2                      RI=0;
  31   2                      switch(Receive_State)
  32   2                      {
  33   3                      case 0:
  34   3                          if(Receive_char==0xff)Receive_State=1;
  35   3                                      break;
  36   3                      case 1:
  37   3                          if(Receive_char==0xff)
  38   3                                      {
  39   4                                              Receive_State=1;
  40   4                                      }
  41   3                                      else
  42   3                                      {
  43   4                                          Receive_State=2;
  44   4                                              Back_Receive_char=Receive_char;
  45   4                                      };
  46   3                                      break;
  47   3                       case 2:
  48   3                                  if(Receive_char==0xff)
  49   3                                      {
  50   4                                         Receive_State=1;
  51   4                              }
  52   3                                      else if((~Receive_char)==Back_Receive_char)
  53   3                                      {
  54   4                                          if(Receive_char==0xcc)
C51 COMPILER V7.50   SWITCH                                                                09/30/2007 10:34:12 PAGE 2   

  55   4                                              {
  56   5                                                 Command=UP;
  57   5                                              }
  58   4                                              else if(Receive_char==0x33)
  59   4                                              {
  60   5                                                 Command=DOWN;
  61   5                                              }
  62   4                                              else if(Receive_char==0x99)
  63   4                                          {
  64   5                                                 Command=LIGHT_ON;
  65   5                                              }
  66   4                                              else if(Receive_char==0x66)
  67   4                                              {
  68   5                                                 Command=LIGHT_OFF;
  69   5                                              };
  70   4                                          Receive_State=0;
  71   4                                      }
  72   3                                      else
  73   3                                      {
  74   4                                              Receive_State=0;
  75   4              
  76   4                                      };
  77   3                                      break;
  78   3                      };
  79   2                }
  80   1            TI=0;
  81   1      }
  82          //**************************************************************************//
  83          //                        Timer0 Interrupt                 100ms
  84          //**************************************************************************//
  85          void Timer0(void) interrupt 1 using 2
  86          {
  87   1      
  88   1                 TL0  =0xb0;
  89   1                 TH0  =0x3c;
  90   1      //_____________________read current____________________
  91   1      
  92   1             ADCON|=0;                          //????
  93   1             ADCS=1;
  94   1             while(!ADCI);
  95   1             Current_ad=DAC0;
  96   1                 ADCI=0;
  97   1                 ADCON&=0xfc;
  98   1      //_____________________read light ray__________________     
  99   1             ADCON|=1;
 100   1             ADCS=1;                            //?????
 101   1             while(!ADCI);
 102   1             Light_Ray_ad=DAC0;
 103   1                 ADCI=0;
 104   1                 ADCON&=0xfc;
 105   1      //_____________________read  key_______________________
 106   1                 if(UP_KEY==0)
 107   1                 {
 108   2                       if(Up_Key_read_count<KEY_DELAY)Up_Key_read_count++;
 109   2                 }
 110   1                 else
 111   1                 {
 112   2                       if(Up_Key_read_count>KEY_DELAY)
 113   2                       {
 114   3                           Command=UP;
 115   3                       };
 116   2                       Up_Key_read_count=0;
C51 COMPILER V7.50   SWITCH                                                                09/30/2007 10:34:12 PAGE 3   

 117   2      
 118   2                 };
 119   1      
 120   1      
 121   1                 if(DOWN_KEY==0)
 122   1                 {
 123   2                       if(Down_Key_read_count<KEY_DELAY)Down_Key_read_count++;
 124   2                 }
 125   1                 else
 126   1                 {
 127   2                       if(Down_Key_read_count>KEY_DELAY)
 128   2                       {
 129   3                           Command=DOWN;;
 130   3                       };
 131   2                       Down_Key_read_count=0;
 132   2      
 133   2                 };
 134   1      //_____________________timer count________________________ 
 135   1                Msec++;
 136   1                if(Msec>9)
 137   1                {
 138   2                              Msec=0;
 139   2                              if(Time<LIGHT_DELAY)Time++;
 140   2                };
 141   1      
 142   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    228    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     10    ----
   IDATA SIZE       =   ----    ----
   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 + -