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

📄 digital clock (2).lst

📁 用到Proteus软件来仿真51单片机
💻 LST
字号:
A51 MACRO ASSEMBLER  DIGITAL_CLOCK__2_                                                    08/28/2006 21:12:59 PAGE     1


MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN Digital Clock (2).OBJ
ASSEMBLER INVOKED BY: E:\Program Files\Keil\C51\BIN\A51.EXE Digital Clock (2).asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

  0090                 1     S_SET   BIT             P1.0                                            ;数字钟秒控制位
  0091                 2     M_SET   BIT             P1.1                                            ;分钟控制位
  0092                 3     H_SET   BIT             P1.2                                            ;小时控制位
  0030                 4     SECOND  EQU             30H
  0031                 5     MINUTE  EQU             31H
  0032                 6     HOUR    EQU             32H
  0034                 7     TCNT    EQU             34H
0000                   8                     ORG             00H
0000 800C              9                     SJMP    START
000B                  10                     ORG             0BH
000B 020091           11                     LJMP    INT_T0
000E 900132           12     START:  MOV             DPTR,#TABLE
0011 753200           13                     MOV             HOUR,#0                                         ;初始化
0014 753100           14                     MOV             MINUTE,#0
0017 753000           15                     MOV             SECOND,#0
001A 753400           16                     MOV             TCNT,#0
001D 758901           17                     MOV             TMOD,#01H
0020 758C3C           18                     MOV             TH0,#(65536-50000)/256          ;定时50毫秒
0023 758AB0           19                     MOV             TL0,#(65536-50000)MOD 256
0026 75A882           20                     MOV             IE,#82H
0029 D28C             21                     SETB    TR0
                      22     ;****************************************************
                      23     ;判断是否有控制键按下,是哪一个键按下
002B 1200C9           24     A1:             LCALL   DISPLAY         
002E 309009           25                     JNB             S_SET,S1
0031 309119           26                     JNB             M_SET,S2
0034 309229           27                     JNB             H_SET,S3                                
0037 02002B           28                     LJMP    A1
003A 12013C           29             S1:     LCALL   DELAY           ;去抖动
003D 2090EB           30                     JB              S_SET,A1
                      31                     
0040 0530             32                     INC             SECOND          ;秒值加1
0042 E530             33                     MOV             A,SECOND
0044 B43C32           34                     CJNE    A,#60,J0        ;判断是否加到60秒
0047 753000           35                     MOV             SECOND,#0
004A 020053           36                     LJMP    K1
004D 12013C           37             S2:     LCALL   DELAY
0050 2091D8           38                     JB              M_SET,A1
                      39                     
0053 0531             40             K1:     INC             MINUTE          ;分钟值加1
0055 E531             41                     MOV             A,MINUTE
0057 B43C27           42                     CJNE    A,#60,J1        ;判断是否加到60分
005A 753100           43                     MOV             MINUTE,#0
005D 020066           44                     LJMP    K2
0060 12013C           45             S3:     LCALL   DELAY
0063 2092C5           46                     JB              H_SET,A1
                      47                     
0066 0532             48             K2:     INC             HOUR            ;小时值加1
0068 E532             49                     MOV             A,HOUR
006A B4181C           50                     CJNE    A,#24,J2        ;判断是否加到24小时
006D 753200           51                     MOV             HOUR,#0
0070 753100           52                     MOV             MINUTE,#0
0073 753000           53                     MOV             SECOND,#0
0076 02002B           54                     LJMP    A1
                      55     ;****************************************************
                      56     ;等待按键抬起
0079 2090AF           57     J0:             JB              S_SET,A1
007C 1200C9           58                     LCALL   DISPLAY
A51 MACRO ASSEMBLER  DIGITAL_CLOCK__2_                                                    08/28/2006 21:12:59 PAGE     2

007F 80F8             59                     SJMP    J0
0081 2091A7           60     J1:             JB              M_SET,A1
0084 1200C9           61                     LCALL   DISPLAY
0087 80F8             62                     SJMP    J1
0089 20929F           63     J2:             JB              H_SET,A1
008C 1200C9           64                     LCALL   DISPLAY
008F 80F8             65                     SJMP    J2
                      66     ;***********************************************
                      67     ;定时器中断服务程序,对秒,分钟和小时的计数
0091 758C3C           68     INT_T0: MOV             TH0,#(65536-50000)/256
0094 758AB0           69                     MOV             TL0,#(65536-50000)MOD 256               
0097 0534             70                     INC             TCNT
0099 E534             71                     MOV             A,TCNT
009B B4142A           72                     CJNE    A,#20,RETUNE    ;计时1秒
009E 0530             73                     INC             SECOND
00A0 753400           74                     MOV             TCNT,#0
00A3 E530             75                     MOV             A,SECOND
00A5 B43C20           76                     CJNE    A,#60,RETUNE
00A8 0531             77                     INC             MINUTE
00AA 753000           78                     MOV             SECOND,#0
00AD E531             79                     MOV             A,MINUTE
00AF B43C16           80                     CJNE    A,#60,RETUNE
00B2 0532             81                     INC             HOUR
00B4 753100           82                     MOV             MINUTE,#0
00B7 E532             83                     MOV             A,HOUR
00B9 B4180C           84                     CJNE    A,#24,RETUNE
00BC 753200           85                     MOV             HOUR,#0
00BF 753100           86                     MOV             MINUTE,#0
00C2 753000           87                     MOV             SECOND,#0
00C5 753400           88                     MOV             TCNT,#0
00C8 32               89     RETUNE: RETI
                      90     ;******************************************
                      91     ;显示控制子程序
00C9 E530             92     DISPLAY:MOV             A,SECOND        ;显示秒
00CB 75F00A           93                     MOV             B,#10
00CE 84               94                     DIV             AB
00CF C2B6             95                     CLR             P3.6
00D1 93               96                     MOVC    A,@A+DPTR
00D2 F580             97                     MOV             P0,A
00D4 12013C           98                     LCALL   DELAY
00D7 D2B6             99                     SETB    P3.6
00D9 E5F0            100                     MOV             A,B
00DB C2B7            101                     CLR             P3.7
00DD 93              102                     MOVC    A,@A+DPTR
00DE F580            103                     MOV             P0,A
00E0 12013C          104                     LCALL   DELAY
00E3 D2B7            105                     SETB    P3.7
                     106     
00E5 C2B5            107                     CLR             P3.5
00E7 758040          108                     MOV             P0,#40H         ;显示分隔符
00EA 12013C          109                     LCALL   DELAY
00ED D2B5            110                     SETB    P3.5
                     111     
00EF E531            112                     MOV             A,MINUTE        ;显示分钟
00F1 75F00A          113                     MOV             B,#10
00F4 84              114                     DIV             AB
00F5 C2B3            115                     CLR             P3.3
00F7 93              116                     MOVC    A,@A+DPTR
00F8 F580            117                     MOV             P0,A
00FA 12013C          118                     LCALL   DELAY
00FD D2B3            119                     SETB    P3.3
00FF E5F0            120                     MOV             A,B
0101 C2B4            121                     CLR             P3.4
0103 93              122                     MOVC    A,@A+DPTR
0104 F580            123                     MOV             P0,A
0106 12013C          124                     LCALL   DELAY
A51 MACRO ASSEMBLER  DIGITAL_CLOCK__2_                                                    08/28/2006 21:12:59 PAGE     3

0109 D2B4            125                     SETB    P3.4
                     126     
010B C2B2            127                     CLR             P3.2
010D 758040          128                     MOV             P0,#40H         ;显示分隔符
0110 12013C          129                     LCALL   DELAY
0113 D2B2            130                     SETB    P3.2
                     131     
0115 E532            132                     MOV             A,HOUR          ;显示小时
0117 75F00A          133                     MOV             B,#10
011A 84              134                     DIV             AB
011B C2B0            135                     CLR             P3.0
011D 93              136                     MOVC    A,@A+DPTR
011E F580            137                     MOV             P0,A
0120 12013C          138                     LCALL   DELAY
0123 D2B0            139                     SETB    P3.0
0125 E5F0            140                     MOV             A,B
0127 C2B1            141                     CLR             P3.1
0129 93              142                     MOVC    A,@A+DPTR
012A F580            143                     MOV             P0,A
012C 12013C          144                     LCALL   DELAY
012F D2B1            145                     SETB    P3.1
0131 22              146                     RET
                     147     
0132 3F065B4F        148     TABLE:  DB              3FH,06H,5BH,4FH,66H
0136 66                      
0137 6D7D077F        149                     DB              6DH,7DH,07H,7FH,6FH
013B 6F                      
013C 7E0A            150     DELAY:  MOV             R6,#10
013E 7FFA            151     D1:             MOV             R7,#250
0140 DFFE            152                     DJNZ    R7,$
0142 DEFA            153                     DJNZ    R6,D1
0144 22              154                     RET
                     155     
                     156                     END
A51 MACRO ASSEMBLER  DIGITAL_CLOCK__2_                                                    08/28/2006 21:12:59 PAGE     4

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

A1 . . . . . . . .  C ADDR   002BH   A   
B. . . . . . . . .  D ADDR   00F0H   A   
D1 . . . . . . . .  C ADDR   013EH   A   
DELAY. . . . . . .  C ADDR   013CH   A   
DISPLAY. . . . . .  C ADDR   00C9H   A   
HOUR . . . . . . .  N NUMB   0032H   A   
H_SET. . . . . . .  B ADDR   0090H.2 A   
IE . . . . . . . .  D ADDR   00A8H   A   
INT_T0 . . . . . .  C ADDR   0091H   A   
J0 . . . . . . . .  C ADDR   0079H   A   
J1 . . . . . . . .  C ADDR   0081H   A   
J2 . . . . . . . .  C ADDR   0089H   A   
K1 . . . . . . . .  C ADDR   0053H   A   
K2 . . . . . . . .  C ADDR   0066H   A   
MINUTE . . . . . .  N NUMB   0031H   A   
M_SET. . . . . . .  B ADDR   0090H.1 A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
RETUNE . . . . . .  C ADDR   00C8H   A   
S1 . . . . . . . .  C ADDR   003AH   A   
S2 . . . . . . . .  C ADDR   004DH   A   
S3 . . . . . . . .  C ADDR   0060H   A   
SECOND . . . . . .  N NUMB   0030H   A   
START. . . . . . .  C ADDR   000EH   A   
S_SET. . . . . . .  B ADDR   0090H.0 A   
TABLE. . . . . . .  C ADDR   0132H   A   
TCNT . . . . . . .  N NUMB   0034H   A   
TH0. . . . . . . .  D ADDR   008CH   A   
TL0. . . . . . . .  D ADDR   008AH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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