📄 adc0809 basic.lst
字号:
A51 MACRO ASSEMBLER ADC0809_BASIC 08/01/2006 10:17:06 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN ADC0809 Basic.OBJ
ASSEMBLER INVOKED BY: e:\Program Files\Keil\C51\BIN\A51.EXE ADC0809 Basic.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0030 1 LED_0 EQU 30H ;存放三个数码管的段码
0031 2 LED_1 EQU 31H
0032 3 LED_2 EQU 32H
4
0035 5 ADC EQU 35H ;存放转换后的数据
00B2 6 ST BIT P3.2
00B0 7 OE BIT P3.0
00B1 8 EOC BIT P3.1
0000 9 ORG 00H
10
0000 753000 11 START: MOV LED_0,#00H
0003 753100 12 MOV LED_1,#00H
0006 753200 13 MOV LED_2,#00H
0009 900068 14 MOV DPTR,#TABLE ;送段码表首地址
15
000C D2B4 16 SETB P3.4
000E D2B5 17 SETB P3.5
0010 C2B6 18 CLR P3.6 ;选择ADC0808的通道3
19
0012 C2B2 20 WAIT: CLR ST
0014 D2B2 21 SETB ST
0016 C2B2 22 CLR ST ;启动转换
0018 30B1FD 23 JNB EOC,$ ;等待转换结束
001B D2B0 24 SETB OE ;允许输出
001D 859035 25 MOV ADC,P1 ;暂存转换结果
0020 C2B0 26 CLR OE ;关闭输出
0022 E535 27 MOV A,ADC ;将AD转换结果转换成BCD码
0024 75F064 28 MOV B,#100
0027 84 29 DIV AB
0028 F532 30 MOV LED_2,A
002A E5F0 31 MOV A,B
002C 75F00A 32 MOV B,#10
002F 84 33 DIV AB
0030 F531 34 MOV LED_1,A
0032 85F030 35 MOV LED_0,B
0035 12003A 36 LCALL DISP ;显示AD转换结果
0038 80D8 37 SJMP WAIT
38
003A E530 39 DISP: MOV A,LED_0 ;数码显示子程序
003C 93 40 MOVC A,@A+DPTR
003D C2A3 41 CLR P2.3
003F F580 42 MOV P0,A
0041 12005F 43 LCALL DELAY
0044 D2A3 44 SETB P2.3
45
0046 E531 46 MOV A,LED_1
0048 93 47 MOVC A,@A+DPTR
0049 C2A2 48 CLR P2.2
004B F580 49 MOV P0,A
004D 12005F 50 LCALL DELAY
0050 D2A2 51 SETB P2.2
52
0052 E532 53 MOV A,LED_2
0054 93 54 MOVC A,@A+DPTR
0055 C2A1 55 CLR P2.1
0057 F580 56 MOV P0,A
0059 12005F 57 LCALL DELAY
005C D2A1 58 SETB P2.1
A51 MACRO ASSEMBLER ADC0809_BASIC 08/01/2006 10:17:06 PAGE 2
005E 22 59 RET
60
005F 7E0A 61 DELAY: MOV R6,#10 ;延时5毫秒
0061 7FFA 62 D1: MOV R7,#250
0063 DFFE 63 DJNZ R7,$
0065 DEFA 64 DJNZ R6,D1
0067 22 65 RET
66
0068 3F065B4F 67 TABLE: DB 3FH,06H,5BH,4FH,66H
006C 66
006D 6D7D077F 68 DB 6DH,7DH,07H,7FH,6FH
0071 6F
69 END
A51 MACRO ASSEMBLER ADC0809_BASIC 08/01/2006 10:17:06 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ADC. . . . . . . . N NUMB 0035H A
B. . . . . . . . . D ADDR 00F0H A
D1 . . . . . . . . C ADDR 0061H A
DELAY. . . . . . . C ADDR 005FH A
DISP . . . . . . . C ADDR 003AH A
EOC. . . . . . . . B ADDR 00B0H.1 A
LED_0. . . . . . . N NUMB 0030H A
LED_1. . . . . . . N NUMB 0031H A
LED_2. . . . . . . N NUMB 0032H A
OE . . . . . . . . B ADDR 00B0H.0 A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . D ADDR 00B0H A
ST . . . . . . . . B ADDR 00B0H.2 A
START. . . . . . . C ADDR 0000H A
TABLE. . . . . . . C ADDR 0068H A
WAIT . . . . . . . C ADDR 0012H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -