📄 digital voltmeter.lst
字号:
A51 MACRO ASSEMBLER DIGITAL_VOLTMETER 08/01/2006 11:31:15 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN Digital Voltmeter.OBJ
ASSEMBLER INVOKED BY: e:\Program Files\Keil\C51\BIN\A51.EXE Digital Voltmeter.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 ;存放段码
0035 4 ADC EQU 35H
00A4 5 CLOCK BIT P2.4 ;定义ADC0808时钟位
00A5 6 ST BIT P2.5
00A6 7 EOC BIT P2.6
00A7 8 OE BIT P2.7
9
0000 10 ORG 00H
0000 800C 11 SJMP START
000B 12 ORG 0BH
000B 020050 13 LJMP INT_T0
14
000E 753000 15 START: MOV LED_0,#00H
0011 753100 16 MOV LED_1,#00H
0014 753200 17 MOV LED_2,#00H
0017 900081 18 MOV DPTR,#TABLE ;段码表首地址
001A 758902 19 MOV TMOD,#02H
001D 758CF5 20 MOV TH0,#245
0020 758A00 21 MOV TL0,#00H
0023 75A882 22 MOV IE,#82H
0026 D28C 23 SETB TR0
24
0028 C2A5 25 WAIT: CLR ST
002A D2A5 26 SETB ST
002C C2A5 27 CLR ST ;启动AD转换
002E 30A6FD 28 JNB EOC,$ ;等待转换结束
0031 D2A7 29 SETB OE
0033 859035 30 MOV ADC,P1 ;读取AD转换结果
0036 C2A7 31 CLR OE
0038 E535 32 MOV A,ADC
003A 75F064 33 MOV B,#100 ;AD转换结果转换成BCD码
003D 84 34 DIV AB
003E F532 35 MOV LED_2,A
0040 E5F0 36 MOV A,B
0042 75F00A 37 MOV B,#10
0045 84 38 DIV AB
0046 F531 39 MOV LED_1,A
0048 85F030 40 MOV LED_0,B
004B 120053 41 LCALL DISP
004E 80D8 42 SJMP WAIT
43
0050 B2A4 44 INT_T0: CPL CLOCK ;提供ADC0808时钟信号
0052 32 45 RETI
46
0053 E530 47 DISP: MOV A,LED_0 ;显示子程序
0055 93 48 MOVC A,@A+DPTR
0056 C2A3 49 CLR P2.3
0058 F580 50 MOV P0,A
005A 120078 51 LCALL DELAY
005D D2A3 52 SETB P2.3
53
005F E531 54 MOV A,LED_1
0061 93 55 MOVC A,@A+DPTR
0062 C2A2 56 CLR P2.2
0064 F580 57 MOV P0,A
0066 120078 58 LCALL DELAY
A51 MACRO ASSEMBLER DIGITAL_VOLTMETER 08/01/2006 11:31:15 PAGE 2
0069 D2A2 59 SETB P2.2
60
006B E532 61 MOV A,LED_2
006D 93 62 MOVC A,@A+DPTR
006E C2A1 63 CLR P2.1
0070 F580 64 MOV P0,A
0072 120078 65 LCALL DELAY
0075 D2A1 66 SETB P2.1
0077 22 67 RET
68
0078 7E0A 69 DELAY: MOV R6,#10 ;延时5毫秒
007A 7FFA 70 D1: MOV R7,#250
007C DFFE 71 DJNZ R7,$
007E DEFA 72 DJNZ R6,D1
0080 22 73 RET
74
0081 3F065B4F 75 TABLE: DB 3FH,06H,5BH,4FH,66H
0085 66
0086 6D7D077F 76 DB 6DH,7DH,07H,7FH,6FH
008A 6F
77 END
A51 MACRO ASSEMBLER DIGITAL_VOLTMETER 08/01/2006 11:31:15 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
CLOCK. . . . . . . B ADDR 00A0H.4 A
D1 . . . . . . . . C ADDR 007AH A
DELAY. . . . . . . C ADDR 0078H A
DISP . . . . . . . C ADDR 0053H A
EOC. . . . . . . . B ADDR 00A0H.6 A
IE . . . . . . . . D ADDR 00A8H A
INT_T0 . . . . . . C ADDR 0050H A
LED_0. . . . . . . N NUMB 0030H A
LED_1. . . . . . . N NUMB 0031H A
LED_2. . . . . . . N NUMB 0032H A
OE . . . . . . . . B ADDR 00A0H.7 A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
ST . . . . . . . . B ADDR 00A0H.5 A
START. . . . . . . C ADDR 000EH A
TABLE. . . . . . . C ADDR 0081H A
TH0. . . . . . . . D ADDR 008CH A
TL0. . . . . . . . D ADDR 008AH A
TMOD . . . . . . . D ADDR 0089H A
TR0. . . . . . . . B ADDR 0088H.4 A
WAIT . . . . . . . C ADDR 0028H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -