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

📄 adccont.lst

📁 aduc812精典源代码下载,适合初学者
💻 LST
字号:
ADCCONT                                                                                                       PAGE 1

                       1    ;********************************************************************
                       2    ;
                       3    ; Author        : ADI - Apps            www.analog.com/MicroConverter
                       4    ;
                       5    ; Date          : 28 May 1999
                       6    ;
                       7    ; File          : ADCcont.asm
                       8    ;
                       9    ; Hardware      : ADuC812
                      10    ;
                      11    ; Description   : Performs ADC conversions in continuous mode at a
                      12    ;                 rate of 69.12KSPS (assuming an 11.0592MHz Mclk).
                      13    ;                 Outputs ADC results on P0 & P2.  Continuously
                      14    ;                 flashes LED (independently of ADC routine) at
                      15    ;                 approximately 5Hz.
                      16    ;                 All rate calculations assume an 11.0592MHz Mclk.
                      17    ;               
                      18    ;********************************************************************
                      19    
                      20    $MOD812                         ; Use 8052&ADuC812 predefined symbols
                      21    
  00B4                22    LED     EQU     P3.4            ; P3.4 drives red LED on eval board
  0000                23    CHAN    EQU     0               ; convert this ADC input channel..
                      24                                    ; ..chan values can be 0 thru 8
                      25    ;____________________________________________________________________
                      26                                                      ; BEGINNING OF CODE
----                  27    CSEG
                      28    
0000                  29    ORG 0000h
                      30    
0000 02004B           31            JMP     MAIN            ; jump to main program
                      32    ;____________________________________________________________________
                      33                                                 ; INTERRUPT VECTOR SPACE
0033                  34    ORG 0033H ; (ADC ISR)
                      35    
0033 85D980           36            MOV     P0,ADCDATAL     ; ADC result low byte to Port0  
0036 85DAA0           37            MOV     P2,ADCDATAH     ; high nibble and channel ID to Port2
0039 32               38            RETI
                      39    
                      40    ;====================================================================
                      41                                                           ; MAIN PROGRAM
004B                  42    ORG 004Bh
                      43    
004B                  44    MAIN:
                      45    
                      46    ; PRECONFIGURE...
                      47    
004B 75EF7C           48            MOV     ADCCON1,#07Ch   ; power up ADC, 14.5us conv+acq time
004E 75D800           49            MOV     ADCCON2,#CHAN   ; select channel to convert
                      50    
                      51    ; LAUNCH CONTINUOUS CONVERSIONS...
                      52    
0051 D2AF             53            SETB    EA              ; enable interrupts
0053 D2AE             54            SETB    EADC            ; enable ADC interrupt
0055 D2DD             55            SETB    CCONV           ; begin continuous conversions
                      56    
                      57    ; CONTINUE WITH OTHER CODE...
                      58    
ADCCONT                                                                                                       PAGE 2

0057 B2B4             59    AGAIN:  CPL     LED             ; blink (complement) the LED
0059 12005E           60            CALL    DELAY           ; delay 100ms
005C 80F9             61            JMP     AGAIN           ; repeat
                      62    
                      63    ; the micro is free to continue with other tasks (flashing the LED in
                      64    ; this case) while the ADC is continuously converting, and results
                      65    ; are being handled by the ADC interrupt service routine.
                      66    
                      67    ;____________________________________________________________________
                      68                                                             ; SUBROUTINE
                      69    
005E                  70    DELAY:                          ; delay 100ms
                      71    
005E 7FC8             72            MOV     R7,#200         ; 200 * 500us = 100ms
0060 7EE5             73    DLY1:   MOV     R6,#229         ; 229 * 2.17us = 500us
0062 DEFE             74            DJNZ    R6,$            ; sit here for 500us
0064 DFFA             75            DJNZ    R7,DLY1         ; repeat 200 times (100ms total)
0066 22               76            RET
                      77    
                      78    ;____________________________________________________________________
                      79                                                
                      80    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  0057H  
CCONV. . . . . . . . . . . . . .  B ADDR  00DDH  PREDEFINED  
CHAN . . . . . . . . . . . . . .    NUMB  0000H  
DELAY. . . . . . . . . . . . . .  C ADDR  005EH  
DLY1 . . . . . . . . . . . . . .  C ADDR  0060H  
EA . . . . . . . . . . . . . . .  B ADDR  00AFH  PREDEFINED  
EADC . . . . . . . . . . . . . .  B ADDR  00AEH  PREDEFINED  
LED. . . . . . . . . . . . . . .    NUMB  00B4H  
MAIN . . . . . . . . . . . . . .  C ADDR  004BH  
P0 . . . . . . . . . . . . . . .  D ADDR  0080H  PREDEFINED  
P2 . . . . . . . . . . . . . . .  D ADDR  00A0H  PREDEFINED  
P3 . . . . . . . . . . . . . . .  D ADDR  00B0H  PREDEFINED  

⌨️ 快捷键说明

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