?? adcconv.lst
字號:
ADCCONV PAGE 1
1 ;======================================================================
2 ;
3 ; Author : ADI - Apps
4 ;
5 ; Date : Sept. 1999
6 ;
7 ; File : adcconv.asm
8 ;
9 ; Hardware : ADuC824
10 ;
11 ; Description : example routine to continuosuly trigger
12 ; a single conversion on the ADC main channel
13 ; The Conversion result is written to external memory,
14 ; P3.4 is toggled 5 times at 100ms delay
15 ; The ADC result is written to external memory
16 ; P3.4 is toggled 5 times at 500ms
17 ; and the sequence repeats itself.
18 ;
19 ;======================================================================
20 ;
21 $MOD824 ; Use 8052 predefined Symbols
22
0000 23 FLAG EQU 00H ; Define Bit
24
25
---- 26 CSEG ; Defines the following as a segment of code
27
0000 28 ORG 0000H ; Load Code at '0'
29
0000 020060 30 JMP START ; Jump to START
31 ;
32 ;======================================================================
33 ;
0033 34 ORG 0033H ; Read ADC Result H/M/L to external Memory
35
36 ; 10 flashes at 100ms
0033 7401 37 MOV A,#01H ; 100msec delay
0035 7B0A 38 MOV R3,#0Ah ; loop=5
0037 B2B4 39 TIC1: CPL P3.4 ; Toggle LED
0039 120079 40 CALL DELAY ; Delay 100mSec
003C DBF9 41 DJNZ R3,TIC1 ; Dec loop
42
003E 900000 43 MOV DPTR, #00H ; DPTR=00
0041 E5D9 44 MOV A,ADC0L ; read ADC low byte
0043 F0 45 MOVX @DPTR,A ; write low byte to ext memory
0044 A3 46 INC DPTR ; DPTR=01
0045 E5DA 47 MOV A,ADC0M ; read ADC Middle byte
0047 F0 48 MOVX @DPTR,A ; write Middle byte to ext memory
0048 A3 49 INC DPTR ; DPTR=02
0049 E5DB 50 MOV A,ADC0H ; read ADC High byte
004B F0 51 MOVX @DPTR,A ; write low High byte to ext memory
004C A3 52 INC DPTR
53
54 ; 5 flashes at 500ms
004D 7405 55 MOV A,#05H ; 500msec delay
004F 7B0A 56 MOV R3,#0Ah ; loop=10
0051 B2B4 57 TIC2: CPL P3.4 ; Toggle LED
0053 120079 58 CALL Delay ; Delay 100mSec
ADCCONV PAGE 2
0056 DBF9 59 DJNZ R3,TIC2 ; Dec loop
60 ;
0058 D200 61 SETB Flag ; Set Flag
62
005A 32 63 RETI ; Return from Interrupt
64 ;
65 ;======================================================================
66 ;
0060 67 ORG 0060H
0060 68 START:
69 ; Configure Interrupt System
0060 D288 70 SETB IT0 ; CONFIG EXTERNAL INTERRUPT Falling Edge
0062 D2AF 71 SETB EA ; Enable Global Interrupts
72
73 ; Configure ADC
0064 75D120 74 MOV ADCMODE,#20H ; ENABLE MAIN ADC; Mode- Power down
0067 75D240 75 MOV ADC0CON,#40H ; 24 BITS
76 ; USE EXTERNAL REFERENCE
77 ; AIN1-AIN2
78 ; BIPOLAR MODE
79 ; RANGE = +/-20mV
006A D2AE 80 SETB EADC ; ENABLE ADC INTERRUPT
81
82 ; Looped single conversions
006C C200 83 CONV: CLR FLAG ; Initial condition for FLAG variable
006E 75D122 84 MOV ADCMODE,#22H ; INITIATE A MAIN ADC SINGLE CONVERSION
0071 120079 85 CALL DELAY ; Jump to subroutine DELAY
0074 3000FD 86 JNB FLAG,$ ; Stay here until FLAG=1 i.e. wait for ADC Int.
0077 80F3 87 JMP CONV ; Next ADC Conversion
88 ;
89 ;======================================================================
90 ;
91
0079 92 DELAY: ; Delays by A*100ms (default Core Clk =1.57MHz)
0079 F8 93 MOV R0,A ; Acc holds delay variable
007A 79FE 94 DLY0: MOV R1,#0FEh ; Set up delay loop0
007C 7A19 95 DLY1: MOV R2,#019h ; Set up delay loop1
007E DAFE 96 DJNZ R2,$ ; Dec R2 & Jump here until R2 is 0
0080 D9FA 97 DJNZ R1,DLY1 ; Dec R1 & Jump DLY1 until R1 is 0
0082 D8F6 98 DJNZ R0,DLY0 ; Dec R0 & Jump DLY0 until R0 is 0
0084 22 99 RET ; Return from subroutine
100 ;
101 END
102
103
104
VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND
ADCCONV PAGE 3
ADC0CON. . . . . . . . . . . . . D ADDR 00D2H PREDEFINED
ADC0H. . . . . . . . . . . . . . D ADDR 00DBH PREDEFINED
ADC0L. . . . . . . . . . . . . . D ADDR 00D9H PREDEFINED
ADC0M. . . . . . . . . . . . . . D ADDR 00DAH PREDEFINED
ADCMODE. . . . . . . . . . . . . D ADDR 00D1H PREDEFINED
CONV . . . . . . . . . . . . . . C ADDR 006CH
DELAY. . . . . . . . . . . . . . C ADDR 0079H
DLY0 . . . . . . . . . . . . . . C ADDR 007AH
DLY1 . . . . . . . . . . . . . . C ADDR 007CH
EA . . . . . . . . . . . . . . . B ADDR 00AFH PREDEFINED
EADC . . . . . . . . . . . . . . B ADDR 00AEH PREDEFINED
FLAG . . . . . . . . . . . . . . NUMB 0000H
IT0. . . . . . . . . . . . . . . B ADDR 0088H PREDEFINED
P3 . . . . . . . . . . . . . . . D ADDR 00B0H PREDEFINED
START. . . . . . . . . . . . . . C ADDR 0060H
TIC1 . . . . . . . . . . . . . . C ADDR 0037H
TIC2 . . . . . . . . . . . . . . C ADDR 0051H
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -