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

📄 1.lst

📁 用89c51的电子钟用89c51的电子钟
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  1                                                                    12/20/2008 16:21:14 PAGE     1


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

LOC  OBJ            LINE     SOURCE

  00B6                 1             SW1    EQU P3.6
  00B7                 2             SW2    EQU P3.7
  00B2                 3             SW3    EQU P3.2
  00B3                 4             SW4    EQU P3.3
  0090                 5             BU     EQU P1.0
  0030                 6             MS     EQU 30H
  0031                 7             SECS   EQU 31H
  0032                 8             MINUTE EQU 32H
  0033                 9             HOUR   EQU 33H
  0034                10             DM     EQU 34H
  0035                11             A1   EQU 35H
  0036                12             A2   EQU 36H
  0037                13             A3   EQU 37H
  003A                14             S1  EQU 3AH
  003B                15             M1  EQU 3BH
  003C                16             H1  EQU 3CH
  003D                17             TABB EQU 3DH
                      18             
0000                  19             ORG 0000H
0000 020030           20             LJMP MAIN
000B                  21             ORG 000BH
000B 020126           22             LJMP T0INT
0030                  23             ORG 0030H
                      24             ;主程序
0030 753A00           25              MAIN:MOV S1,#0
0033 753B00           26                    MOV M1,#0
0036 753C00           27                    MOV H1,#0
0039 758170           28                    MOV SP,#70H
003C C2D5             29                    CLR F0
003E D2AF             30                    SETB EA
0040 D2A9             31                    SETB ET0
0042 758901           32                  MOV TMOD,#01H
0045 758A10           33                  MOV TL0,#10H
0048 758CB6           34                  MOV TH0,#0B6H
004B 753000           35                  MOV MS,#0
004E 753100           36                  MOV SECS,#0
0051 753200           37                  MOV MINUTE,#0
0054 753312           38                  MOV HOUR,#12H
0057 D28C             39                  SETB TR0
0059 7831             40             LOOP: MOV R0,#SECS
005B 120191           41                   LCALL CF
005E 1201A4           42                   LCALL DISP
0061 120104           43                   LCALL COMP
0064 20B2F2           44                   JB SW3,LOOP
0067 12006C           45                   LCALL SETT
006A 80ED             46                  JMP LOOP
                      47             
                      48             ;定时设置
006C 1200ED           49             SETT: LCALL CLEAR
006F 1200F7           50                  LCALL BB
0072 783A             51             SET0:MOV R0,#S1
0074 120191           52                  LCALL CF
0077 1201A4           53                  LCALL DISP
007A 30B2F5           54                  JNB SW3,SET0
007D D2D5             55                  SETB F0
007F 753D40           56                  MOV TABB,#40H
0082 783A             57             SET1:MOV R0,#S1
0084 120191           58                  LCALL CF
A51 MACRO ASSEMBLER  1                                                                    12/20/2008 16:21:14 PAGE     2

0087 1201A4           59                  LCALL DISP
008A 30B625           60                  JNB SW1,SETH
008D 30B708           61                  JNB SW2,SETM
0090 30B239           62                  JNB SW3,SAVE
0093 20B3EC           63                  JB SW4,SET1
0096 804F             64                 SJMP SEXIT 
                      65             ;设置分定时值
0098 783A             66             SETM:MOV R0,#S1
009A 120191           67                  LCALL CF
009D 1201A4           68                  LCALL DISP
00A0 30B7F5           69                  JNB SW2,SETM
00A3 E53B             70                  MOV A,M1
00A5 2401             71                  ADD A,#1
00A7 D4               72                  DA A
00A8 F53B             73                  MOV M1,A
00AA B460D5           74                  CJNE A,#60H,SET1
00AD 753B00           75                  MOV M1,#0
00B0 80D0             76                  SJMP SET1
                      77             ;设置时定时值
00B2 783A             78             SETH:MOV R0,#S1
00B4 120191           79                  LCALL CF
00B7 1201A4           80                  LCALL DISP
00BA 30B6F5           81                  JNB SW1,SETH
00BD E53C             82                  MOV A,H1
00BF 2401             83                  ADD A,#1
00C1 D4               84                  DA A
00C2 F53C             85                  MOV H1,A
00C4 B424BB           86                  CJNE A,#24H,SET1
00C7 753C00           87                  MOV H1,#0
00CA 80B6             88                  SJMP SET1
                      89             ;存储定时值
00CC 783A             90             SAVE:MOV R0,#S1
00CE 120191           91                  LCALL CF
00D1 1201A4           92                  LCALL DISP
00D4 30B2F5           93                  JNB SW3,SAVE
00D7 1200F7           94                  LCALL BB
00DA A83D             95                  MOV R0,TABB
00DC A63C             96                  MOV @R0,H1
00DE 08               97                  INC R0
00DF A63B             98                  MOV @R0,M1
00E1 08               99                  INC R0
00E2 883D            100                  MOV TABB,R0
00E4 B8709B          101                  CJNE R0,#70H,SET1
00E7 1200F7          102             SEXIT:LCALL BB
00EA C2D5            103                  CLR F0
00EC 22              104                  RET
                     105             ;清零程序    
00ED 7840            106             CLEAR: MOV R0,#40H
00EF 74FF            107                    MOV A,#0FFH
00F1 F6              108             CLEAR1:MOV @R0,A
00F2 08              109                    INC R0
00F3 B870FB          110                    CJNE R0,#70H,CLEAR1
00F6 22              111                    RET
                     112             ;“嘀—”提示音
00F7 7D80            113     BB: MOV R5,#80H
00F9 7E80            114     BB1: MOV R6,#80H
00FB DEFE            115                DJNZ R6,$
00FD B290            116                CPL BU
00FF DDF8            117                DJNZ R5,BB1
0101 D290            118                SETB BU
0103 22              119                RET
                     120             
                     121             ;定时比较
0104 7940            122             COMP:MOV R1,#40H
0106 E7              123             COMP1:MOV A,@R1
0107 B53316          124                   CJNE A,HOUR,COMP5
A51 MACRO ASSEMBLER  1                                                                    12/20/2008 16:21:14 PAGE     3

010A 09              125                   INC R1
010B E7              126                   MOV A,@R1
010C B53212          127                   CJNE A,MINUTE,COMP6
010F C290            128                   CLR BU
0111 7831            129             comp4:MOV R0,#SECS
0113 120191          130                  LCALL CF
0116 1201A4          131                  LCALL DISP
0119 E531            132                  MOV A,SECS     
011B 60F4            133                  JZ COMP4
011D D290            134                  SETB BU       
011F 22              135                  RET
0120 09              136             COMP5:INC R1
0121 09              137             COMP6:INC R1
0122 B970E1          138                   CJNE R1,#70H,COMP1
0125 22              139                   RET
                     140             
                     141             ;T0中断计时
0126 C0E0            142             T0INT:PUSH ACC
0128 758A10          143                   MOV TL0,#10H
012B 758CB6          144                   MOV TH0,#0B6H
012E 0530            145                   INC MS
0130 E530            146                   MOV A,MS
0132 B41433          147                   CJNE A,#20,T0EXIT
0135 753000          148                   MOV MS,#0
0138 20D506          149                   JB F0,T0INT1
013B 30B640          150                   JNB SW1,VH
013E 30B72A          151                   JNB SW2,VM
0141 E531            152             T0INT1:MOV A,SECS
0143 2401            153                   ADD A,#1
0145 D4              154                   DA A
0146 F531            155                   MOV SECS,A
0148 B4601D          156                  CJNE A,#60H,T0EXIT
014B 753100          157                  MOV SECS,#0
014E E532            158                  MOV A,MINUTE

⌨️ 快捷键说明

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