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

📄 main.lst

📁 keilc关于LM75A温度计的使用例程
💻 LST
📖 第 1 页 / 共 5 页
字号:
A51 MACRO ASSEMBLER  MAIN                                                                 06/23/2006 11:55:35 PAGE     1


MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN main.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE main.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;*************************************************************************
                       2     ;       main.c
                       3     ;       LM75A数字温度计
                       4     ;*************************************************************************
                       5     
                       6     
                       7     ;*************************************************************************
                       8     ;复位和中断向量入口
                       9     ;*************************************************************************
                      10     ;复位入口
0000                  11             ORG     0x0000
0000 0202CB           12             LJMP    PreMain
                      13     ;T1中断入口:
001B                  14             ORG     0x001B
001B 02004A           15             LJMP    T1INTSVC
                      16     
                      17     
                      18     ;*************************************************************************
                      19     ;定义全局BIT、IRAM变量的分配起始符号
                      20     ;*************************************************************************
  0010                21     GLOBAL_BIT      SET     0x22.0
  0030                22     GLOBAL_IRAM     SET     0x30
                      23     
                      24     
                      25     ;*************************************************************************
                      26     ;文件包含
                      27     ;*************************************************************************
                      28     ;$include (Branch.INC) ;分支判断
                +1    29     ;*************************************************************************
                +1    30     ;实用的8051单片机分支判断程序
                +1    31     ;直接对应于C语言中的条件判断语句(相反条件)
                +1    32     ;适用于Keil C51编译器
                +1    33     ;*************************************************************************
                +1    34     
                +1    35     
                +1    36     ;*************************************************************************
                +1    37     ;宏定义:BEQ_B(Branch if Equal)
                +1    38     ;功能:两个位变量比较,如果相等则跳转
                +1    39     ;参数:
                +1    40     ;       b1,b2:要比较的两个位变量(或者位变量与位常量比较)
                +1    41     ;       Label:跳转目标
                +1    42     ;*************************************************************************
                +1    43     BEQ_B   MACRO   b1, b2, Label
                +1    44     LOCAL   next
                +1    45             MOV     C, b2
                +1    46             JNB     b1, next
                +1    47             CPL     C
                +1    48     next:
                +1    49             JNC     Label
                +1    50             ENDM
                +1    51     
                +1    52     
                +1    53     ;*************************************************************************
                +1    54     ;宏定义:BNE_B(Branch if Not Equal)
                +1    55     ;功能:两个位变量比较,如果不相等则跳转
                +1    56     ;参数:
                +1    57     ;       b1,b2:要比较的两个位变量(或者位变量与位常量比较)
                +1    58     ;       Label:跳转目标
A51 MACRO ASSEMBLER  MAIN                                                                 06/23/2006 11:55:35 PAGE     2

                +1    59     ;*************************************************************************
                +1    60     BNE_B   MACRO   b1, b2, Label
                +1    61     LOCAL   next
                +1    62             MOV     C, b2
                +1    63             JNB     b1, next
                +1    64             CPL     C
                +1    65     next:
                +1    66             JC      Label
                +1    67             ENDM
                +1    68     
                +1    69     
                +1    70     ;*************************************************************************
                +1    71     ;宏定义:BEQ(Branch if Equal)
                +1    72     ;功能:单字节数比较,如果相等则跳转
                +1    73     ;参数:
                +1    74     ;       x,y:要比较的两个数
                +1    75     ;       Label:跳转目标
                +1    76     ;*************************************************************************
                +1    77     BEQ     MACRO   x, y, Label
                +1    78             MOV     A, x
                +1    79             XRL     A, y
                +1    80             JZ      Label
                +1    81             ENDM
                +1    82     
                +1    83     
                +1    84     ;*************************************************************************
                +1    85     ;宏定义:BNE(Branch if Not Equal)
                +1    86     ;功能:单字节数比较,如果不相等则跳转
                +1    87     ;参数:
                +1    88     ;       x,y:要比较的两个数
                +1    89     ;       Label:跳转目标
                +1    90     ;*************************************************************************
                +1    91     BNE     MACRO   x, y, Label
                +1    92             MOV     A, x
                +1    93             CJNE    A, y, Label
                +1    94             ENDM
                +1    95     
                +1    96     
                +1    97     ;*************************************************************************
                +1    98     ;宏定义:BHS(Branch if High or Same)
                +1    99     ;功能:单字节无符号数比较,如果大于或等于则跳转
                +1   100     ;参数:
                +1   101     ;       x,y:要比较的两个数
                +1   102     ;       Label:跳转目标
                +1   103     ;*************************************************************************
                +1   104     BHS     MACRO   x, y, Label
                +1   105             MOV     A, x
                +1   106             CLR     C
                +1   107             SUBB    A, y
                +1   108             JNC     Label
                +1   109             ENDM
                +1   110     
                +1   111     
                +1   112     ;*************************************************************************
                +1   113     ;宏定义:BHI(Branch if High)
                +1   114     ;功能:单字节无符号数比较,如果大于则跳转
                +1   115     ;参数:
                +1   116     ;       x,y:要比较的两个数
                +1   117     ;       Label:跳转目标
                +1   118     ;*************************************************************************
                +1   119     BHI     MACRO   x, y, Label
                +1   120             MOV     A, x
                +1   121             SETB    C
                +1   122             SUBB    A, y
                +1   123             JNC     Label
                +1   124             ENDM
A51 MACRO ASSEMBLER  MAIN                                                                 06/23/2006 11:55:35 PAGE     3

                +1   125     
                +1   126     
                +1   127     ;*************************************************************************
                +1   128     ;宏定义:BLS(Branch if Low or Same)
                +1   129     ;功能:单字节无符号数比较,如果小于或等于则跳转
                +1   130     ;参数:
                +1   131     ;       x,y:要比较的两个数
                +1   132     ;       Label:跳转目标
                +1   133     ;*************************************************************************
                +1   134     BLS     MACRO   x, y, Label
                +1   135             MOV     A, x
                +1   136             SETB    C
                +1   137             SUBB    A, y
                +1   138             JC      Label
                +1   139             ENDM
                +1   140     
                +1   141     
                +1   142     ;*************************************************************************
                +1   143     ;宏定义:BLO(Branch if Low)
                +1   144     ;功能:单字节无符号数比较,如果小于则跳转
                +1   145     ;参数:
                +1   146     ;       x,y:要比较的两个数
                +1   147     ;       Label:跳转目标
                +1   148     ;*************************************************************************
                +1   149     BLO     MACRO   x, y, Label
                +1   150             MOV     A, x
                +1   151             CLR     C
                +1   152             SUBB    A, y
                +1   153             JC      Label
                +1   154             ENDM
                +1   155     
                +1   156     
                +1   157     ;*************************************************************************
                +1   158     ;宏定义:JZ_W
                +1   159     ;功能:双字节数为0跳转
                +1   160     ;参数:
                +1   161     ;       (xh,xl):要判断的数
                +1   162     ;       Label:跳转目标
                +1   163     ;*************************************************************************
                +1   164     JZ_W    MACRO   xh,xl, Label
                +1   165             MOV     A, xh
                +1   166             ORL     A, xl
                +1   167             JZ      Label
                +1   168             ENDM
                +1   169     
                +1   170     
                +1   171     ;*************************************************************************
                +1   172     ;宏定义:JNZ_W
                +1   173     ;功能:双字节数不为0跳转
                +1   174     ;参数:
                +1   175     ;       (xh,xl):要判断的数
                +1   176     ;       Label:跳转目标
                +1   177     ;*************************************************************************
                +1   178     JNZ_W   MACRO   xh,xl, Label
                +1   179             MOV     A, xh
                +1   180             ORL     A, xl
                +1   181             JNZ     Label
                +1   182             ENDM
                +1   183     
                +1   184     
                +1   185     ;*************************************************************************
                +1   186     ;宏定义:DJNZ_W
                +1   187     ;功能:双字节数自减1,结果不为0跳转
                +1   188     ;参数:
                +1   189     ;       (xh,xl):要操作的数
                +1   190     ;       Label:跳转目标
A51 MACRO ASSEMBLER  MAIN                                                                 06/23/2006 11:55:35 PAGE     4

                +1   191     ;*************************************************************************
                +1   192     DJNZ_W  MACRO   xh,xl, Label
                +1   193     LOCAL   next
                +1   194             MOV     A, xl
                +1   195             JNZ     next
                +1   196             DEC     xh
                +1   197     next:
                +1   198             DEC     xl
                +1   199             MOV     A, xh
                +1   200             ORL     A, xl
                +1   201             JNZ     Label
                +1   202             ENDM
                +1   203     
                +1   204     
                +1   205     ;*************************************************************************

⌨️ 快捷键说明

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