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

📄 text1.lst

📁 数字钟报告,大家使用
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  TEXT1                                                                11/11/2006 20:02:32 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     ;----------------------------------------------------
                       2     ; PCL.ASM  8051 CLOCK WITH  SEG X 4 CLOCK+ALARM+BZ
                       3     ; 8051 ASM USE: KEIL
                       4     ; COPYRIGHT CMY 2003
                       5     ;----------------------------------------------
                       6     ; K1 : ADJ TIME  K2:HOUR  K3:MIN  K4: OK
                       7     ; K2 : SEE ALARM
                       8     ; K3 : SET ALARM
                       9     ; K4 : ALARM ON/OFF
                      10     ;----------------------------------------------
                      11     ; 5 mS isr
                      12     ; MOV TL0,#(8192-5000).MOD.32
                      13     ; MOV TH0,#(8192-5000)/32
  0021                14     LO      EQU 33;24
  0063                15     HI      EQU 99;99
                      16     
                      17     ;*******************************************************
  00C8                18     CO      EQU 200 ; ADJ. TO MATCH TIME  200 x 5 mS=1000 mS
                      19     
  0000                20     ALB     EQU 20H.0  ; ALARM BIT
                      21     
  0030                22     BUF     EQU 30H  ; 7SEG BUFFER RAM  30H 31H 32H 33H 4 BYTES
  0034                23     HOUR    EQU 34H
  0035                24     MIN     EQU 35H
  0036                25     SEC     EQU 36H
  0037                26     DEDA    EQU 37H  ; DEDA COUNT  5 mS COUNT
  0038                27     SEC0    EQU 38H  ; OLD SEC
                      28     
  0039                29     HH      EQU 39H  ; ALARM HOUR
  003A                30     MM      EQU 3AH  ; ALARM MIN
                      31     ;----------------------------
                      32     ; KEYS.....
  0094                33     K1      EQU P1.4
  0095                34     K2      EQU P1.5
  0096                35     K3      EQU P1.6
  0097                36     K4      EQU P1.7
                      37     
  0081                38     RY1     EQU P0.1
  0082                39     RY2     EQU P0.2
  0083                40     SPK     EQU P0.3
  0080                41     WLED    EQU P0.0
                      42     ;-----------------------------
0000                  43             ORG 0H
0000 800B             44             JMP BEGIN
000B                  45             ORG 0BH      ; TIMER 0
000B 01FB             46             JMP T0_INT
                      47     ;-----------------------------
000D                  48     BEGIN:
000D C281             49             CLR RY1
000F C282             50             CLR RY2
0011 C200             51             CLR ALB     ; NO ALARM
0013 753901           52             MOV HH,#1   ; DEFAULT ALARM TIME--1:1
0016 753A01           53             MOV MM,#1
                      54     
0019 31BB             55             CALL BZ
001B 31BB             56             CALL BZ
001D 1199             57             CALL LED_BL
                      58     
A51 MACRO ASSEMBLER  TEXT1                                                                11/11/2006 20:02:32 PAGE     2

001F 11DC             59             CALL INIT
0021 11EC             60             CALL INIT_TIMER
                      61     
                      62     ; DISPLAY OFF
0023 74FF             63             MOV A,#0FFH
0025 F5A0             64             MOV P2,A;段选端
0027 11CF             65             CALL LOAD_DATA
                      66     ;....................................................
0029                  67     LOOP:
0029 5146             68             CALL TIME_PRO  ; UPDATE TIME DATA
002B 11B4             69             CALL SCAN1     ; SCAN 7 SEG
                      70     ;........................................
                      71     ; K1 : ADJ TIME  K2:HOUR  K3:MIN  K4: OK
                      72     
002D 209406           73             JB  K1,M1
                      74     ; K1 KEYED .................
0030 1199             75             CALL LED_BL
0032 317C             76             CALL SET_TIME
0034 80F3             77             JMP LOOP
                      78     
                      79     ;....................
0036 209506           80     M1:     JB  K2,M2
                      81     ; K2 KEYED................LOOK ALARM TIME
0039 31BB             82             CALL BZ
003B 31E1             83             CALL LOOK_ATIME  ; LOOK ALARM TIME
003D 80EA             84             JMP LOOP
                      85     
                      86     ;.....................
003F 209608           87     M2:     JB  K3,M3
                      88     ; K3 KEYED   ..........SET ALARM TIME
0042 31BB             89             CALL BZ
0044 5111             90             CALL SET_ATIME  ; SET ALARM TIME
0046 1199             91             CALL LED_BL
0048 80DF             92             JMP LOOP
                      93     
                      94     ;.....................
004A 209711           95     M3:     JB  K4,M4
                      96     ; K4 KEYED.............ALARM ALB ON/OFF
004D B200             97             CPL ALB
004F 300008           98             JNB ALB,M31
                      99     ; ALARM ON.................
0052 31BB            100             CALL BZ
0054 31BB            101             CALL BZ
0056 31BB            102             CALL BZ
0058 80CF            103             JMP LOOP
005A                 104     M31:
                     105     ; ALARM OFF.....................
005A 31BB            106             CALL BZ
005C 80CB            107             JMP LOOP
                     108     ;.........................................
005E                 109     M4:
005E 80C9            110             JMP LOOP
                     111     ;------------------------------------------------
0060 50434C2E        112     TITLE:  DB "PCL.ASM  IO51 8051 CLOCK SEG X 4 BZ"
0064 41534D20                
0068 20494F35                
006C 31203830                
0070 35312043                
0074 4C4F434B                
0078 20534547                
007C 20582034                
0080 20425A                  
                     113     ;------------------------------------------------
                     114     ; DELAY Xms   R5*10 ms
0083                 115     DELAY:
0083 7E32            116             MOV R6,#50
A51 MACRO ASSEMBLER  TEXT1                                                                11/11/2006 20:02:32 PAGE     3

0085 7F64            117     D1:     MOV R7,#100
0087 DFFE            118             DJNZ R7,$
0089 DEFA            119             DJNZ R6,D1
008B DDF6            120             DJNZ R5,DELAY
008D 22              121             RET
                     122     ;---------------------
                     123     ; DELAY A WHILE
008E                 124     DELAY1:
008E 7E01            125             MOV R6,#1
0090 7F64            126     D2:     MOV R7,#100
0092 DFFE            127             DJNZ R7,$
0094 DEFA            128             DJNZ R6,D2
0096 DDF6            129             DJNZ R5,DELAY1
0098 22              130             RET
                     131     ;--------------------
0099                 132     LED_BL:
0099 7C06            133             MOV R4,#6
009B B280            134     LE1:    CPL WLED
009D 7D05            135             MOV R5,#5
009F 1183            136             CALL DELAY
00A1 DCF8            137             DJNZ R4, LE1
00A3 22              138             RET
                     139     ;----------------------------------
                     140     ; 7-SEGMENT  COMMON CATHODE
00A4                 141     TABLE:
00A4 C0F9A4B0        142             DB  0c0h, 0f9H, 0a4H, 0b0H, 099H
00A8 99                      
00A9 9282F880        143             DB  092H, 082H, 0f8H, 080H, 098H
00AD 98                      
00AE 8883C691        144             DB  088H, 083H, 0c6H, 091H, 086H
00B2 86                      
00B3 8E              145             DB  08eH
                     146     ;-----------------------------------
                     147     ; SCAN 4 TIMES
00B4                 148     SCAN1:
00B4 7830            149             MOV R0, #BUF
00B6 7A04            150             MOV R2, #4
00B8 75E0FE          151             MOV ACC, #0FEH
00BB                 152     S1:
00BB C0E0            153             PUSH ACC
                     154     ; SEND OUT 1 7 SEGMENT DATA IN  @R0
00BD E6              155             MOV A, @R0
00BE 85E0A0          156             MOV P2,ACC     ;段选
                     157     
                     158     ; SEND SCAN CODE
00C1 D0E0            159             POP ACC
                     160             
00C3 85E0B0          161             MOV P3,ACC      ;位选端
                     162     
00C6 7D05            163             MOV R5,#5
00C8 118E            164             CALL DELAY1
                     165     
                     166     ; CHANGE SCAN CODE
00CA 23              167             RL A
00CB 08              168             INC R0
00CC DAED            169             DJNZ R2, S1
00CE 22              170             RET
                     171     ;---------------------------------------------------------------
00CF                 172     LOAD_DATA:
00CF 75303F          173             MOV BUF,  #3FH  ; '0'
00D2 75313F          174             MOV BUF+1,#3FH
00D5 75323F          175             MOV BUF+2,#3FH
00D8 75333F          176             MOV BUF+3,#3FH
00DB 22              177             RET
                     178     ;------------------------------------------------------------------
00DC                 179     INIT:
A51 MACRO ASSEMBLER  TEXT1                                                                11/11/2006 20:02:32 PAGE     4

00DC 753700          180             MOV DEDA,#0
00DF 753800          181             MOV SEC0,#0
00E2 753600          182             MOV SEC,#0
00E5 753500          183             MOV MIN,#0
00E8 753400          184             MOV HOUR,#0
00EB 22              185             RET
                     186     ;-------------------------
00EC                 187     INIT_TIMER:
00EC 758900          188             MOV TMOD,#00000000B
00EF 75A882          189             MOV IE,  #10000010B
00F2 758A21          190             MOV TL0,#LO
00F5 758C63          191             MOV TH0,#HI
00F8 D28C            192             SETB TR0
00FA 22              193             RET
                     194     ;----------------------
                     195     ; USE TIMER MODE 0
                     196     ; COUNT=5ms/1us=5000
                     197     ;----------------------
00FB                 198     T0_INT:
00FB C0E0            199             PUSH ACC
00FD 758A21          200             MOV TL0,#LO
0100 758C63          201             MOV TH0,#HI
0103 0537            202             INC DEDA
                     203     
                     204     ; 1 SEC TIME OUT CHECK
0105 E537            205             MOV A,DEDA
0107 B4C829          206             CJNE A,#CO,TT1
010A 753700          207             MOV DEDA, #0
                     208     
010D B280            209             CPL WLED
010F 0536            210             INC SEC
0111 E536            211             MOV A,SEC
0113 B43C1D          212             CJNE A,#60,TT1
                     213     ; 1 MIN TIME OUT
0116 0535            214             INC MIN
0118 753600          215             MOV SEC,#0
011B E535            216             MOV A, MIN
011D B43C13          217             CJNE A,#60,TT1
                     218     ; 1 HOUR TIME OUT
0120 0534            219             INC HOUR
0122 753500          220             MOV MIN,#0
0125 E534            221             MOV A, HOUR
0127 B41809          222             CJNE A,#24,TT1
012A 753600          223             MOV SEC,#0    ; RESET TIME TO 0
012D 753500          224             MOV MIN,#0
0130 753400          225             MOV HOUR,#0
0133                 226     TT1:
0133 D0E0            227             POP ACC
0135 32              228             RETI
                     229     ;---------------------------------------------------------------
                     230     ; 7 SEG MM:SS
                     231     ; CONVERT DATA AND SHOW
                     232     ; BUF0 | BUF1 | BUF2 | BUF3
0136                 233     CONV1:
                     234     ; SHOW MIN...............
0136 E535            235             MOV A,MIN
0138 75F00A          236             MOV B,#10
013B 84              237             DIV AB
                     238     
013C 9000A4          239             MOV DPTR, #TABLE
013F 93              240             MOVC A,@A+DPTR
0140 F530            241             MOV BUF,A
                     242     
0142 E5F0            243             MOV A,B
0144 93              244             MOVC A,@A+DPTR
0145 F531            245             MOV BUF+1,A
A51 MACRO ASSEMBLER  TEXT1                                                                11/11/2006 20:02:32 PAGE     5

                     246     ; SHOW SEC...............
0147 E536            247             MOV A,SEC
0149 75F00A          248             MOV B,#10
014C 84              249             DIV AB
                     250     
014D 9000A4          251             MOV DPTR, #TABLE
0150 93              252             MOVC A,@A+DPTR
0151 F532            253             MOV BUF+2,A
                     254     
0153 E5F0            255             MOV A,B
0155 93              256             MOVC A,@A+DPTR
0156 F533            257             MOV BUF+3,A
0158 22              258             RET
                     259     ;-------------------------------------
                     260     ; 7 SEG HH:MM
                     261     ; CONVERT DATA AND SHOW
                     262     ; BUF0 | BUF1 | BUF2 | BUF3
0159                 263     CONV:
                     264     ; SHOW HOUR..............
0159 E534            265             MOV A,HOUR
015B 75F00A          266             MOV B,#10
015E 84              267             DIV AB
                     268     
015F 9000A4          269             MOV DPTR, #TABLE
0162 93              270             MOVC A,@A+DPTR
0163 F530            271             MOV BUF,A
                     272     
0165 E5F0            273             MOV A,B

⌨️ 快捷键说明

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