📄 dz_1_51.lst
字号:
A51 MACRO ASSEMBLER DZ_1_51 05/23/2006 22:07:27 PAGE 1
MACRO ASSEMBLER A51 V1.11
OBJECT MODULE PLACED IN DZ_1_51.OBJ
ASSEMBLER INVOKED BY: C:\MANLEY\PMEDWIN\A51.EXE DZ_1_51.ASM DB
LOC OBJ LINE SOURCE
1 ;--南邮单片机实验仪--按键电平及1HZ信号发生器 (AT2051)----2006/05/16----------
2 ; 使用扫描键盘,及BEEP,OSC=12MHz
3 ;--------------------- 2004/11/04 --------------------------------------------------------------
4
00B1 5 KEYL1 BIT P3.1
00B0 6 KEYL2 BIT P3.0
00B3 7 KEYL3 BIT P3.3
00B2 8 KEYL4 BIT P3.2
00B5 9 KEYR1 BIT P3.5
00B4 10 KEYR2 BIT P3.4
0097 11 LED1 BIT P1.7
0096 12 LED2 BIT P1.6
0095 13 LED3 BIT P1.5
0094 14 LED4 BIT P1.4
0093 15 LED5 BIT P1.3
0092 16 LED6 BIT P1.2
0091 17 LED7 BIT P1.1
0090 18 LED8 BIT P1.0
00B7 19 F1HZ BIT P3.7
0090 20 LED_PORT EQU P1
21
0024 22 BUFF_T0 EQU 24H ; FOR TIME0
0025 23 SCAN_LP EQU 25H ; FOR LAMP
0026 24 BUFF_SPEED EQU 26H
0027 25 BUFF_KEY1 EQU 27H
0028 26 BUFF_KEY2 EQU 28H
0029 27 BUFF_DEL EQU 29H
00DC 28 TH0_NUM EQU 220 ;T0=5MS
0000 29 TL0_NUM EQU 00
30
0000 31 ORG 000H
0000 020100 32 JMP MSTART
0003 33 ORG 003H
0003 80FB 34 JMP 000H
000B 35 ORG 00BH
000B 0201E4 36 JMP TIMER0 ;产生1HZ信号
0013 37 ORG 013H
0013 80EB 38 JMP 000H
001B 39 ORG 01BH
001B 80E3 40 JMP 000H
0023 41 ORG 023H
0023 80DB 42 JMP 000H
002B 43 ORG 02BH
002B 80D3 44 JMP 000H
0100 45 ORG 100H
0100 75A800 46 MSTART: MOV IE,#00H
0103 7590FF 47 MOV P1,#0FFH
0106 75B0FF 48 MOV P3,#0FFH
0109 759000 49 MOV LED_PORT,#00H
010C 75D000 50 MOV PSW,#00H
010F 758140 51 MOV SP,#40H
0112 7400 52 MOV A,#00H
0114 787F 53 MOV R0,#7FH
0116 F6 54 CLR_RAM: MOV @R0,A ;清20-7FH
0117 D8FD 55 DJNZ R0,CLR_RAM
0119 758911 56 MOV TMOD,#11H
011C 758CB1 57 MOV TH0,#HIGH(65536-20000) ;TH0_NUM
011F 758AE0 58 MOV TL0,#LOW(65536-20000) ;TL0_NUM
A51 MACRO ASSEMBLER DZ_1_51 05/23/2006 22:07:27 PAGE 2
0122 D28C 59 SETB TR0
0124 D2A9 60 SETB ET0
0126 D2AF 61 SETB EA
62
0128 C2B5 63 SCAN1: CLR KEYR1
012A D2B4 64 SETB KEYR2
012C 75290A 65 MOV BUFF_DEL,#10
012F 1201BE 66 LCALL DEL1MS
0132 E5B0 67 MOV A,P3
0134 540F 68 ANL A,#00001111B
0136 B40F06 69 CJNE A,#00001111B,CON_SCN10
0139 7527FF 70 MOV BUFF_KEY1,#0FFH
013C 020153 71 JMP SCAN2
013F B5270F 72 CON_SCN10: CJNE A,BUFF_KEY1,CON_SCN11
0142 30B139 73 JNB KEYL1,KOUT1
0145 30B03D 74 JNB KEYL2,KOUT2
0148 30B341 75 JNB KEYL3,KOUT3
014B 30B245 76 JNB KEYL4,KOUT4
014E 020153 77 JMP SCAN2
0151 F527 78 CON_SCN11: MOV BUFF_KEY1,A
79
0153 C2B4 80 SCAN2: CLR KEYR2
0155 D2B5 81 SETB KEYR1
0157 75290A 82 MOV BUFF_DEL,#10
015A 1201BE 83 LCALL DEL1MS
015D E5B0 84 MOV A,P3
015F 540F 85 ANL A,#00001111B
0161 B40F05 86 CJNE A,#00001111B,CON_SCN20
0164 7528FF 87 MOV BUFF_KEY2,#0FFH
0167 80BF 88 JMP SCAN1
0169 B5280E 89 CON_SCN20: CJNE A,BUFF_KEY2,CON_SCN21
016C 30B12B 90 JNB KEYL1,KOUT5
016F 30B02F 91 JNB KEYL2,KOUT6
0172 30B333 92 JNB KEYL3,KOUT7
0175 30B237 93 JNB KEYL4,KOUT8
0178 80AE 94 JMP SCAN1
017A F528 95 CON_SCN21: MOV BUFF_KEY2,A
017C 80AA 96 JMP SCAN1
97
017E B297 98 KOUT1: CPL LED1
0180 30B1FD 99 JNB KEYL1,$
0183 80CE 100 JMP SCAN2
101
0185 B296 102 KOUT2: CPL LED2
0187 30B0FD 103 JNB KEYL2,$
018A 80C7 104 JMP SCAN2
105
018C B295 106 KOUT3: CPL LED3
018E 30B3FD 107 JNB KEYL3,$
0191 80C0 108 JMP SCAN2
109
0193 B294 110 KOUT4: CPL LED4
0195 30B2FD 111 JNB KEYL4,$
0198 80B9 112 JMP SCAN2
113
019A B293 114 KOUT5: CPL LED5
019C 30B1FD 115 JNB KEYL1,$
019F 8087 116 JMP SCAN1
117
01A1 B292 118 KOUT6: CPL LED6
01A3 30B0FD 119 JNB KEYL2,$
01A6 2128 120 JMP SCAN1
121
01A8 B291 122 KOUT7: CPL LED7
01AA 30B3FD 123 JNB KEYL3,$
01AD 2128 124 JMP SCAN1
A51 MACRO ASSEMBLER DZ_1_51 05/23/2006 22:07:27 PAGE 3
125
01AF B290 126 KOUT8: CPL LED8 ;产生单脉冲信号!
01B1 752914 127 MOV BUFF_DEL,#20
01B4 1201BE 128 LCALL DEL1MS
01B7 B290 129 CPL LED8
01B9 30B2FD 130 JNB KEYL4,$
01BC 2128 131 JMP SCAN1
132
133
01BE 78FA 134 DEL1MS: MOV R0,#250 ;0SC=12MHZ
01C0 D8FE 135 DJNZ R0,$
01C2 78F7 136 MOV R0,#247
01C4 00 137 nop
01C5 D8FE 138 DJNZ R0,$
139 ;MOV R0,#250
140 ;DJNZ R0,$
141 ;MOV R0,#248 ;167
142 ;DJNZ R0,$
01C7 D529F4 143 DJNZ BUFF_DEL,DEL1MS
01CA 22 144 RET
145
01CB 7DFF 146 DELAY: MOV R5,#0FFH
01CD DDFE 147 DJNZ R5,$
01CF 7DFF 148 MOV R5,#0FFH
01D1 DDFE 149 DJNZ R5,$
01D3 7DFF 150 MOV R5,#0FFH
01D5 DDFE 151 DJNZ R5,$
01D7 7DFF 152 MOV R5,#0FFH
01D9 DDFE 153 DJNZ R5,$
01DB 7DFF 154 MOV R5,#0FFH
01DD DDFE 155 DJNZ R5,$
01DF 7DFF 156 MOV R5,#0FFH
01E1 DDFE 157 DJNZ R5,$
01E3 22 158 RET
159 ;---------------------------------------------------------------------------------------
01E4 758CB1 160 TIMER0: MOV TH0,#HIGH(65536-19991) ;T0=20MS
01E7 758AE9 161 MOV TL0,#LOW(65536-19991) ;产生秒信号!
01EA C0E0 162 PUSH ACC
01EC C0D0 163 PUSH PSW
01EE 0524 164 INC BUFF_T0
01F0 E524 165 MOV A,BUFF_T0
01F2 B41905 166 CJNE A,#25,EXT_T0
01F5 752400 167 MOV BUFF_T0,#00H
01F8 B2B7 168 CPL F1HZ
01FA D0D0 169 EXT_T0: POP PSW
01FC D0E0 170 POP ACC
01FE 32 171 RETI
172 ;---------------------------------------------------------------------------------------
173
174 END
A51 MACRO ASSEMBLER DZ_1_51 05/23/2006 22:07:27 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
BUFF_DEL . . . . . N NUMB 0029H A
BUFF_KEY1. . . . . N NUMB 0027H A
BUFF_KEY2. . . . . N NUMB 0028H A
BUFF_SPEED . . . . N NUMB 0026H A
BUFF_T0. . . . . . N NUMB 0024H A
CLR_RAM. . . . . . C ADDR 0116H A
CON_SCN10. . . . . C ADDR 013FH A
CON_SCN11. . . . . C ADDR 0151H A
CON_SCN20. . . . . C ADDR 0169H A
CON_SCN21. . . . . C ADDR 017AH A
DEL1MS . . . . . . C ADDR 01BEH A
DELAY. . . . . . . C ADDR 01CBH A
EA . . . . . . . . B ADDR 00A8H.7 A
ET0. . . . . . . . B ADDR 00A8H.1 A
EXT_T0 . . . . . . C ADDR 01FAH A
F1HZ . . . . . . . B ADDR 00B0H.7 A
IE . . . . . . . . D ADDR 00A8H A
KEYL1. . . . . . . B ADDR 00B0H.1 A
KEYL2. . . . . . . B ADDR 00B0H.0 A
KEYL3. . . . . . . B ADDR 00B0H.3 A
KEYL4. . . . . . . B ADDR 00B0H.2 A
KEYR1. . . . . . . B ADDR 00B0H.5 A
KEYR2. . . . . . . B ADDR 00B0H.4 A
KOUT1. . . . . . . C ADDR 017EH A
KOUT2. . . . . . . C ADDR 0185H A
KOUT3. . . . . . . C ADDR 018CH A
KOUT4. . . . . . . C ADDR 0193H A
KOUT5. . . . . . . C ADDR 019AH A
KOUT6. . . . . . . C ADDR 01A1H A
KOUT7. . . . . . . C ADDR 01A8H A
KOUT8. . . . . . . C ADDR 01AFH A
LED1 . . . . . . . B ADDR 0090H.7 A
LED2 . . . . . . . B ADDR 0090H.6 A
LED3 . . . . . . . B ADDR 0090H.5 A
LED4 . . . . . . . B ADDR 0090H.4 A
LED5 . . . . . . . B ADDR 0090H.3 A
LED6 . . . . . . . B ADDR 0090H.2 A
LED7 . . . . . . . B ADDR 0090H.1 A
LED8 . . . . . . . B ADDR 0090H.0 A
LED_PORT . . . . . D ADDR 0090H A
MSTART . . . . . . C ADDR 0100H A
P1 . . . . . . . . D ADDR 0090H A
P3 . . . . . . . . D ADDR 00B0H A
PSW. . . . . . . . D ADDR 00D0H A
SCAN1. . . . . . . C ADDR 0128H A
SCAN2. . . . . . . C ADDR 0153H A
SCAN_LP. . . . . . N NUMB 0025H A
SP . . . . . . . . D ADDR 0081H A
TH0. . . . . . . . D ADDR 008CH A
TH0_NUM. . . . . . N NUMB 00DCH A
TIMER0 . . . . . . C ADDR 01E4H A
TL0. . . . . . . . D ADDR 008AH A
TL0_NUM. . . . . . N NUMB 0000H 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 + -