?? adc1.lst
字號:
A51 MACRO ASSEMBLER ADC1 09/26/2007 10:47:24 PAGE 1
MACRO ASSEMBLER A51 V7.00a
OBJECT MODULE PLACED IN ADC1.OBJ
ASSEMBLER INVOKED BY: D:\學習\Proteus_6_Professiona\keil中文版本\Keil\C51\BIN\A51.EXE ADC1.ASM SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0035 1 TEMPHIGH EQU 35H
0034 2 TEMPLOW EQU 34H
0000 3 ORG 0000H
0000 0130 4 AJMP MAIN
0030 5 ORG 0030H
0030 753000 6 MAIN:MOV 30H, #00H ;采樣單元初始化
0033 7 LOOP:
0033 113B 8 ACALL ADCON
0035 114D 9 ACALL HEXTBCD
0037 1191 10 ACALL DISPLAY
0039 0133 11 AJMP loop
12 ;///////////////////////////////////////
13 ;/ AD轉換程序,利用查詢方式,實時采樣四路數據,
14 ;/ 并分別存入30H~33H四個單元中
15 ;///////////////////////////////////////
003B 16 ADCON:
003B 908000 17 MOV DPTR,#08000H;通道0的地址
003E 7930 18 MOV R1,#30H
0040 F0 19 MOVX @DPTR,A ;啟動AD轉換
0041 7A20 20 MOV R2,#20H
0043 DAFE 21 DLY:DJNZ R2,DLY
0045 20B2FD 22 HE: JB P3.2,HE
0048 E0 23 MOVX A,@DPTR
0049 F530 24 MOV 30H,A
004B F8 25 MOV R0,A
004C 22 26 RET
27 ;////////////////////
28 ; / 顯示預處理子程序,TEMPHIAH TEMPLOW存放AD轉換值與20的乘積
29 ; / R3為轉換時所用循環次數16
30 ; /R4 R5分別存放BCD碼的低位和高位
31 ;/處理后的結果分別存放入38H~3FH
32 ;/////////////////////////
004D 33 HEXTBCD:
004D 7830 34 MOV R0,#30H ;存放AD轉換值的首地址
004F 7938 35 MOV R1,#38H ;存放BCD碼的首地址
36 ;MOV R2,#1 ;要轉化的AD轉換值的個數
37
0051 7C00 38 MOV R4,#0 ;暫存轉化結果的低位
0053 7D00 39 MOV R5,#0 ;;暫存轉化結果的高位
0055 C3 40 CLR C
0056 E6 41 MOV A,@R0 ;取要轉化的AD轉換值
0057 75F014 42 MOV B,#20 ;×20
005A A4 43 MUL AB
005B FB 44 MOV R3,A ;積低位存入TEMPLOW單元
005C E5F0 45 MOV A,B
005E FA 46 MOV R2,A ;積高位存入TEMPHIGH單元
005F E4 47 CLR A ;轉化程序
48
0060 FE 49 MOV R6,A
0061 7F10 50 MOV R7,#10H
0063 C3 51 BP1:CLR C
0064 EB 52 MOV A,R3
0065 33 53 RLC A
0066 FB 54 MOV R3,A
0067 EA 55 MOV A, R2
0068 33 56 RLC A
0069 FA 57 MOV R2,A
006A EE 58 MOV A ,R6
A51 MACRO ASSEMBLER ADC1 09/26/2007 10:47:24 PAGE 2
006B 3E 59 ADDC A ,R6
006C D4 60 DA A
006D FE 61 MOV R6 ,A
006E ED 62 MOV A ,R5
006F 3D 63 ADDC A ,R5
0070 D4 64 DA A
0071 FD 65 MOV R5 ,A
0072 EC 66 MOV A,R4
0073 3C 67 ADDC A,R4
0074 C4 68 SWAP A
0075 FC 69 MOV R4,A
0076 DFEB 70 DJNZ R7,BP1
0078 8E30 71 MOV 30H,R6
007A 8D31 72 MOV 31H,R5
007C 7830 73 MOV R0,#30H
007E 7938 74 MOV R1,#38H
0080 7F02 75 MOV R7,#02H
0082 E6 76 BP2: MOV A,@R0
0083 540F 77 ANL A,#0FH
0085 F7 78 MOV @R1,A
0086 09 79 INC R1
0087 E6 80 MOV A,@R0
0088 C4 81 SWAP A
0089 540F 82 ANL A,#0FH
008B F7 83 MOV @R1,A
008C 08 84 INC R0
008D 09 85 INC R1
008E DFF2 86 DJNZ R7, BP2
87
0090 22 88 RET
89
90 ;*******************
91 ;顯示子程序
92 ;*******************
0091 74FE 93 DISPLAY:MOV A,#0FEH
0093 F5A0 94 MOV P2,A
0095 E53B 95 MOV A,3BH
0097 9000CF 96 MOV DPTR,#TABLE
009A 93 97 MOVC A,@A+DPTR
009B 4480 98 ORL A,#80H ;加小數點
009D F590 99 MOV P1,A
009F 11D9 100 CALL DELAY
00A1 74FD 101 MOV A, #0FDH
00A3 F5A0 102 MOV P2,A
00A5 E53A 103 MOV A,3AH
00A7 9000CF 104 MOV DPTR, #TABLE
00AA 93 105 MOVC A,@A+DPTR
00AB F590 106 MOV P1,A
00AD 1200D9 107 LCALL DELAY
00B0 74FB 108 MOV A, #0FBH
00B2 F5A0 109 MOV P2,A
00B4 E539 110 MOV A,39H
00B6 9000CF 111 MOV DPTR, #TABLE
00B9 93 112 MOVC A,@A+DPTR
00BA F590 113 MOV P1,A
00BC 1200D9 114 LCALL DELAY
00BF 74F7 115 MOV A, #0F7H
00C1 F5A0 116 MOV P2,A
00C3 E538 117 MOV A,38H
00C5 9000CF 118 MOV DPTR, #TABLE
00C8 93 119 MOVC A,@A+DPTR
00C9 F590 120 MOV P1,A
00CB 1200D9 121 LCALL DELAY
00CE 22 122 RET
00CF 3F065B4F 123 TABLE: DB 3FH,06H,5BH,4FH,66H
00D3 66
A51 MACRO ASSEMBLER ADC1 09/26/2007 10:47:24 PAGE 3
00D4 6D7D077F 124 DB 6DH,7DH,07H,7FH,6FH
00D8 6F
00D9 752834 125 DELAY: MOV 40,#34H
00DC 752919 126 D0: MOV 41,#19H
00DF D529FD 127 D1: DJNZ 41,D1
00E2 D528F7 128 DJNZ 40,D0
00E5 22 129 RET
130
131 END
A51 MACRO ASSEMBLER ADC1 09/26/2007 10:47:24 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ADCON. . . . . . . C ADDR 003BH A
B. . . . . . . . . D ADDR 00F0H A
BP1. . . . . . . . C ADDR 0063H A
BP2. . . . . . . . C ADDR 0082H A
D0 . . . . . . . . C ADDR 00DCH A
D1 . . . . . . . . C ADDR 00DFH A
DELAY. . . . . . . C ADDR 00D9H A
DISPLAY. . . . . . C ADDR 0091H A
DLY. . . . . . . . C ADDR 0043H A
HE . . . . . . . . C ADDR 0045H A
HEXTBCD. . . . . . C ADDR 004DH A
LOOP . . . . . . . C ADDR 0033H A
MAIN . . . . . . . C ADDR 0030H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . D ADDR 00B0H A
TABLE. . . . . . . C ADDR 00CFH A
TEMPHIGH . . . . . N NUMB 0035H A
TEMPLOW. . . . . . N NUMB 0034H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -