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

📄 key.lst

📁 系统采用51单片机
💻 LST
📖 第 1 页 / 共 2 页
字号:
  30      =2  //主机通过I2C总线向从机发送1个字节的数据
  31      =2  bit I2C_Put(unsigned char SlaveAddr, unsigned char SubAddr, char dat);
  32      =2  
  33      =2  
  34      =2  //主机通过I2C总线从从机接收多个字节的数据
  35      =2  bit I2C_Gets(unsigned char SlaveAddr, unsigned char SubAddr, unsigned char Size, char *dat);
  36      =2  
  37      =2  
  38      =2  //主机通过I2C总线从从机接收1个字节的数据
  39      =2  bit I2C_Get(unsigned char SlaveAddr, unsigned char SubAddr, char *dat);
  40      =2  
  41      =2  
  42      =2  #endif
  43      =2  
  15      =1  #include "key.h"
   1      =2  #ifndef _KEY_H
   2      =2  #define _KEY_H
   3      =2  
   4      =2  //定义按键
   5      =2  sbit KEY1 = P3^2;               //按键1
   6      =2  sbit KEY2 = P3^3;               //按键2
   7      =2  
   8      =2  sbit Buzzer=P2^4;//????
   9      =2  
  10      =2  #define TemperatureMax 50
  11      =2  
  12      =2  #define TemperatureMin 5
  13      =2  
  14      =2  void INTInit();
C51 COMPILER V8.16   KEY                                                                   10/04/2008 14:53:01 PAGE 6   

  15      =2  
  16      =2  #endif
  17      =2  
  16      =1  
  17      =1  sbit LEDCool = P2^0;    //定义LED由P0.0控制
  18      =1  sbit LEDHot = P2^1;         //定义LED由P0.0控制
  19      =1  sbit LEDSet = P2^2;     //定义LED由P0.0控制
  20      =1  
  21      =1  
  22      =1  //unsigned char Temperature_Set;//设定温度
  23      =1  
  24      =1  #endif
   2          
   3          //KEY1  ---INT0 +
   4          //KEY2  ---INT2 -
   5          /*
   6          函数:INT0SVC()
   7          功能:外部中断INT0服务函数
   8          */
   9          int Temperature_Set;//设定温度
  10          
  11          void INT0SVC() interrupt 0
  12          {
  13   1         Buzzer = 0;    
  14   1         Delay(500);
  15   1         Temperature_Set++;
  16   1         if(Temperature_Set>=TemperatureMax)
  17   1         {
  18   2         Temperature_Set=50;
  19   2         }
  20   1         Buzzer = 1;
  21   1              //if (KEY1)
  22   1              //{
  23   1          //while(KEY1)
  24   1          // {;}
  25   1          //printf("Key1=%ud",KEY1);
  26   1              //Temperature_Set++;
  27   1              //Buzzer = 0;   
  28   1              //Delay(10);
  29   1              //Buzzer = 1;   
  30   1              //}
  31   1      }
  32          
  33          
  34          /*
  35          函数:INT1SVC()
  36          功能:外部中断INT1服务函数
  37          */
  38          void INT1SVC() interrupt 2
  39          {
  40   1         Buzzer = 0;    
  41   1         Delay(500);
  42   1         Temperature_Set--;
  43   1         if(Temperature_Set<=TemperatureMin)
  44   1         {
  45   2         Temperature_Set=5;
  46   2         }
  47   1         Buzzer = 1;
  48   1              //Delay(10);
  49   1              //if (1==KEY2)
  50   1              //{
  51   1          // while(1==KEY2)
C51 COMPILER V8.16   KEY                                                                   10/04/2008 14:53:01 PAGE 7   

  52   1          // {;}
  53   1              //Temperature_Set--;
  54   1              //Buzzer = 0;   
  55   1              //Delay(10);
  56   1              //Buzzer = 1;   
  57   1              //}
  58   1      }
  59          
  60          
  61          /*
  62          函数:SysInit()
  63          功能:系统初始化
  64          */
  65          void INTInit()
  66          {
  67   1              EX0 = 1;        //使能/INT0中断
  68   1              EX1 = 1;        //使能/INT1中断
  69   1      }
  70          
  71          
  72          
  73          
C51 COMPILER V8.16   KEY                                                                   10/04/2008 14:53:01 PAGE 8   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION INT0SVC (BEGIN)
0000 C0E0              PUSH    ACC
0002 C0F0              PUSH    B
0004 C083              PUSH    DPH
0006 C082              PUSH    DPL
0008 C0D0              PUSH    PSW
000A 75D000            MOV     PSW,#00H
000D C000              PUSH    AR0
000F C001              PUSH    AR1
0011 C002              PUSH    AR2
0013 C003              PUSH    AR3
0015 C004              PUSH    AR4
0017 C005              PUSH    AR5
0019 C006              PUSH    AR6
001B C007              PUSH    AR7
                                           ; SOURCE LINE # 11
                                           ; SOURCE LINE # 13
001D C2A4              CLR     Buzzer
                                           ; SOURCE LINE # 14
001F 7FF4              MOV     R7,#0F4H
0021 7E01              MOV     R6,#01H
0023 120000      E     LCALL   _Delay
                                           ; SOURCE LINE # 15
0026 0500        R     INC     Temperature_Set+01H
0028 E500        R     MOV     A,Temperature_Set+01H
002A 7002              JNZ     ?C0006
002C 0500        R     INC     Temperature_Set
002E         ?C0006:
                                           ; SOURCE LINE # 16
002E C3                CLR     C
002F 9432              SUBB    A,#032H
0031 E500        R     MOV     A,Temperature_Set
0033 6480              XRL     A,#080H
0035 9480              SUBB    A,#080H
0037 4006              JC      ?C0001
                                           ; SOURCE LINE # 17
                                           ; SOURCE LINE # 18
0039 750000      R     MOV     Temperature_Set,#00H
003C 750032      R     MOV     Temperature_Set+01H,#032H
                                           ; SOURCE LINE # 19
003F         ?C0001:
                                           ; SOURCE LINE # 20
003F D2A4              SETB    Buzzer
                                           ; SOURCE LINE # 31
0041 D007              POP     AR7
0043 D006              POP     AR6
0045 D005              POP     AR5
0047 D004              POP     AR4
0049 D003              POP     AR3
004B D002              POP     AR2
004D D001              POP     AR1
004F D000              POP     AR0
0051 D0D0              POP     PSW
0053 D082              POP     DPL
0055 D083              POP     DPH
0057 D0F0              POP     B
0059 D0E0              POP     ACC
005B 32                RETI    
             ; FUNCTION INT0SVC (END)
C51 COMPILER V8.16   KEY                                                                   10/04/2008 14:53:01 PAGE 9   


             ; FUNCTION INT1SVC (BEGIN)
0000 C0E0              PUSH    ACC
0002 C0F0              PUSH    B
0004 C083              PUSH    DPH
0006 C082              PUSH    DPL
0008 C0D0              PUSH    PSW
000A 75D000            MOV     PSW,#00H
000D C000              PUSH    AR0
000F C001              PUSH    AR1
0011 C002              PUSH    AR2
0013 C003              PUSH    AR3
0015 C004              PUSH    AR4
0017 C005              PUSH    AR5
0019 C006              PUSH    AR6
001B C007              PUSH    AR7
                                           ; SOURCE LINE # 38
                                           ; SOURCE LINE # 40
001D C2A4              CLR     Buzzer
                                           ; SOURCE LINE # 41
001F 7FF4              MOV     R7,#0F4H
0021 7E01              MOV     R6,#01H
0023 120000      E     LCALL   _Delay
                                           ; SOURCE LINE # 42
0026 E500        R     MOV     A,Temperature_Set+01H
0028 1500        R     DEC     Temperature_Set+01H
002A 7002              JNZ     ?C0007
002C 1500        R     DEC     Temperature_Set
002E         ?C0007:
                                           ; SOURCE LINE # 43
002E D3                SETB    C
002F E500        R     MOV     A,Temperature_Set+01H
0031 9405              SUBB    A,#05H
0033 E500        R     MOV     A,Temperature_Set
0035 6480              XRL     A,#080H
0037 9480              SUBB    A,#080H
0039 5006              JNC     ?C0003
                                           ; SOURCE LINE # 44
                                           ; SOURCE LINE # 45
003B 750000      R     MOV     Temperature_Set,#00H
003E 750005      R     MOV     Temperature_Set+01H,#05H
                                           ; SOURCE LINE # 46
0041         ?C0003:
                                           ; SOURCE LINE # 47
0041 D2A4              SETB    Buzzer
                                           ; SOURCE LINE # 58
0043 D007              POP     AR7
0045 D006              POP     AR6
0047 D005              POP     AR5
0049 D004              POP     AR4
004B D003              POP     AR3
004D D002              POP     AR2
004F D001              POP     AR1
0051 D000              POP     AR0
0053 D0D0              POP     PSW
0055 D082              POP     DPL
0057 D083              POP     DPH
0059 D0F0              POP     B
005B D0E0              POP     ACC
005D 32                RETI    
             ; FUNCTION INT1SVC (END)

C51 COMPILER V8.16   KEY                                                                   10/04/2008 14:53:01 PAGE 10  

             ; FUNCTION INTInit (BEGIN)
                                           ; SOURCE LINE # 65
                                           ; SOURCE LINE # 66
                                           ; SOURCE LINE # 67
0000 D2A8              SETB    EX0
                                           ; SOURCE LINE # 68
0002 D2AA              SETB    EX1
                                           ; SOURCE LINE # 69
0004 22                RET     
             ; FUNCTION INTInit (END)

C51 COMPILER V8.16   KEY                                                                   10/04/2008 14:53:01 PAGE 11  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
INTInit. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
Buzzer . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A4H  1
INT0SVC. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
INT1SVC. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
Temperature_Set. . . . . . . . . . . .  PUBLIC   DATA   INT      0000H  2
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
_Delay . . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----


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