⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adccont.lst

📁 于ADuC812的智能无功补偿控制器的研制 一种眼科B型超声诊断议 SL11R单片机外部存储器扩展 单片机复位电路...支持键盘双击事件的C程序设计! 一些源程序 FrankLin C51 库函数的一
💻 LST
字号:
ADCCONT                                                                                                       PAGE 1

                       1    ;********************************************************************
                       2    ;
                       3    ; Author        : ADI - Apps            www.analog.com/MicroConverter
                       4    ;
                       5    ; Date          : April 2002
                       6    ;
                       7    ; File          : ADCcont.asm
                       8    ;
                       9    ; Hardware      : ADuC814
                      10    ;
                      11    ; Description   : Performs ADC conversions in continuous mode at a
                      12    ;                 rate of 30.840KSPS (assuming an 2.097152 Mclk).
                      13    ;                 Outputs ADC results into a buffer in ram.Continuously
                      14    ;                 flashes LED.
                      15    ;                 All rate calculations assume an 2.097152MHz Mclk.
                      16    ;               
                      17    ;********************************************************************
                      18    
                      19    $MOD814                         ; Use 8052&ADuC812 predefined symbols
                      20    
  00B3                21    LED     EQU     P3.3            ; P3.3 drives red LED on eval board
  0000                22    CHAN    EQU     0               ; convert this ADC input channel..
                      23                                    ; ..chan values can be 0 thru 8
                      24    
                      25    
----                  26    DSEG 
0030                  27    ORG 0030H
  0028                28    LENGTH EQU 40
0030                  29    BUFFER: DS LENGTH                ; set up buffer in RAM
                      30    
                      31    ;____________________________________________________________________
                      32                                                      ; BEGINNING OF CODE
----                  33    CSEG
                      34    
0000                  35    ORG 0000h
                      36    
0000 02004B           37            JMP     MAIN            ; jump to main program
                      38    ;____________________________________________________________________
                      39                                                 ; INTERRUPT VECTOR SPACE
0033                  40    ORG 0033H ; (ADC ISR)
0033 B85803           41                    CJNE    R0,#58H,CONT
0036 02003F           42                    JMP     EXIT
0039 A6DA             43    CONT:           MOV     @R0,ADCDATAH
003B 08               44                    INC     R0
003C A6D9             45                    MOV     @R0,ADCDATAL            
003E 08               46                    INC     R0
003F 32               47    EXIT:           RETI
                      48    
                      49    ;====================================================================
                      50                                                           ; MAIN PROGRAM
004B                  51    ORG 004Bh
                      52    
004B                  53    MAIN:
                      54    
                      55    ; PRECONFIGURE...
                      56    
004B 75EF80           57            MOV     ADCCON1,#080h   ; power up ADC /32 clk cycle + 16 cycles for conversion + 1 
                                                                               acq cycle  
ADCCONT                                                                                                       PAGE 2

004E 75D800           58            MOV     ADCCON2,#CHAN   ; select channel to convert
                      59    
                      60    ; LAUNCH CONTINUOUS CONVERSIONS...
0051 7830             61            MOV     R0,#BUFFER
0053 D2AF             62            SETB    EA              ; enable interrupts
0055 D2AE             63            SETB    EADC            ; enable ADC interrupt
0057 D2DD             64            SETB    CCONV           ; begin continuous conversions
                      65    
                      66    ; CONTINUE WITH OTHER CODE...
0059 7401             67            MOV     A,#1            ; delay length
005B B2B3             68    AGAIN:  CPL     LED             ; blink (complement) the LED
005D 120062           69            CALL    DELAY           ; delay
0060 80F9             70            JMP     AGAIN           ; repeat
                      71    
                      72    ; the micro is free to continue with other tasks (flashing the LED in
                      73    ; this case) while the ADC is continuously converting, and results
                      74    ; are being handled by the ADC interrupt service routine.
                      75    
                      76    ;____________________________________________________________________
                      77                                                             ; SUBROUTINE
0062                  78    DELAY:                                  ; Delays by 100ms * A
                      79                                            ; 100mSec based on 2.097152MHZ 
                      80                                            ; Core Clock 
                      81                                            ; i.e. default ADuC814 Clock
                      82    
0062 F9               83                    MOV     R1,A            ; Acc holds delay variable
0063 7A22             84     DLY0:          MOV     R2,#022h        ; Set up delay loop0
0065 7BFF             85     DLY1:          MOV     R3,#0FFh        ; Set up delay loop1
0067 DBFE             86                    DJNZ    R3,$            ; Dec R3 & Jump here until R3 is 0
0069 DAFA             87                    DJNZ    R2,DLY1         ; Dec R2 & Jump DLY1 until R2 is 0
006B D9F6             88                    DJNZ    R1,DLY0         ; Dec R1 & Jump DLY0 until R1 is 0
006D 22               89                    RET                     ; Return from subroutine
                      90    
                      91    ;____________________________________________________________________
                      92    
                      93                                                
                      94    END

VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND
ADCCONT                                                                                                       PAGE 3

ADCCON1. . . . . . . . . . . . .  D ADDR  00EFH  PREDEFINED  
ADCCON2. . . . . . . . . . . . .  D ADDR  00D8H  PREDEFINED  
ADCDATAH . . . . . . . . . . . .  D ADDR  00DAH  PREDEFINED  
ADCDATAL . . . . . . . . . . . .  D ADDR  00D9H  PREDEFINED  
AGAIN. . . . . . . . . . . . . .  C ADDR  005BH  
BUFFER . . . . . . . . . . . . .  D ADDR  0030H  
CCONV. . . . . . . . . . . . . .  B ADDR  00DDH  PREDEFINED  
CHAN . . . . . . . . . . . . . .    NUMB  0000H  
CONT . . . . . . . . . . . . . .  C ADDR  0039H  
DELAY. . . . . . . . . . . . . .  C ADDR  0062H  
DLY0 . . . . . . . . . . . . . .  C ADDR  0063H  
DLY1 . . . . . . . . . . . . . .  C ADDR  0065H  
EA . . . . . . . . . . . . . . .  B ADDR  00AFH  PREDEFINED  
EADC . . . . . . . . . . . . . .  B ADDR  00AEH  PREDEFINED  
EXIT . . . . . . . . . . . . . .  C ADDR  003FH  
LED. . . . . . . . . . . . . . .    NUMB  00B3H  
LENGTH . . . . . . . . . . . . .    NUMB  0028H  
MAIN . . . . . . . . . . . . . .  C ADDR  004BH  
P3 . . . . . . . . . . . . . . .  D ADDR  00B0H  PREDEFINED  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -