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

📄 key.lst

📁 本人设计的电磁脉冲油泵的控制程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
  50      =1  extern void *memmove (void *s1, void *s2, int n);
  51      =1  extern void *memset  (void *s, char val, int n);
  52      =1  #pragma RESTORE
  53      =1  
  54      =1  #endif
   5          #include<IOsetup.h>
   1      =1  #ifndef __IOSETUP_H__
   2      =1  #define __IOSETUP_H__
C51 COMPILER V7.06   KEY                                                                   11/18/2005 22:41:13 PAGE 5   

   3      =1  
   4      =1   
   5      =1  #define uint unsigned int
   6      =1  #define uchar unsigned char
   7      =1  
   8      =1  
   9      =1  
  10      =1  sbit SW=P3^2;                   //频率档位切换+按键(1~15HZ)
  11      =1  sbit fchange=P3^3;              //频率档位切换-按键(1~15HZ)
  12      =1  sbit fset=P3^4;                 //启动运行次数按键              
  13      =1  sbit setnum=P3^5;               //运行次数设定按键              
  14      =1  sbit fuel=P3^7;                 //油泵输出
  15      =1  sbit enable0=P3^0;              //显示第一位
  16      =1  sbit enable1=P3^1;      //显示第二位 
  17      =1  
  18      =1  
  19      =1  #endif
   6          
   7           
   8          extern void ShowNum(unsigned char number);
   9          
  10          extern bit  keyflag;
  11          extern bit  keyflag1;   
  12          
  13          extern uchar keynet;
  14          extern uchar number;
  15          extern uint numb;
  16          extern uchar keynum;
  17          extern uint time;
  18          extern uchar ID; 
  19          extern uint num; 
  20          extern uint period;
  21          extern uchar high;
  22          extern uchar tcount,second,minute,hour;
  23          extern char i;
  24          
  25          void key(void)
  26          {
  27   1          if(SW==0&&keyflag==0)               //频率增加键
  28   1              {  
  29   2                  keyflag=1;fuel=1;
  30   2                      while(1)
  31   2                      {                                         
  32   3                       TR0=0;
  33   3                       if(SW==1)
  34   3                               {
  35   4                                       time=0;
  36   4                                       number=0;
  37   4                       keynet=0;
  38   4                                       keyflag=0;
  39   4                                       keyflag1=1;
  40   4                                       TR0=0;
  41   4                                       break;
  42   4                               }
  43   3               }i++;//if(i>14){i=0;} 
  44   2              }  
  45   1              if(fchange==0&&keyflag==0)              //频率减小键
  46   1              {  
  47   2                  keyflag=1;fuel=1;
  48   2                      while(1)
  49   2                      {                                         
  50   3                       TR0=0;
C51 COMPILER V7.06   KEY                                                                   11/18/2005 22:41:13 PAGE 6   

  51   3                       if(fchange==1)
  52   3                               {
  53   4                                       time=0;
  54   4                                       number=0;
  55   4                       keynet=0;
  56   4                                       keyflag=0;
  57   4                                       keyflag1=1;
  58   4                                       TR0=0;
  59   4                                       break;
  60   4                               }
  61   3               }i--;if(i<0){i=14;} 
  62   2              }
  63   1              if(fset==0&&keyflag==0)         //启动设定工作次数键
  64   1              {  
  65   2                  keyflag=1;fuel=1;
  66   2                      while(1)
  67   2                      {                                         
  68   3                       TR0=0;
  69   3                       if(fset==1)
  70   3                               {
  71   4                                       time=0;
  72   4                                       number=0;
  73   4                       keynet=1;
  74   4                                       keyflag=0;
  75   4                                       keyflag1=1;
  76   4                                       TR0=0;
  77   4                                       break;
  78   4                               }
  79   3               }
  80   2              }
  81   1      } 
C51 COMPILER V7.06   KEY                                                                   11/18/2005 22:41:13 PAGE 7   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION key (BEGIN)
                                           ; SOURCE LINE # 25
                                           ; SOURCE LINE # 26
                                           ; SOURCE LINE # 27
0000 20B21D            JB      SW,?C0001
0003 20001A      E     JB      keyflag,?C0001
                                           ; SOURCE LINE # 28
                                           ; SOURCE LINE # 29
0006 D200        E     SETB    keyflag
0008 D2B7              SETB    fuel
000A         ?C0002:
                                           ; SOURCE LINE # 30
                                           ; SOURCE LINE # 31
                                           ; SOURCE LINE # 32
000A C28C              CLR     TR0
                                           ; SOURCE LINE # 33
000C 30B2FB            JNB     SW,?C0002
                                           ; SOURCE LINE # 34
                                           ; SOURCE LINE # 35
000F E4                CLR     A
0010 F500        E     MOV     time,A
0012 F500        E     MOV     time+01H,A
                                           ; SOURCE LINE # 36
0014 F500        E     MOV     number,A
                                           ; SOURCE LINE # 37
0016 F500        E     MOV     keynet,A
                                           ; SOURCE LINE # 38
0018 C200        E     CLR     keyflag
                                           ; SOURCE LINE # 39
001A D200        E     SETB    keyflag1
                                           ; SOURCE LINE # 40
001C C28C              CLR     TR0
                                           ; SOURCE LINE # 41
                                           ; SOURCE LINE # 42
                                           ; SOURCE LINE # 43
001E         ?C0003:
001E 0500        E     INC     i
                                           ; SOURCE LINE # 44
0020         ?C0001:
                                           ; SOURCE LINE # 45
0020 20B329            JB      fchange,?C0005
0023 200026      E     JB      keyflag,?C0005
                                           ; SOURCE LINE # 46
                                           ; SOURCE LINE # 47
0026 D200        E     SETB    keyflag
0028 D2B7              SETB    fuel
002A         ?C0006:
                                           ; SOURCE LINE # 48
                                           ; SOURCE LINE # 49
                                           ; SOURCE LINE # 50
002A C28C              CLR     TR0
                                           ; SOURCE LINE # 51
002C 30B3FB            JNB     fchange,?C0006
                                           ; SOURCE LINE # 52
                                           ; SOURCE LINE # 53
002F E4                CLR     A
0030 F500        E     MOV     time,A
0032 F500        E     MOV     time+01H,A
                                           ; SOURCE LINE # 54
C51 COMPILER V7.06   KEY                                                                   11/18/2005 22:41:13 PAGE 8   

0034 F500        E     MOV     number,A
                                           ; SOURCE LINE # 55
0036 F500        E     MOV     keynet,A
                                           ; SOURCE LINE # 56
0038 C200        E     CLR     keyflag
                                           ; SOURCE LINE # 57
003A D200        E     SETB    keyflag1
                                           ; SOURCE LINE # 58
003C C28C              CLR     TR0
                                           ; SOURCE LINE # 59
                                           ; SOURCE LINE # 60
                                           ; SOURCE LINE # 61
003E         ?C0007:
003E 1500        E     DEC     i
0040 C3                CLR     C
0041 E500        E     MOV     A,i
0043 6480              XRL     A,#080H
0045 9480              SUBB    A,#080H
0047 5003              JNC     ?C0005
0049 75000E      E     MOV     i,#0EH
                                           ; SOURCE LINE # 62
004C         ?C0005:
                                           ; SOURCE LINE # 63
004C 20B41C            JB      fset,?C0014
004F 200019      E     JB      keyflag,?C0014
                                           ; SOURCE LINE # 64
                                           ; SOURCE LINE # 65
0052 D200        E     SETB    keyflag
0054 D2B7              SETB    fuel
0056         ?C0011:
                                           ; SOURCE LINE # 66
                                           ; SOURCE LINE # 67
                                           ; SOURCE LINE # 68
0056 C28C              CLR     TR0
                                           ; SOURCE LINE # 69
0058 30B4FB            JNB     fset,?C0011
                                           ; SOURCE LINE # 70
                                           ; SOURCE LINE # 71
005B E4                CLR     A
005C F500        E     MOV     time,A
005E F500        E     MOV     time+01H,A
                                           ; SOURCE LINE # 72
0060 F500        E     MOV     number,A
                                           ; SOURCE LINE # 73
0062 750001      E     MOV     keynet,#01H
                                           ; SOURCE LINE # 74
0065 C200        E     CLR     keyflag
                                           ; SOURCE LINE # 75
0067 D200        E     SETB    keyflag1
                                           ; SOURCE LINE # 76
0069 C28C              CLR     TR0
                                           ; SOURCE LINE # 77
                                           ; SOURCE LINE # 78
                                           ; SOURCE LINE # 79
                                           ; SOURCE LINE # 80
                                           ; SOURCE LINE # 81
006B         ?C0014:
006B 22                RET     
             ; FUNCTION key (END)



C51 COMPILER V7.06   KEY                                                                   11/18/2005 22:41:13 PAGE 9   

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