clock.lst

来自「能显示时间」· LST 代码 · 共 159 行

LST
159
字号
A51 MACRO ASSEMBLER  CLOCK                                                                02/18/2008 20:40:23 PAGE     1


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

LOC  OBJ            LINE     SOURCE

0000                   1     ORG 0000H
0000 0130              2     AJMP MAIN
001B                   3     ORG 001BH
001B 0184              4     AJMP TIME
000B                   5     ORG 000BH
000B 0200C0            6     LJMP TIMER2
0030                   7     ORG 0030H
0030 758170            8     MAIN:   MOV SP,#70H
                       9     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;;;;;;;
0033 7840             10             MOV R0,#40H     ;建立译码器对应查找表
0035 763F             11             MOV @R0,#3FH    ;0
0037 08               12             INC R0
0038 7606             13             MOV @R0,#06H    ;1
003A 08               14             INC R0
003B 765B             15             MOV @R0,#5BH    ;2
003D 08               16             INC R0
003E 764F             17             MOV @R0,#4FH    ;3
0040 08               18             INC R0
0041 7666             19             MOV @R0,#66H    ;4
0043 08               20             INC R0
0044 766D             21             MOV @R0,#6DH    ;5
0046 08               22             INC R0
0047 767D             23             MOV @R0,#7DH    ;6
0049 08               24             INC R0
004A 7607             25             MOV @R0,#07H    ;7
004C 08               26             INC R0
004D 767F             27             MOV @R0,#7FH    ;8
004F 08               28             INC R0
0050 766F             29             MOV @R0,#6FH    ;9
0052 753003           30             MOV 30H,#03H
0055 753100           31             MOV 31H,#00H
0058 753230           32             MOV 32H,#30H
                      33     
                      34     ;
005B 758911           35             MOV TMOD,#11H
005E 752028           36             MOV 20H,#28H
0061 D2AB             37             SETB ET1
0063 D2AF             38             SETB EA
0065 75B808           39             MOV IP,#08H     ;中断优先级控制,计时器1为高优先级
0068 758DA6           40             MOV TH1,#0A6H
006B 758B00           41             MOV TL1,#00H
006E D28E             42             SETB TR1
0070 D2A9             43             SETB ET0
0072 758CF4           44             MOV TH0,#0F4H
0075 758A00           45             MOV TL0,#00H
0078 D28C             46             SETB TR0
                      47     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;;;;;;;;;;;;;;;
                      48     ;       SJMP $
007A                  49     JMAIN:  
007A 7A7F             50             MOV R2,#07FH
007C 79FF             51     WTEMP:  MOV R1,#0FFH
007E D9FE             52     TEMP:   DJNZ R1,TEMP
0080 DAFA             53             DJNZ R2,WTEMP
                      54     
0082 017A             55             AJMP JMAIN
                      56     
A51 MACRO ASSEMBLER  CLOCK                                                                02/18/2008 20:40:23 PAGE     2

                      57     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             ;;;;;;;;;;;;;;;;;;;;;;
                      58     
0084 C0D0             59     TIME:   PUSH PSW        ;计时器1中断服务程序,提供基准时间
0086 C0E0             60             PUSH ACC
0088 758DA6           61             MOV TH1,#0A6H
008B 758B00           62             MOV TL1,#00H
008E D5202A           63             DJNZ 20H,RETUNT
0091 752028           64             MOV 20H,#28H
0094 7401             65             MOV A,#01H
0096 2532             66             ADD A,32H
0098 D4               67             DA A
0099 F532             68             MOV 32H,A
009B B4601D           69             CJNE A,#60H,RETUNT
009E 753200           70             MOV 32H,#00H
00A1 7401             71             MOV A,#01H
00A3 2531             72             ADD A,31H
00A5 D4               73             DA A
00A6 F531             74             MOV 31H,A
00A8 B46010           75             CJNE A,#60H,RETUNT
00AB 753100           76             MOV 31H,#00H
00AE 7401             77             MOV A,#01H
00B0 2530             78             ADD A,30H
00B2 D4               79             DA A
00B3 F530             80             MOV 30H,A
00B5 B42403           81             CJNE A,#24H,RETUNT
00B8 753000           82             MOV 30H,#00H
00BB D0E0             83     RETUNT: POP ACC
00BD D0D0             84             POP PSW
00BF 32               85             RETI
                      86     
                      87     
                      88     
00C0 C0D0             89     TIMER2: PUSH PSW
00C2 C0E0             90             PUSH ACC
00C4 758CF4           91             MOV TH0,#0F4H   ;计时器2,扫描显示控制
00C7 758A00           92             MOV TL0,#00H
                      93     
00CA 11D1             94             ACALL TDSP
                      95     
00CC D0E0             96             POP ACC
00CE D0D0             97             POP PSW
00D0 32               98             RETI
                      99     
                     100     
00D1 E538            101     TDSP:   MOV A,38H
00D3 04              102             INC A
00D4 B40702          103             CJNE A,#07H,CREL
00D7 7401            104             MOV A,#01H
00D9 F538            105     CREL:   MOV 38H,A
00DB 14              106             DEC A
00DC 600F            107             JZ A01
00DE 14              108             DEC A
00DF 6012            109             JZ A02
00E1 14              110             DEC A
00E2 6016            111             JZ A03
00E4 14              112             DEC A
00E5 6019            113             JZ A04
00E7 14              114             DEC A
00E8 601D            115             JZ A05
00EA 14              116             DEC A
00EB 6020            117             JZ A06
00ED 740F            118     A01:    MOV A,#0FH
00EF 5532            119             ANL A,32H
00F1 2114            120             AJMP RTT2
00F3 74F0            121     A02:    MOV A,#0F0H
A51 MACRO ASSEMBLER  CLOCK                                                                02/18/2008 20:40:23 PAGE     3

00F5 5532            122             ANL A,32H
00F7 C4              123             SWAP A
00F8 2114            124             AJMP RTT2
00FA 740F            125     A03:    MOV A,#0FH
00FC 5531            126             ANL A,31H
00FE 2114            127             AJMP RTT2
0100 74F0            128     A04:    MOV A,#0F0H
0102 5531            129             ANL A,31H
0104 C4              130             SWAP A
0105 2114            131             AJMP RTT2
0107 740F            132     A05:    MOV A,#0FH
0109 5530            133             ANL A,30H
010B 2114            134             AJMP RTT2
010D 74F0            135     A06:    MOV A,#0F0H
010F 5530            136             ANL A,30H
0111 C4              137             SWAP A
0112 2114            138             AJMP RTT2
0114 F539            139     RTT2:   MOV 39H,A
0116 3119            140             ACALL DPLAY
0118 22              141             RET
                     142     
0119 A838            143     DPLAY:  MOV R0,38H      ;显示函剩

⌨️ 快捷键说明

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