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

📄 key.lst

📁 通过键盘能分别给步进电机单独运行的速度,同时也能进行差补运行,画直线段,并能返回原点
💻 LST
字号:
C51 COMPILER V7.06   KEY                                                                   10/15/2007 16:28:53 PAGE 1   


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

stmt level    source

   1          //one key detect
   2          #include<reg51.h>
   3          #include<stdio.h>
   4          
   5          unsigned int KEY1,KEY2;
   6          unsigned int KEY3,KEY4;
   7          unsigned int KEY5,KEY6;
   8          unsigned int KEY7,KEY8;
   9          
  10          unsigned char STEPXY[]={0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99};
  11          unsigned int keytmp,tmp;
  12          
  13          void delay(unsigned int i)
  14          {
  15   1         for (;i>0;i--);
  16   1      }
  17          //main()
  18          void KEY_Scaning(void)
  19          {  // unsigned char STEPXY[]={0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99};
  20   1          unsigned int keytmp,tmp;
  21   1          //unsigned int i;
  22   1         P1=0x00;
  23   1        
  24   1       //while(1)
  25   1        {
  26   2           P3=0xff;
  27   2           P3=0xfe;                          //第一行置零
  28   2           tmp=P3;
  29   2               keytmp=tmp&0xf0;              
  30   2           
  31   2               if(keytmp!=0xf0)
  32   2           {
  33   3              delay(10);
  34   3              tmp=P3;                         
  35   3                  keytmp=tmp&0xf0;              
  36   3              if(keytmp!=0xf0) 
  37   3              { 
  38   4                 switch(keytmp)
  39   4                 {
  40   5                    case 0xe0:
  41   5                      KEY1=1;  break;
  42   5                    case 0xd0:
  43   5                      KEY2=1;  break;
  44   5                    case 0xb0:
  45   5                      KEY3=1;  break;
  46   5                    case 0x70:
  47   5                      KEY4=1;  break; 
  48   5                    default :
  49   5                               break;
  50   5                     }
  51   4                   //tmp=P3;
  52   4                      // keytmp=tmp&0xf0;
  53   4                      // while(keytmp!=0xf0)
  54   4                      // {tmp=P3;
  55   4                       // keytmp=tmp&0xf0;}
C51 COMPILER V7.06   KEY                                                                   10/15/2007 16:28:53 PAGE 2   

  56   4                       }
  57   3            }    
  58   2           P3=0xff;
  59   2           P3=0xfd;                        //第二行置零
  60   2           tmp=P3;
  61   2               keytmp=tmp&0xf0;            
  62   2           if(keytmp!=0xf0)
  63   2           {
  64   3              delay(10);
  65   3              tmp=P3;
  66   3                  keytmp=tmp&0xf0; 
  67   3              if(keytmp!=0xf0) 
  68   3              { 
  69   4                     switch(keytmp)
  70   4                 {
  71   5                    case 0xe0:
  72   5                       KEY5=1;  break;
  73   5                    case 0xd0:
  74   5                       KEY6=1;  break;
  75   5                    case 0xb0:
  76   5                       KEY7=1;  break;
  77   5                    case 0x70:  
  78   5                       KEY8=1;  break;
  79   5                    default :
  80   5                                break;
  81   5                     }                  
  82   4              // tmp=P3;
  83   4                       //keytmp=tmp&0xf0;
  84   4                      //while(keytmp!=0xf0)
  85   4                       //{tmp=P3;
  86   4                        //keytmp=tmp&0xf0;}
  87   4                         
  88   4                       }       
  89   3            }   
  90   2         }
  91   1      }
  92          void INT0ISR(void) interrupt 0 using 3
  93          { unsigned char STEPXY[]={0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99};
  94   1         unsigned int i;
  95   1        P1=0x00;
  96   1         EX0=0;   
  97   1         KEY_Scaning();
  98   1       
  99   1         PX0=1;
 100   1         P3=0xfc;
 101   1         
 102   1         if(KEY1==1)
 103   1           { while(1)
 104   2                 {
 105   3                 for (i=0;i<8;i++)
 106   3              {
 107   4                P1=STEPXY[i];
 108   4                delay(5000);            
 109   4                   }
 110   3             }
 111   2              }
 112   1              if(KEY5==1)
 113   1                 { while(1)
 114   2                       { 
 115   3                   
 116   3                        P1=0x00;   
 117   3                  }
C51 COMPILER V7.06   KEY                                                                   10/15/2007 16:28:53 PAGE 3   

 118   2                      }
 119   1                
 120   1                EX0=1;    
 121   1      }       
 122          main()
 123          {  
 124   1         
 125   1          P1=0x00;
 126   1         
 127   1              IP=0x0b;
 128   1              IT0=0;
 129   1              EX0=1;
 130   1          PX0=1;
 131   1              EA=1;
 132   1              P3=0xfc;
 133   1      //      while(1); 
 134   1      }   
 135          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    315    ----
   CONSTANT SIZE    =      8    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     28       8
   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 + -