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

📄 ir.lst

📁 51单片机驱动2相步进电机程序。 keil 开发软件。
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V8.15   IR                                                                    11/08/2008 21:01:35 PAGE 1   


C51 COMPILER V8.15, COMPILATION OF MODULE IR
OBJECT MODULE PLACED IN .\OBJ\IR.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SRC\IR.C BROWSE DEBUG OBJECTEXTEND PRINT(.\LST\IR.lst) OBJECT(.\OBJ\IR.obj)

line level    source

   1          /*******************************************************************************/  
   2          #include  "config.h"   
   3          
   4          bit IR_flag0=1;
   5          bit IR_flag1=1;
   6          bit IR_flag2=1;
   7          bit IR_flag3=1;
   8          bit IR_flag4=1;
   9          bit IR_flag5=1;
  10          bit IR_flag6=1;
  11          bit IR_flag7=1; 
  12          
  13          /************************************************************/  
  14          extern  uint16 xdata    ABA,ABB,ABC,ABD,ABE,ABF;  
  15          extern  uint8   display[];  
  16          /************************************************************/    
  17          uint8  xdata  dataIR[5]; 
  18          uint8  xdata  IR_IP0[8];                //(0-1:IP) (2-3:设定IP)(4-7:设定计划数量)
  19          bit    flag=0;
  20          uint8  CA0=0;
  21          uint8  IR_SET=1;                           //1:(正常)  2:(设定IP)  3-8:(设定1-6) 
  22          uint8  IR_IP;                              // IP
  23          
  24          void IR_TASK(void ); 
  25          /************************************************************/
  26          
  27          //bit    ir_flag; 
  28          /*     */
  29          #define KEY_0           0x10
  30          #define KEY_1           0x30
  31          #define KEY_2           0xB0
  32          #define KEY_3           0x70
  33          #define KEY_4           0x08
  34          #define KEY_5           0x88
  35          #define KEY_6           0x48
  36          #define KEY_7           0x28
  37          #define KEY_8           0xA8
  38          #define KEY_9           0x68
  39          
  40          #define KEY_POWER       0x00
  41          #define KEY_CH_DEC      0x80
  42          #define KEY_CH_ADD      0x40
  43          
  44          #define KEY_EQ          0x20
  45          #define KEY_VOL_ADD     0xA0
  46          #define KEY_VOL_DEC     0x60
  47          
  48          #define KEY_ZUO         0x90
  49          #define KEY_YOU         0x50  
  50          
  51          #define KEY_EMPTY       0xFF    
  52          
  53          uchar   Key1;    
  54          uchar   IpDZ=00;                     //对应遥控器IP地址  
  55          
C51 COMPILER V8.15   IR                                                                    11/08/2008 21:01:35 PAGE 2   

  56          /********************************************************************
  57          函 数 名:iR_Receive()
  58          功    能:初始化子程序
  59          说    明:
  60          调    用:
  61          入口参数:
  62          出口参数:
  63          ***********************************************************************/
  64          void delay_100us(void)
  65          {
  66   1         unsigned char i=48;
  67   1         while(--i);
  68   1      }
  69          /********************************************************************
  70          函 数 名:iR_Receive()
  71          功    能:初始化子程序
  72          说    明:
  73          调    用:
  74          入口参数:
  75          出口参数:
  76          ***********************************************************************/
  77          /******************************************/
  78          /*********************外部中断0服务程序**/                       
  79          /*****************************************/ 
  80          static void xint0_isr(void) interrupt IE0_VECTOR 
  81          {
  82   1          unsigned char width;
  83   1          unsigned char i=0;
  84   1      
  85   1          width = 0x00; 
  86   1          INT0 = 1;
  87   1          while(!INT0)  
  88   1          {
  89   2              delay_100us();
  90   2              width++;
  91   2          }
  92   1          if (width < 65)   
  93   1          {
  94   2              return;
  95   2          }
  96   1          
  97   1          width = 0x00;
  98   1          while(INT0)  
  99   1          {
 100   2              delay_100us();
 101   2              width++;  
 102   2          } 
 103   1       
 104   1          if (width < 30)    
 105   1          {
 106   2              return;
 107   2          }
 108   1          // 至此,引导码已校验,以下接收地址码和数据码,一共32位 
 109   1      
 110   1          for(i=0; i<32; i++)    
 111   1                  {
 112   2                      flag = 1;
 113   2                      while(!INT0);  
 114   2                      width = 0x00;
 115   2                      while(INT0)  
 116   2                              {
 117   3                              delay_100us();
C51 COMPILER V8.15   IR                                                                    11/08/2008 21:01:35 PAGE 3   

 118   3                              width++;  
 119   3                              }
 120   2                      dataIR[i/8] <<= 1;
 121   2                      if (width > 0x08)dataIR[i/8] |= 0x01;  
 122   2                               
 123   2                      else dataIR[i/8] &= 0XFE; 
 124   2                  }
 125   1              if ((IpDZ == dataIR[0]) && (dataIR[2] == (~dataIR[3]))) 
 126   1                      { 
 127   2                        
 128   2                              switch (dataIR[2]) 
 129   2                                      {
 130   3                              case KEY_0 :  
 131   3                              case KEY_1 :  
 132   3                              case KEY_2 :  
 133   3                              case KEY_3 :  
 134   3                              case KEY_4 :   
 135   3                          case KEY_5 :  
 136   3                              case KEY_6 :   
 137   3                                              case KEY_7 :  
 138   3                                              case KEY_8 :  
 139   3                                              case KEY_9 :  
 140   3      //                                      case KEY_POWER :  
 141   3                              case KEY_CH_DEC: 
 142   3                                              case KEY_CH_ADD: 
 143   3                                              case KEY_EQ     :  
 144   3                              case KEY_VOL_DEC: 
 145   3                                              case KEY_VOL_ADD:  
 146   3                              case KEY_ZUO     : 
 147   3                                              case KEY_YOU     : 
 148   3                                                      Key1 = dataIR[2];
 149   3                                      break;
 150   3                              default:
 151   3                                      Key1 = KEY_EMPTY;
 152   3                              break;
 153   3                              } 
 154   2                              //*******判断运行/设定*****************************************************
 155   2                              if(dataIR[2]==KEY_POWER)
 156   2                                      { 

⌨️ 快捷键说明

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